UVM 详细程度覆盖
有没有办法覆盖任何已给出的详细程度开关并强制 UVM 中的详细程度为不同的值?
+uvm_set_verbosity=*abc*,_ALL_,UVM_FULL,run
+uvm_set_verbosity=*aes*,_ALL_,UVM_FULL,run
+uvm_set_verbosity=*sel*,_ALL_,UVM_FULL,run
+uvm_set_verbosity=*init*,_ALL_,UVM_FULL,run
例如,如果 cmdline 有这些开关,那么在不删除单个开关的情况下消除所有这些高冗长的内容的最简单方法是什么?
Is there a way to override any verbosity switches that have been given and force verbosity to a different value in UVM?
+uvm_set_verbosity=*abc*,_ALL_,UVM_FULL,run
+uvm_set_verbosity=*aes*,_ALL_,UVM_FULL,run
+uvm_set_verbosity=*sel*,_ALL_,UVM_FULL,run
+uvm_set_verbosity=*init*,_ALL_,UVM_FULL,run
For example if cmdline has these switches, what is the easiest way to quiet all these high verbosity without removing individual switches?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

在 UVM 的源代码中查找,我在
uvm_component
中找到了set_report_verbosity_level_hier
函数。您可以在uvm_root
上调用它,并将其(非常不加区别地)设置为您喜欢的任何低值。如果您只想对某些
id
执行此操作,您应该可以使用set_report_id_verbosity_hier
来执行此操作。请注意,我只是在一个愚蠢的测试平台中测试了上面的代码片段,甚至没有进行测试,因此它可能在实际设置中存在问题。如果您的组件有更复杂的详细程度设置,则需要在每次应用它们时覆盖它们,或者直接使用
m_verbosity_settings
。Hunting around in the source code of UVM I found the
set_report_verbosity_level_hier
function inuvm_component
. You could call that onuvm_root
and set it (quite indiscriminately) to whatever low value you fancy.If you want to do that only for some
id
s you should be able to do that withset_report_id_verbosity_hier
.Notice I just tested the snippet above in a dumb testbench without even a test, so it might have problems with a real-world setup. If you have a more complex phasing of verbosity settings for your components you will need to override them each time they are applied, or toy with
m_verbosity_settings
directly.