如何通过type_id过滤uvm_info消息?

问题描述

我需要通过其中定义的 type_id 过滤所有 uvm_info 日志消息。例如,如果我只想显示来自驱动程序或监视器的 uvm_info 消息,我该如何有效地做到这一点?

解决方法

UVM 没有提供很容易做到这一点的机制。您必须从顶层向下将所​​有内容的详细程度设置为 UVM_NONE,然后返回并仅打开来自驱动程序和监视器的消息。

除非您提供特定的组件名称,例如以“drv”和“mon”开头,否则查找所有驱动程序和监视器也可能很困难。然后您可以使用 uvm_root::find_all("drv*",comps); 并将 comps 中这些组件的详细程度设置回 UVM_FULL

使用 (sed/awk/perl/python) 脚本获取整个日志文件并过滤您想要的结果可能更容易

,

自定义报告捕捉器怎么样?

https://verificationacademy.com/verification-methodology-reference/uvm/docs_1.1d/html/files/base/uvm_report_catcher-svh.html

你可以把它放在你的基础测试或顶部,然后使用 plusarg 控制它。一个基本的例子在这里:

https://edaplayground.com/x/b4Fx