我想知道是否有办法重新初始化 randc 变量。我正在尝试设置几个寄存器,但需要确保它们可以按任意顺序设置。该对象可能会被重新随机化(类中还有一些其他随机值),然后该函数可能会再次被调用。我的代码看起来像这样:
typedef enum bit[N:0] { REG1, REG2, REG3, REG4, ... } reg_order_e;
local randc reg_order_e reg_order;
function void set_regs();
repeat( reg_order.num() ) begin
case( reg_order )
REG1: set_reg1();
REG2: set_reg2();
REG3: set_reg3();
REG4: set_reg4();
endcase
assert(randomize( reg_order ));
end
endfunction : set_regs
或者,有没有办法在变量上调用 std::randomize() 以使其成为 randc?谢谢,-蒂姆