当在对象上调用“randomize() with”方法时,Local指的是调用本地的类属性和变量。
如果在类中和调用 randomize() 的范围内都声明了一个变量,则需要区分两者,如下例所示:
class C; rand integer x; endclass function int F(C obj, integer x); F = obj.randomize( ) with { x < local::x; }; endfunction
在这个例子中,第一个“x”绑定到类 C 中的变量“x”,而 local::x 绑定到函数 F 的输入。