local::只表示“域”,并不指代某个句柄,所以也可以用 local::this 表示调用randomize()函数的对象句柄。
在使用内嵌约束randomize()with {CONSTRAINT}时,在约束体{CONSTRAINT}中的变量名的查找顺序默认是从被随机化对象开始查找。如果调用randomize()函数局部域中也有同名变量,那就需要使用local::来显式声明该变量来源于外部函数,而非被随机化的对象。
如下代码解释:
class mcdf
int [31:0] data = 'h0;
Transaction t,h;
//带参数传递
virtual task write_reg(bit[7