我想知道我是否可以简单地写:
time time_var;
time_var = $urandom_range (10ms, 7ms);
我已尝试直接使用它,没有发出错误/警告。 但是返回值不在7-10ms之间。 我认为使用$ urandom_range和时间文字是合法的(因为我没有收到任何错误)但是为什么我不能在适当的范围内获得价值?
答案 0 :(得分:2)
IEEE Std(1800-2009)声明$urandom_range
的参数类型为int unsigned
,与time
不同。即使您没有从模拟器中收到错误或警告,我也不认为您可以依赖系统功能来预测行为。
这是VCS中的编译错误和Incisive的警告。
你能用这样的东西吗?
int unsigned del = $urandom_range(10, 7);
#(1ms * del);