系统Verilog中随机数发生器的现状

时间:2013-05-14 12:48:02

标签: verilog verification register-transfer-level system-verilog

我们如何在系统verilog中获取随机数生成器的当前状态或当前种子?

1 个答案:

答案 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 ;