我和一个人合作了一个SystemVerilog项目。然而,我已经习惯了使用Synopsys模拟器,他也习惯于使用卡丹斯精辟的irun。
一个测试平台模块使用随机数生成测试输入模式到顶层设计模块。因此,我设计了一个生成随机数的类:
class RandData;
rand logic [3:0] randIn;
function new(int seed);
this.srandom(seed);
endfunction
endclass我可以用种子实例化类RandData,并在模拟中得到一个固定的随机数序列。然而,即使在两个模拟器中使用相同的种子,VCS得到的固定随机数序列也不同于irun的固定序列。
不幸的是,顶层设计模块的黄金输出模式依赖于测试输入模式。因此,如果用VCS生成的输入模式生成黄金输出模式,则黄金输出模式将是与irun模拟的顶级设计输出不匹配的。
因此,如何使VCS和irun模拟器生成重复的随机数序列?
发布于 2017-07-31 02:58:33
您不应该使用带有随机刺激的黄金输出文件;您需要一个自我检查测试平台。对设计或testbench的任何更改都可能使以前的黄金输出失效。
https://stackoverflow.com/questions/45401071
复制相似问题