"Initial" 块在哪个阶段执行?
In which phase "Initial" blocks are executed?
我有一个接口信号,我在顶层模块的 initial
块中对其进行了初始化。
在测试中,我想通过 randomize()
的方式随机化它的值。但是这个问题我不知道应该在哪个阶段调用随机化函数。
在 build()
阶段调用 randomize()
是否正确?
谢谢,
假设您从模块中的 initial
块调用 uvm_pkg::run_test()
,run_test()
将在增量延迟后启动所有 UVM 阶段。这意味着所有其他 initial
块都有机会在任何 UVM 阶段开始之前执行。
UVM 建议您在 start_of_simulation() 阶段或更晚之前不要驱动任何信号。
我有一个接口信号,我在顶层模块的 initial
块中对其进行了初始化。
在测试中,我想通过 randomize()
的方式随机化它的值。但是这个问题我不知道应该在哪个阶段调用随机化函数。
在 build()
阶段调用 randomize()
是否正确?
谢谢,
假设您从模块中的 initial
块调用 uvm_pkg::run_test()
,run_test()
将在增量延迟后启动所有 UVM 阶段。这意味着所有其他 initial
块都有机会在任何 UVM 阶段开始之前执行。
UVM 建议您在 start_of_simulation() 阶段或更晚之前不要驱动任何信号。