|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 Ka2ken 于 2022-8-31 18:05 编辑
如果我有一个item类,在uvm_object_utils中使用if对个变量进行可选择的注册,如下:
=======================================================
class item_ggg extends uvm_sequece_item;
rand bit a;
rand bit b;
rand bit c;
rand bit d;
rand bit ctrl1;
rand bit ctrl2;
`uvm_object_utils_begin(item_ggg)
`uvm_field_int(a, UVM_ALL_ON)
if(ctrl1)begin
`uvm_field_int(b, UVM_ALL_ON)
`uvm_field_int(c, UVM_ALL_ON)
end
if(ctrl2)begin
`uvm_field_int(d, UVM_ALL_ON)
end
...........
=======================================================
问题1:field在何时注册?new以后还是随机化以后?
问题2:field注册是动态多次注册的嘛,还是只注册一次。我随机化时使用randomize () with {ctrl1 = 1;ctrl2 = 0}以后可以再次 随机ctrl2 = 1 去注册变量d吗或者说 ctrl1 = 0去取消bc的注册?
提前感谢大佬们
|
|