System verilog 放弃反对未能放弃反对

System verilog 放弃反对未能放弃反对,system-verilog,uvm,System Verilog,Uvm,我有一个简单的主_阶段,如下所示: virtual task main_phase(uvm_phase phase); super.main_phase(phase); phase.raise_objection( this ); #2us; phase.drop_objection( this ); endtask : main_phase 此测试将超时,但如果我注释掉raise_objective和drop_objective,则测试将正确完成,而不会执行2us 根据调试,drop

我有一个简单的主_阶段,如下所示:

virtual task main_phase(uvm_phase phase);
 super.main_phase(phase);
 phase.raise_objection( this );
 #2us;
 phase.drop_objection( this );
endtask : main_phase
此测试将超时,但如果我注释掉raise_objective和drop_objective,则测试将正确完成,而不会执行2us

根据调试,drop_异议似乎不会触发m_事件[]。所有需要阶段完成的_都已删除。 原因是在侧面m_evens uvm_根对象中,但drop_对象尝试测试对象,所以它未匹配

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

谢谢你的建议。 这就是问题所在。最近有人增加了一个基本测试漏极时间。我的测试非常短,所以我在命令行中添加了短超时。我希望生成的错误更具描述性。我通过运行小测试发现了这一点,在UVM阶段执行的最后一件事是预期的耗尽时间。 Albert,

您需要构造一个。我将您的代码添加到我的一个简单测试台上,它运行良好-测试在2us停止;若要查看是否有任何已提出但未放弃的未决异议。若只注释掉raise_objection怎么办?将+UVM_objection_TRACE作为运行时参数添加到模拟中