uvm_info 是调试利器,但也可能是日志洪水
在 UVM 验证环境中,uvm_info 是我们最常用的调试工具。它可以在仿真的任意时刻打印出我们关心的变量、状态或流程信息,帮助我们追踪事务、定位问题。几乎每个验证工程师的代码里都充满了 uvm_info,少则几十条,多则上百条。然而,当仿真运行起来,如果这些信息不加控制地全部输出,日志文件可能迅速膨胀到数百 MB,不仅拖慢仿真速度,更让真正有用的错误信息淹没在无关紧要的文本中。
重点:uvm_info 是一把双刃剑,用得好可以快速定位问题,用不好就是一场日志灾难。掌握它的 verbosity 机制和最佳实践,是每个验证工程师的必修课。
verbosity 阈值与消息过滤
uvm_info 宏的基本语法
`uvm_info(ID, MSG, VERBOSITY)
- ID:消息标识符,通常是一个字符串,用于分类和过滤。例如
"DRV"、"MON"、"SB"。 - MSG:消息内容,通常使用
$sformatf构造动态字符串。 - VERBOSITY:冗余度级别,决定该消息在什么阈值下才会被打印。
六级 verbosity 及其含义
UVM 定义了六个冗余度级别,从低到高依次为:
UVM_NONE


3万+

被折叠的 条评论
为什么被折叠?



