与phase的调试一样,UVM同样提供了命令行参数来进行objection的调试:
<sim command> +UVM_OBJECTION_TRACE
当加入了上述的命令行参数后的部分输出如下:
# UV_INFO @ 0: main_objection [OBJIN_TRC] Object uvm_test_top.env.i_agt.sqr.case0_sequence raised 1 objection(s): count=1 total=1
# UV_INFO @ 10000: main_objection [OBJIN_TRC] Object uvm_test_top.env.i_agt.sqr.case0_sequence dropped 1 objection(s): count=1 total=1
在调用raise_objection时,count=1表示此次只提起了这一个objection。UVM采用的是树形结构来管理所有的objection。当有一个objection被提起后,会检查从当前component一直到最顶层的uvm_top的objection的数量。输出结果中的total就是整个验证平台中所有活跃的(被提起且没有被撤销的)objection的数量。
作者:谷公子
首发博客:https://blog.csdn.net/W1Z1Q/article/details/104358385
更多IC设计相关的文章请关注IC设计极术专栏,每日更新。