drop_objection没有放弃异议

时间:2017-01-12 07:38:04

标签: system-verilog uvm

我有简单的main_phase:

virtual task main_phase(uvm_phase phase);
 super.main_phase(phase);
 phase.raise_objection( this );
 #2us;
 phase.drop_objection( this );
endtask : main_phase

此测试将超时,但如果我注释了raise_objection并且drop_objection测试将正确完成,显然不会执行#2us。

基于调试,似乎drop_objection不会触发m_events []。all_dropped,这需要完成阶段。 原因在于m_evens uvm_root对象,但是drop_objection trys用于测试对象,因此它未匹配。

有什么建议可能出错吗? 我正在使用UVM-1.2 谢谢,

1 个答案:

答案 0 :(得分:1)

感谢您的建议。 这就是问题所在。最近有人添加了基础测试排水时间。我的测试很短,所以我在命令行添加了很短的时间。我希望生成的错误更具描述性。我通过运行小测试发现了这一点,并且在UVM阶段执行中,最后一件事就是按预期排水时间。 艾伯特,