【发布时间】:2020-12-12 08:20:18
【问题描述】:
如果我想从我的显示器结束模拟(我知道这不是推荐的方式),我该怎么做? 假设我在显示器中得到了这段代码:
Virtual task monitor_run();
fork
forever begin
.....
end
forever begin
.....
end
forever begin
.....
end
join
endtask : monitor_run
每个永远循环检查 DUT 的输出是否准时,以防它们不应该停止仿真。 这个特殊的监视器应该在不匹配(错误)的情况下中断模拟并且没有记分板。 我仍然想管理模拟行为的结束。我尝试使用 raise 和 drop objection,但有时会收到 OBJT_ZERO 错误。有谁知道在这种情况下结束模拟的好方法? 谢谢!
【问题讨论】:
-
是的,但我想通过我的基本测试组件完成测试,以便以有组织的方式打印“测试失败”。我在这台显示器中遇到了一些需要结束测试的情况,所以我不想多次使用 uvm_fatal
标签: system-verilog uvm