我们如何在系统verilog中获取随机数生成器的当前状态或当前种子?
答案 0 :(得分: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 ;