在哪个阶段执行“初始”块?

时间:2018-09-17 13:08:14

标签: system-verilog uvm

我有一个接口信号,该信号在顶层模块的initial块中初始化。 在测试中,我想通过randomize()的平均值来随机化其值。但是我不知道应该在哪个阶段调用随机函数的问题。 在randomize()阶段调用build()是否正确?

谢谢

1 个答案:

答案 0 :(得分:1)

假设您从模块中的uvm_pkg::run_test()块调用initial,则run_test()将在增量延迟之后启动所有UVM阶段。这意味着所有其他initial块都有机会在任何UVM阶段开始之前执行。

UVM建议您在start_of_simulation()阶段或更高版本之前不要驱动任何信号。