3

システム Verilog で乱数ジェネレーターの現在の状態または現在のシードを取得するにはどうすればよいですか??

4

1 に答える 1

3

get_randstate()として定義される を使用します。

function string get_randstate();

SystemVerilog 2012 言語仕様から:

このget_randstate()メソッドは、指定されたオブジェクトに関連付けられた RNG の内部状態のコピーを返します。RNG 状態は、長さと形式が指定されていない文字列です。文字列の長さと内容は実装に依存します。

SystemVerilog はスレッドとオブジェクトごとに個別の RNG を作成するため、オブジェクトが異なれば異なる結果が表示されることに注意してください。

例:

t1 = new;
t2 = new;
$display(t1.get_randstate());
$display(t2.get_randstate());

Incisive からの出力例:

svseed=1 ; 5864a323c57f14c ; 
svseed=1 ; bbfc1b9e8eb663ae ; 
于 2013-05-14T16:31:26.800 に答える