我可以将$ urandom_range与时间变量一起使用

时间:2013-03-21 01:11:36

标签: verilog verification system-verilog

我想知道我是否可以简单地写:

 time time_var;
 time_var = $urandom_range (10ms, 7ms);

我已尝试直接使用它,没有发出错误/警告。 但是返回值不在7-10ms之间。 我认为使用$ urandom_range和时间文字是合法的(因为我没有收到任何错误)但是为什么我不能在适当的范围内获得价值?

1 个答案:

答案 0 :(得分:2)

IEEE Std(1800-2009)声明$urandom_range的参数类型为int unsigned,与time不同。即使您没有从模拟器中收到错误或警告,我也不认为您可以依赖系统功能来预测行为。

这是VCS中的编译错误和Incisive的警告。

你能用这样的东西吗?

int unsigned del = $urandom_range(10, 7);
#(1ms * del);