- 差异参考
- 按模块查阅
- Field Automation / 版本宏
- M09-015
字段自动配置的查询模式与操作位宽
影响范围
定制 field 操作位宽或修改默认自动配置查询模式。
具体差异
前者允许扩展 field flag 位宽;后者决定自动配置的资源查询策略。CONFIG_STRICT 扩大搜索范围,不是未注册成员的自动发现机制,也不是拼写检查开关,见 M01-007。
修改方案
默认注册字段的自动配置可保留。确需扩大资源查询范围时,在相关库编译前定义 +define+UVM_COMPONENT_CONFIG_MODE_DEFAULT=CONFIG_STRICT 并重建,检查实际选中值;该模式不会发现任意未注册成员。自定义操作位使用 UVM_FIELD_FLAG_SIZE 管理位宽并核对保留位,不能把扩大 FLAG 位宽当作恢复旧 FLAG 语义。
兼容措施与范围:现有入口无需兼容开关;这不表示两版行为相同,仍按本条条件和验证方法核对。
迁移后验证
使用实际字段注册和自定义操作,检查选中资源与最终赋值;CONFIG_STRICT 不会自动枚举任意未注册成员。
记录本条结果:M09-015 · 状态与证据。
补充查阅
扫描定位与记录结果
有扫描规则,覆盖部分可识别写法。脚本检查名称、参数和部分 FLAG 表达式,并对少数直接声明关联使用点;未做完整类型解析或预处理,行为结果仍需验证。
- S40 · 启发式:自定义 field 操作位宽或自动配置查询模式。
核对命中对象及生效分支后,在条目清单记录修改与验证证据;扫描规则记录用于整理命中位置。
源码与标准依据
核查方式:源码核对。未单独进行 VCS 行为实测。
VCS 内置 UVM-1.2:无
VCS 内置 uvm-ieee-2020-2.0:uvm_object_defines.svh:146(UVM_FIELD_FLAG_SIZE 默认 = UVM_FIELD_FLAG_RESERVED_BITS);uvm_global_defines.svh:41(UVM_COMPONENT_CONFIG_MODE_DEFAULT 默认 CONFIG_CHECK_NAMES,文件注释注明这是对 1800.2 的 deviation,可 +define+...=CONFIG_STRICT 覆盖)
标准依据:IEEE 1800.2-2020 §B.6.1
标为“源码标注”或未注明原文核对的条款仅作定位;具体库行为以源码和实测为准。
引用代码(高亮为引用行);上方行号链接可直接定位。
完整源码 · SHA256:072baece05e653f6811936de05739a8ff55c02651d89a9278f39cca11372a260
完整源码 · SHA256:94d6c90ed614d104d6a77413d381e41e1c7b1f74136cf0562c9d6b7aa126acb9
相关条目
返回Field Automation / 版本宏 · 迁移清单