微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > 关于UVM局部uvm_set_verbosity的疑问

关于UVM局部uvm_set_verbosity的疑问

时间:10-02 整理:3721RD 点击:

最近需要debug子系统下的某个IP,因此将这个IP的env verbosity设置成了UVM_HIGH(全局默认设置为LOW)。但是最后发现ip env的component对应的uvm high info都能print,但是component下的object只能print low info,
看起来局部的设置对object未起作用。
+uvm_set_verbosity=*ip_module_env*,_ALL_,UVM_HIGH,build,0
component在build phase阶段会new object以及调用object的function做一些设置,主要想看这些配置信息协助debug
各位朋友有遇到过这种情况吗,能否赐教一下,谢谢!

以下的回复 并没有实际验证过,是根据 1800.2-2017上面的描述的 推测的可能,可以自行验证哈;
有可能是他们的 report_handle 不是同一个导致的,一个 testbench 可以由若干个ENV 黏合构成,但是每个env都可以config自己的 verbosity,如果是这样做的 ,那么他们的 report_handle 应该不是同一个;协议中指出可以 使用 set/get_report_handle 来 share report_handle

请问结果如何

感谢回复,我上面提到的component是在一个env里,object是在这个component,这样应该都是在同一个env下,之所以用上面的sim_arg对object不起作用,看起来是object没有hierarchy之说,所以sim_arg的set对其不起作用。
但是全局的UVM_VERBOSITY看起来对comp和object都起作用。暂时还在try其他方法

+uvm_set_verbosity=*ip_module_env*.*...
有试过么?

请问你的意思是说第一个argument换成你说的那样,+uvm_set_verbosity=*ip_module_env*.*...,_ALL_,UVM_HIGH,build,0

了解了,就是*.*,后面还是一样,我去试试估计是一样的效果

还是get不到?你在simv后面再加一个选项 +UVM_CONFIG_DB_TRACE, 把所有set / get动作都打印出来debug吧

这是正解,小编好好读读相关文档吧

文档对 +uvm_set_verbosity难道还有更详细的描述?5楼的朋友让我尝试将comp这项argument由我原先的*env*改成*env*.*
但事实上两种通配符表达方式都是一样的效果,我也已经尝试过。
看起来+uvm_set_verbosity只会对component起作用,看源码应该是遍历comp下的所有层次,但是component里的object是没有层次概念的(没有所谓的top.compA.objectB这样的层次)
不知上述理解是否有误,另外也请教一下是否还有其他方法,谢谢



感谢,最终还是用您的思路解决了,share component和object 的uvm_report_handler 。看起来不仅仅是不同的env在同一个env下的component和objet也存在 report setting不能share的情况!

以前看的,有点忘了,印象中component的report handle与object是不一样的,component的是自身的,而object的用的是uvm_root handle,因此使用hier level进行set对于object是不成功的

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top