降龙十八掌 system verilog( 二 )


第三式:给函数传递参数和函数返回
第1个点:函数返回,task是不能声明类型的,只有允许声明类型,如下图所示 。
第2个点就是:

降龙十八掌  system verilog

文章插图
或task里面参数的方向如果没有显示声明的话,就是input;如果第一个参数指明方向是,而后面的参数没有指明方向的话,也会是,沿用前面的方向属性;const ref 这个特性也会被后面的参数沿用,如果后面的参数没有指明方向属性的话,正确方式如下图;
第3点:函数返回可以用提前结束函数的执行;参数类型可以直接用;(外面声明一下,传给函数处理,再引用这个参数时,是已经处理后的值了)
第四式:随机化
【降龙十八掌system verilog】1、调用可以只随机部分变量;
2、多个随机约束冲突后,工具不会进行随机化,此时给出的值一般都是0;
解决方案1:关闭部分约束或调整约束;(xx.(0):参考绿皮书P157,例子6.38)
3、在约束里面使用
4、随机化二维数组
上面截图来自iEEE手册