- 差异参考
- 按模块查阅
- Reporting / 命令行
- M04-003
非 INFO 消息不再做 verbosity 过滤
影响范围
依赖 verbosity 隐藏非 INFO 报告。
具体差异
直调高 verbosity 的 WARNING 在 1.2 可能被滤掉,2.0 的预检只处理调用入口为 UVM_INFO 的情况。severity override 位于后续处理链路,降级成 INFO 不会重新执行此处过滤;interface_probe 中高 verbosity warning 降级后在 2.0 仍进入 catcher。最终输出还取决于 catcher、action 和自定义 server,不能表述为必发。 uvm_sequence_item::uvm_report 的入口预检同样只对 UVM_INFO 生效;省略 verbosity 的默认值变化见 M04-002。
修改方案
若有用 verbosity 压制 WARNING 的用法,改为明确的 action 或经过验证的 catcher 策略;仅 severity override 为 INFO 不会恢复入口处的过滤。
兼容措施与范围:现有入口无需兼容开关;这不表示两版行为相同,仍按本条条件和验证方法核对。
迁移后验证
分别发出 INFO/WARNING/ERROR 并改变 verbosity;若必须改变 action,按 severity/ID 明确设置并验证错误判定仍符合意图。
记录本条结果:M04-003 · 状态与证据。
已有实测与复现
补充查阅
扫描定位与记录结果
有扫描规则,覆盖部分可识别写法。脚本检查名称、参数和部分 FLAG 表达式,并对少数直接声明关联使用点;未做完整类型解析或预处理,行为结果仍需验证。
- S30 · 启发式:warning/error/fatal 报告的 verbosity 过滤变化。 覆盖 warning/error/fatal wrapper 和直接 uvm_report,按位置或命名参数核对 severity/verbosity/入口检查开关。排除已知 INFO、普通默认 fatal、显式 UVM_NONE/0;动态 severity 保留提示。负阈值等定制过滤需另查。
核对命中对象及生效分支后,在条目清单记录修改与验证证据;扫描规则记录用于整理命中位置。
源码与标准依据
核查方式:源码与实测核对。实测仅覆盖本条所列场景。
VCS 内置 UVM-1.2:uvm_report_object.svh:144(if (report_enabled_checked == 0) 对全 severity 检查)
VCS 内置 uvm-ieee-2020-2.0:uvm_report_object.svh:159(if ((severity == UVM_INFO) && ...))
标准依据:IEEE 1800.2-2020 §6.3.3("Verbosity is ignored for warnings, errors, and fatals")
标为“源码标注”或未注明原文核对的条款仅作定位;具体库行为以源码和实测为准。
引用代码(高亮为引用行);上方行号链接可直接定位。
完整源码 · SHA256:f1747ee064c286b2c0f18d6e71b096890360ed9cb71ce494c1e07d007ec35f6a
完整源码 · SHA256:f0e97820abcfcc86b64800110f8059734479f0c1a259ad04414c9af6708d98fa
相关条目
uvm_report_warning/uvm_report_error 默认 verbosity 改为 UVM_NONE(M04-002)