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 にする方法はありますか? ありがとう - ティム