跳转至

输入查询内容

    本页内容

    迁移清单

    状态保存在当前浏览器。不适用请注明原因;待验证表示已修改或已确定处理方案;已验证应附测试结果或证据位置。勾选框等同于“已验证”。导出后可在其他浏览器导入,导入会替换当前清单记录。

    按 UVM-1.2 用户接口的变化执行与记录迁移。 每项通过稳定条目 ID 关联具体改法、适用条件和验证证据。 修订日期:2026-09-15 | 目标版本:VCS W-2024.09-SP2-8 内置 uvm-ieee-2020-2.0

    0. 使用说明

    按以下两阶段执行:

    • 阶段 1(跑通且结果可信):完成编译改造和关键静默失效点核销,再对齐回归。按实际依赖使用 deprecated、legacy field 开关或 compat 包,也可直接改写。
    • 阶段 2(收敛兼容依赖):逐步消除实际使用的 deprecated、legacy field 或 compat 依赖;主库保留且行为符合需求的接口可继续使用,无需仅为改名替换。阶段 1 不得以“仿真零报错”替代激励、检查器和结果有效性验证。

    HTML 为每个用户接口主条目提供独立状态与证据。原 C/S/D 规则和步骤继续保存;一条规则关联多个差异时,各差异仍分别核销。旧版导入记录恢复到原规则或步骤,不自动将关联条目标记为已验证。

    扫描器tools/uvm_migration_scan.py,与同目录的 uvm_migration_scan.yaml 配套,自动读取团队配置;需要 uv 和 PyYAML(仓库已固定依赖):

    1
    2
    3
    4
    # 不提供 path:扫描 YAML 的 check_path(模板为 /project/tb)
    uv run tools/uvm_migration_scan.py
    # 提供相对 path:只扫描 check_path 下的 env/
    uv run tools/uvm_migration_scan.py env/
    

    扫描不需要加载 EDA 环境。默认保存 JSON、CSV 及扫描范围摘要;上例在 YAML 的 output_dir 下生成 migration-report.jsonmigration-report.csvmigration-report.summary.json。默认不按文件后缀过滤,团队统一维护的排除项、去注释范围、兼容声明和豁免项从脚本同目录的 uvm_migration_scan.yaml 自动加载。输出按规则 ID(C/S/D 系列)分组,C10 细分为 a/b/c;它们映射到正文条目,跨章条目不一定一对一。退出码 1 表示有未过滤命中,2 表示配置、输入、读取或输出失败。使用兼容或豁免过滤时,同时核对 JSON/CSV 中保留的 suppressed 项及摘要,不将过滤等同于核销。 注意:扫描器提供嫌疑点,命中需人工核对类型、作用域和预处理分支;零命中不证明兼容。静默失效必须通过行为检查验证,不能仅以无编译或仿真报错核销。S5 是兼容字段提示、S10 是调试输出变化,均不计入静默/数据风险。


    按差异条目记录

    每个用户接口主条目单独保存状态与证据。原 C/S/D 规则及步骤记录保留在下方;它们不会自动将关联条目标为已验证。旧版导入数据中的规则和步骤仍恢复到原位置,未包含的条目保持未检查。

    Object / Factory

    Comparer / Printer / Packer / Recorder

    Phase / Objection / Event

    Reporting / 命令行

    Config DB / Resource DB

    Sequence / Sequencer

    RAL(寄存器模型)

    TLM

    Field Automation / 版本宏

    Component / VCS 集成

    直接依赖内部实现时核对(保留原记录)

    直接依赖下列实现时才需核对。保留原 M ID 的状态与备注,旧数据仍可导入、导出。

    1. 阶段 0:预检(按实际代码规模安排)

    • 0.1 对全量环境代码跑扫描器,归档 JSON、CSV 和扫描摘要,核对有效配置、跳过路径、过滤项及各条目命中数
    • 0.2 确认工程实际使用 VCS 内置 UVM-1.2,并保存编译日志中的库路径与版本字符串
    • 0.3 建立回归基线:1.2 库下全量回归全绿,归档日志(后续比对用)
    • 0.4 归档当前编译脚本中的 define/plusarg 列表(阶段 1 要改)
    • 0.5 按用户接口变化总览和模块正文检查 API、宏与行为,包含公开虚方法扩展;扫描没有覆盖的用户行为按条目验证。

    2. 阶段 1:构建与编译改造(2.0 库)

    2.0 构建开关切换

    • 1.0.1 库加载从 -ntb_opts uvm-1.2 改为 -ntb_opts uvm-ieee-2020-2.0必须写全名:简写 -ntb_opts uvm-ieee 实际是 1800.2-2017 库、-ntb_opts uvm-ieee-2020 是 2020-1.1 库,VCS UG 示例用的就是简写,勿照抄;见版本与兼容指南
    • 1.0.2 需暂留 deprecated 旧写法时,加 +define+UVM_ENABLE_DEPRECATED_API(恢复 uvm_do_with 等 15 个宏);也可直接按映射改写;改法与验证:M09-004
    • 1.0.3 移除已失效/有害的 define:UVM_NO_DEPRECATED(失效)、UVM_SPARSE_ARRAY打开即编译失败)、UVM_REG_ENABLE_ADDRESS_EXCLUSIONUVM_USE_RESOURCE_CONVERTER(扫描条目 D2/D3/D4/D10);改法与验证:M09-007 / M07-018 / M07-019 / M05-008
    • 1.0.4 旧自动配置禁用 define/plusarg 先用 use_automatic_config 替代,再移除;数组录制限制与时间精度依赖单独核对后清理 +UVM_ARRAY_NUM_LIMIT+UVM_VERDI_BEGIN_TR_REALTIME。改法与验证:M01-007;录制差异与改法见 M02-016 / M02-017
    • 1.0.5 VCS 编译选项检查:+acc 在 W-2024.09 已废弃,改 -debug_access+...(仿真器选项调整)
    • 1.0.6 依赖 Verdi 自动开启 Resource DB 追踪时,显式加 +UVM_RESOURCE_DB_TRACE 并确认访问日志;改法与验证:M05-012

    2.1 编译断点核销(C 系列,每条对应扫描器条目)

    • C1 printer knobs 宽度字段(name_width/type_width/size_width/value_width/max_width/truncation)与 uvm_printer_knobs 类型引用 → 删除或改 accessor;改法与验证:M02-003
    • C2 item.begin_event/end_eventitem.get_event_pool().get("begin"/"end");改法与验证:M01-001
    • C3 确认旧 component kill/stop 接收者;正常结束采用完成握手、检查器排空与成对 objection;复位重启等 phase 跳转另验事务和锁状态。改法与验证:M01-002 / M03-002
    • C4 event.add_callback/delete_callbackuvm_callbacks#(...)::add/delete;用户回调继续继承 uvm_event_callback#(T),旧 append=0 对应 UVM_PREPEND。改法与验证:M03-001
    • C5 uvm_do_* 被废弃宏:可直接按完整映射改写;需暂留旧写法时启用 1.0.2 的 define。两条路径均检查原约束、sequencer、parent 与优先级;改法与验证:M09-004
    • C6 注册类无 string name 形参时补 new(string name="") + super.new(name);核对 1.2 的 UVM_OBJECT_DO_NOT_NEED_CONSTRUCTOR,未用该开关的无参注册类原本就不兼容。扫描提示的未知依赖先查项目宏和外部 registry,直接 new 的无参类可保留;改法与验证:M09-003
    • C7 资源对象 set/get_by_* 改走 pool/DB;普通资源显式构造 scope 可保留,两版都需入池,特殊 precedence 在入池后设置;改法与验证:M05-001 / M05-002 / M05-004
    • C8 uvm_sequence_base 直接实例化 → 具体派生类或 uvm_compat_proxy_sequence(编译 compat 包:+incdir+.../compat + compat/uvm_compat_pkg.sv);uvm_sequence 在 1.2 就已抽象,不能列作新增限制;改法与验证:M06-004
    • C9 map 查询的显式 caller 实参与 override 形参同步删除;改法与验证:M07-002
    • C10 已删全局函数与报告方法按映射改写;全局 set_config_* 可转 root 组件方法保留语义,统一到 config_db 时同步类型、scope 与克隆契约。改法与验证:M04-004 / M04-005
    • C12 自定义 uvm_factory 子类 → 补 4 个 pure virtual;改法与验证:M01-004
    • C13 uvm_print_int3 等数字后缀宏 → 新原型;改法与验证:M02-004
    • C14 user_priority_arbitration 的返回值和 avail_sequences 队列改为目标 int 签名,直接调用实参也需匹配;改法与验证:M06-007
    • C15 get_connected_to/get_provided_to 输出改为 uvm_port_base 类型容器,按实际端口参数匹配;改法与验证:M08-011
    • C16 特化资源类的静态查询改为 resource_db,构造时自动入池另行核对;改法与验证:M05-011
    • D1/D11 uvm_sequence_utils/uvm_package、内置 sequence(uvm_random_sequence 等)→ 新机制;改法与验证:M09-005 / M06-001
    • D7/D8/D9 删除接口与旧 include 按实际引用迁移;FGP 替代仍待确认,native_dumping 需验证标准 recorder 的 DPI、事务字段与父子关系,不能只删除文件引用;改法与验证:M04-016 / M10-006 / M10-007 / M10-008 / M08-007

    • D6 使用 Synopsys reg-bank 扩展时,核对被删的 add_coverage 与私有 predictor/路径相关变化;改法与验证见 M07-025uvm_random_stimulus 可继续使用,无需为本次迁移改写;可选替代见 M10-005

    直接依赖 UVM 内部接口时检查
    • C11 手写 __m_uvm_field_automation → override do_execute_op(uvm_field_op);改法与验证:M01-003

    2.2 告警处置与冒烟

    • 2.2.1 DRVCONNECT 新告警评估:正常连接的 driver 无视;特例用 set_report_severity_id_action(UVM_WARNING,"DRVCONNECT",UVM_NO_ACTION);改法与验证:M10-001
    • 2.2.2 新增诊断按实际 severity 处理:UVM/PRINT/NO_FLUSHUVM/COMPARER/INT/BAD_SIZEUVM/FIELDS/NO_FLAGPH_BAD_ADD(更名)、UVM/ROOT/MULTI;包含 error/fatal,不能统一作为可忽略告警。改法与验证:M02-006 / M02-005 / M09-002 / M03-008 / M01-008
    • 2.2.3 最小环境 test 在 2.0 下编译 + 运行通过(冒烟)
    • 2.2.4 启动回归诊断;阶段 1 通过还要求完成 3.1/3.2 的行为核销与结果对齐

    3. 行为验收与阶段 2 兼容依赖收敛

    3.1 与 3.2 是阶段 1 回归可信的前置条件;3.3 在其后进行。优先核销静默/数据风险;S5 是兼容字段提示,S10 独立核销调试能力。C/S/D 是扫描规则编号,不是完整影响分类;同时查阅条目的“影响类型”。

    3.1 行为与调试核销(S 系列)

    • S1 default_sequence/count/add_sequence 机制 → <phase>_phase.default_sequenceuvm_config_db#(uvm_object_wrapper) 机制。范围:仅字符串式(config_db#(string)/uvm_config_string + 裸 default_sequence)静默失效需迁移;已是 <phase>_phasewrapper/instance 两式写法 2.0 实测等价、不用动验证:激励确实发出;改法与验证:M06-001
    • S2 uvm_test_done_objection 引用 → phase.raise_objection(this);改法与验证:M03-003
    • S3 全部 field FLAG 按所需操作核对,包含负向位、部分正向位、自定义宏和数字;保留禁用意图并显式启用所需操作,或暂用 legacy field 开关。先处理报告列出的缺失操作;相同未知表达式按同文件合并提示,展开后核对 related_lines 的全部使用点,再验证宏实际支持的操作。零命中及无 NO_FLAG 不能证明没有漏操作。改法与验证:M09-002
    • S4 逐个确认精确版本/能力分支意图,勿机械替换为 POST 宏;分别验证两库实际编译分支;改法与验证:M09-008
    • S5(兼容字段提示) 默认 coreservicedefault_precedence 静态改写仍有效。新代码推荐 uvm_resource_pool::set_default_precedence();自定义 coreservice 单独核对;改法与验证:M05-004
    • S6 packer 跨边界位流逐位对照 1.2 goldencompat 只部分恢复,嵌套对象/GP 需显式格式或同步升级两端;改法与验证:M02-001 / M08-003
    • S7 demote 类 catcher 对 NO_ACTION 消息的依赖审计;改法与验证:M04-001
    • S8 show_max=0 在 2.0 为不限输出;使用 verbosity/action 控制消息,并保留比较结果检查。顶层 compare 对显式 comparer 也会 flush;类型判据改为 wrapper,需验证同名但 wrapper 不同,以及不同名共用 wrapper 两种情况。S8 扫描仅定位 show_max 写法,类型漏检另行核对;改法与验证:M02-005
    • S9 先确认报告行的 flush 接收者属于 TLM FIFO,未知类型提示需查实际对象及跨文件继承。uvm_tlm_fifo::flush() 两项队列实测残留一项;无并发清场边界可使用公开 try_get 循环并断言 used=0,注意其保留 get_ap 广播;改法与验证:M08-001
    • S10(调试输出) +UVM_STACKTRACE 调用栈流程按实际工具构建确认;准备最小触发测试与支持材料,尚无通用实测替代命令。改法与验证:M04-019
    • S11 同名同类型多资源的 resource_db::get_by_name 优先级选择核对;lookup_name 后 get_highest_precedence 替代需检查 null、类型和审计副作用;改法与验证:M05-010
    • S12 GP scoreboard 显式核对 extension 键集合并逐项比较,不能只做双向 GP compare;改法与验证:M08-002
    • S13 大端 map 核对有效总线宽度与 uvm_reg_data_t 整宽,包含 32 位寄存器接 32 位总线的单拍;检查 adapter 输入/输出和每个 bus beat,适用的 adapter 补偿或 frontdoor 必须在实际拓扑验证;改法与验证:M07-020
    • S14 检查字段写 byte strobe 和相邻硬件更新值;必要时显式 bus sequence/frontdoor,镜像预测仅更新目标字段;改法与验证:M07-021
    • S15 resource 单侧 override 用显式对应 API;特殊 precedence 在入池后设置;改法与验证:M05-004 / M05-005
    • S16 旧两参 uvm_print_int 核对 SIZE/RADIX,改写后检查实际位宽与输出;改法与验证:M02-004
    • S17 显式恢复响应队列溢出报错,并核对响应消费及深度;改法与验证:M06-008
    • S18 宽命令行配置改 set_config_bitstream,断言读回完整值;扫描脚本/filelist 时显式包含对应文件;改法与验证:M04-018
    • S19 push sequencer 两笔以上请求逐笔核对,检查 FIFO 消费,不能只屏蔽 SQRSNDREQGNI;改法与验证:M06-019
    • S20 USER sequence library 动态缩减候选集时检查选择前边界;改法与验证:M06-017
    • S21 regex/glob 混用时保持正则缓存关闭,验证匹配顺序;改法与验证:M10-006
    • S22 backdoor codec 核对硬件值和逻辑回读值,多 codec 保持正序编码、逆序解码;改法与验证:M07-023
    • S23 全局与实例 catcher 混用时核对每条消息的实际调用次数;改法与验证:M01-016
    • S24 多拍 predictor 核对首拍和后续拍失败,聚合完整事务状态;改法与验证:M07-024
    • 3.1.17 event reset 后数据、自定义 lock 调度、失败 RAL 访问镜像按实际依赖核销(M03-011 / M06-011 / M07-022
    • 3.1.18 对照全部用户接口与行为条目完成编译与行为核销,先按扫描报告定位旧写法与适用线索,再补录无规则项及未覆盖写法;脚本已覆盖部分 field FLAG、reset sequence、策略派生和公开扩展入口,运行结果仍须验证。派生 FIFO 的注册字段核对自动配置是否仍赋值(M08-004);sequence.kill 后在再次 start 前检查已排队响应,需要丢弃时保留 clear_response_queue(M06-013)。在 HTML 的“按差异条目记录”中逐条以 M ID 保存范围、结论与证据;本项保留总检查和其他补充说明;相关高风险仍待验证时阶段 1 不通过。
    • 3.1.19 出现 not contained within map 'Backdoor' 时,区分 reg/field/mirror 和无实际 map 场景;field 后门仅改 map 实参无效。按 M07-005 区分库告警与调用错误;字段接口可保留,按 read/write 与 peek/poke 的访问语义核对 status、硬件和镜像;S38 零命中仍须检查 field 及默认后门封装。

    3.2 日志与回归基线更新(无代码改动也会出现差异)

    • 3.2.1 消息计数/[TEST_DONE] 判定类回归脚本改造(L1 实测:2.0 少一条 INFO,TEST_DONE 已移除,01 第 1、3 章);改法与验证:M03-004
    • 3.2.2 时间戳格式:$time$realtime;改法与验证:M04-009
    • 3.2.3 UVM_OBJECTION_TRACE 输出多一列;miscompare 消息格式变化;消息 ID 更名(PH_ADD_PHASEPH_BAD_ADD 等);改法与验证:M03-014 / M02-005 / M03-008
    • 3.2.4 同 seed 不要求两库逐拍轨迹相同;核对合法约束、事务完成、scoreboard 与覆盖,固定激励需求须保存并回放向量。变化来源包括:grant_queued_locks 单发化、reg 内建 seq 随机源改 uvm_reg_randval;改法与验证:M06-011 / M07-006

    3.3 compat / deprecated 依赖消除

    • 3.3.1 将尚未迁移的旧动作宏按完整映射改写,移除 +define+UVM_ENABLE_DEPRECATED_API 后重编译,检查是否仍有其他保留 API 依赖;已在阶段 1 改写的调用直接复验约束、对象创建与发送行为。改法与验证:M09-004
    • 3.3.2 uvm_compat_packer / uvm_compat_proxy_sequence 使用点核销(评估是否仍需要 1.2 位流);改法与验证:M02-001 / M06-004
    • 3.3.3 确认主库保留接口的行为符合需要;uvm_path_e、保留的 knobs 等不要求仅为改名而替换。需要采用 accessor/新名时再修改并验证;改法与验证:M02-003 / M02-005 / M06-015 / M07-001
    • 3.3.4 保存 1.2 基线版本及结果,迁移后的 2.0 代码通过等效回归和结果对齐;若业务要求同一源码双库兼容,再额外验证双库编译运行。跨边界旧位流等保留 compat 的例外记录原因和退出条件。
    • 3.3.5 显式 FLAG 改写后移除 UVM_LEGACY_FIELD_MACRO_SEMANTICS,重新验证 compare/copy/print/pack/record 及自动配置,不以 warning 消失代替行为验收。

    扫描规则与具体改法

    规则 具体条目
    C1 删除无效的打印宽度配置
    C2 事务开始/结束事件改用 get_event_pool()
    C3 component kill/status 删除与进程收尾 · stop 机制整体删除
    C4 event 回调改用 uvm_callbacks 注册和删除
    C5 uvm_do* 动作宏
    C6 工厂创建的对象需要带 name 参数的构造函数
    C7 uvm_resource#(T) 自管理接口 set() / set_override() / get_by_name() / get_by_type() 被删除 · 资源构造 scope 仍有效
    C8 不要直接 new sequence/sequencer 抽象基类
    C9 get_local_map/get_default_map 移除 caller 调试形参
    C10a 旧全局配置、timeout 和 stop 函数需要改写
    C10b 删除 reporting 类中的 deprecated 方法
    C10c 旧全局配置、timeout 和 stop 函数需要改写
    C11 __m_uvm_field_automation 签名变更 · 删除 uvm_status_container 与 uvm_scope_stack 类
    C12 自定义 factory 子类需要补充虚方法
    C13 打印整数时显式传位宽
    C14 自定义 sequence 仲裁函数改用 int 签名
    C15 port.get_connected_to / get_provided_to 返回容器改为 port 句柄
    C16 资源特化类删除返回子类型的静态 get_by_name/get_by_type
    S1 内置 sequence 库整体删除 · 字符串 default_sequence 不再启动激励
    S2 旧 test_done 不再保持 run 存活
    S3 uvm_field_* automation · uvm_object_globals 字段标志位重构
    S4 版本宏与版本字符串的迁移
    S5 resource precedence 的设置时机与保留写法
    S6 pack 位流格式改变 · uvm_tlm_generic_payload do_pack/do_unpack 无条件打包 m_dmi
    S7 消息宏重写
    S8 自定义比较
    S9 uvm_tlm_fifo::flush() 不再向 get_ap 广播
    S10 +UVM_STACKTRACE 不再输出报告调用栈
    S11 resource_db::get_by_name 在 2.0 可能选中较低优先级资源
    S12 uvm_tlm_generic_payload::do_compare() 全面重写
    S13 大端 map 的整宽反转可能破坏数据
    S14 支持 byte enable 的相邻字段访问仍可能退化为整寄存器访问
    S15 resource precedence 的设置时机与保留写法 · uvm_resource_pool 重构
    S16 打印整数时显式传位宽
    S17 响应队列溢出默认不报错
    S18 +uvm_set_config_int 宽值经 32 位字符串转换被截断
    S19 uvm_push_sequencer 未消费被 peek 的请求
    S20 sequence_library 的选择边界与类型名
    S21 正则接口与缓存
    S22 后门编解码可能失效
    S23 callback 注册与重复 catcher 调用次数
    S24 predictor 仅继承首拍 status
    D1 旧 sequence 注册宏改为 object/component 注册
    D2 废弃开关极性翻转
    D3 uvm_reg_array / uvm_reg_array_md 文件删除
    D4 uvm_reg_address_config 与 get_registers_filtered_by_address 移除
    D5 禁用自动字段配置
    D6 私有 reg-bank 覆盖率改为构造时声明
    D7 删除 uvm_vector_to_string · 正则接口与缓存
    D8 旧 FGP 类与集成文件已删除 · Verdi native_dumping 录制文件已删除
    D9 uvm_tlm_time 更名 uvm_time
    D10 自定义 resource_converter 已删除
    D11 内置 sequence 库整体删除
    D12 uvm_random_stimulus 降级为 @uvm-compat 兼容 API
    C17 组件配置与 transaction database 改用访问器
    C18 uvm_packer 状态存取 API 重命名与签名变更
    C19 uvm_tree_printer.newline 字段私有化
    C20 uvm_phase::max_ready_to_end_iter 公共字段删除 · 通过 get_objection() 获取 task phase 的 objection
    C21 UVM_SEQ_ARB_TYPE typedef 默认不可用 · starting_phase 的直接赋值与锁定限制
    C22 uvm_sequence_base 废弃的 sequence-library 方法删除
    C23 自定义 coreservice
    C24 静态按名查找函数去 m_ 前缀
    C25 uvm_reg_backdoor 变为抽象类 · 类抽象性调整 · TLM2 socket 基类全部改为 virtual class
    C26 transaction 开始录制与组件回调的参数变化 · 重写 recorder、stream、database 方法时同步句柄类型
    C27 uvm_reg_predictor · 注册宏的 type_name 改为函数形式 · 抽象组件的工厂注册与 type_name 使用
    C28 自定义比较
    D13 旧数组录制上限失效
    D14 旧录制取时开关失效
    D15 工厂创建的对象需要带 name 参数的构造函数
    D16 pack、unpack、record 宏的文件拆分
    D17 新增 uvm_phase_hopper 类 · uvm_report_object 的 report handler 改为懒创建 · resource 审计表搬迁与读写实现 · uvm_resource_pool 内部表结构改用 uvm_shared 队列 · uvm_sequencer 的仲裁状态位 public → protected
    S25 copy(null) 现在计为错误
    S26 工厂 name 覆盖延迟解析
    S27 自定义打印、比较与录制 · uvm_printer emit() 必须配 flush() · 自定义 recorder 的对象递归与文本输出
    S28 phase.jump(null) 与跳转状态查询
    S29 uvm_event#(T) trigger 默认数据机制
    S30 uvm_report_warning/uvm_report_error 默认 verbosity 改为 UVM_NONE · 非 INFO 消息不再做 verbosity 过滤
    S31 report_summarize 签名与文件路由行为变化 · UVM_FILE 相关常量值变化
    S32 内置复位测试按 has_reset() 跳过字段
    S33 get_access() 返回的访问权限字符串变化
    S34 多个 sequence 同时 lock 时授权顺序改变 · driver 等待请求时 kill sequence · sequence.kill() 清理仲裁请求、锁与路由
    S35 派生 TLM FIFO 的字段自动配置默认停止
    S36 TEST_DONE 消息移除 · 自定义 phase 图 · uvm_event 系 get_type_name() 返回值变化 · objection trace · 消息时间戳默认由 $time 改为 $realtime · TLM 组件的工厂创建与类型名
    S37 run_test、pre_abort 与命令行配置的执行顺序 · 自定义 phase 图
    S38 后门访问告警 · 内置 reg/mem sequence 的随机数据序列变化
    S39 uvm_mem::get_addresses 增加越界检查
    S40 字段自动配置的查询模式与操作位宽
    S41 get_arg_matches 重用统一匹配接口 · Resource DB 追踪需显式开启
    S42 uvm_config_db#(T)::set 改进非空 context 下 /regex/ 拼接
    S43 TLM 接口未实现错误消息文本变化
    S44 pack 位流格式改变 · uvm_tlm_generic_payload do_pack/do_unpack 无条件打包 m_dmi

    版本适用范围