跳转至

输入查询内容

    本页内容

    可运行示例

    从已观察到的现象选择实验,比较旧写法与改法。环境为 VCS W-2024.09-SP2-8,seed=1;所有运行器使用独立目录。

    首次运行:准备工具、解包并跑通一个示例 · 下载最小 TB、运行器和预期结果

    检查实际 SoC 代码用迁移扫描器;本页的运行器用于包内最小 TB。按任务选择运行器,见工具包脚本分工

    推荐先看

    字段比较漏检 · run 提前结束 · backdoor 编解码失效

    按问题选择示例

    要解决的问题 改法与简单示例
    事务开始/结束事件改用 get_event_pool() 查看修改前后
    自定义 factory 子类需要补充虚方法 查看修改前后
    copy(null) 现在计为错误;普通 copy 调用可保留 查看修改前后
    禁用自动字段配置:旧开关改为组件方法 查看修改前后
    自定义 coreservice:新增虚方法与初始化时机 查看修改前后
    pack 位流格式改变:检查外部接收端与历史数据 查看修改前后
    uvm_packer 状态存取 API 重命名与签名变更 查看修改前后
    删除无效的打印宽度配置,使用 printer 访问器 查看修改前后
    打印整数时显式传位宽,避免把 UVM_HEX 当宽度 查看修改前后
    自定义比较:检查类型设置和不匹配消息数量 查看修改前后
    uvm_printer emit() 必须配 flush(),新增 UVM/PRINT/NO_FLUSH 检查 查看修改前后
    旧数组录制上限失效:显式控制记录项数 查看修改前后
    event 回调改用 uvm_callbacks 注册和删除 查看修改前后
    旧 test_done 不再保持 run 存活 查看修改前后
    通过 get_objection() 获取 task phase 的 objection 查看修改前后
    uvm_event#(T) trigger 默认数据机制:新增 set/get_default_data,reset 清数据 查看修改前后
    旧全局配置、timeout 和 stop 函数需要改写 查看修改前后
    删除:reporting 类中的 deprecated 方法 查看修改前后
    uvm_resource#(T) 自管理接口 set() / set_override() / get_by_name() / get_by_type() 被删除 查看修改前后
    字符串 default_sequence 不再启动激励 查看修改前后
    不要直接 new sequence/sequencer 抽象基类 查看修改前后
    自定义 sequence 仲裁函数改用 int 签名 查看修改前后
    响应队列溢出默认不报错,需要显式开启 查看修改前后
    sequence.kill() 清理仲裁请求、锁与路由,保留已排队响应 查看修改前后
    get_local_map/get_default_map 移除 caller 调试形参(含 Xcheck_accessX) 查看修改前后
    uvm_reg_backdoor 变为抽象类;wait_for_change 由 local 变 public 查看修改前后
    后门访问告警:not contained within map 'Backdoor' 查看修改前后
    uvm_reg_address_config 与 get_registers_filtered_by_address 移除(UVM_REG_ENABLE_ADDRESS_EXCLUSION 扩展终止) 查看修改前后
    后门编解码可能失效:同时检查硬件值与读回值 查看修改前后
    私有 reg-bank 覆盖率改为构造时声明 查看修改前后
    uvm_tlm_fifo::flush() 不再向 get_ap 广播,VCS 两项队列实测存在残留(S9) 查看修改前后
    派生 TLM FIFO 的字段自动配置默认停止 查看修改前后
    TLM2 socket 基类全部改为 virtual class 查看修改前后
    port.get_connected_to / get_provided_to 返回容器改为 port 句柄 查看修改前后
    uvm_field_* automation:显式启用需要的字段操作 查看修改前后
    工厂创建的对象需要带 name 参数的构造函数 查看修改前后
    uvm_do* 动作宏:约束、sequencer 与优先级的迁移 查看修改前后
    旧 sequence 注册宏改为 object/component 注册 查看修改前后
    完整实验记录
    完整实验 用例 ID
    配置类型与克隆、部分正向 FLAG 及显式操作对照 guidance
    32 位寄存器与总线的单拍大端数据问题 reg_width
    单拍大端访问的限定 adapter 补偿 reg_width_migrated
    删除接口与旧宏:编译错误及改写对照 compile
    字段比较、comparer、资源优先级与 FIFO 清场 policy
    Phase、配置、工厂、Sequence、Callback、TLM 与 RAL 基础对照 features
    旧 test_done objection 导致 run 提前结束 objection
    使用实际 phase objection 保持 run 存活 objection_migrated
    GP extension 比较、事件复位与类型语义 semantics
    接口签名、配置与寄存器访问权限 interfaces
    RAL 端序、访问粒度、响应与失败预测矩阵 reg
    跨版本位流与显式序列化格式 serialization
    资源构造、入池和单侧 override resource
    默认 sequence、响应队列与旧宏 sequence
    启用 deprecated 开关后验证旧 sequence 宏 sequence_deprecated
    字段操作次数、打印宏与 automation 钩子 fields
    报告路由、verbosity 与文件配置 reports
    Port 查询容器与资源特化类的编译改写 compile_extended
    Sequence kill、队列清理与 phase 生命周期 lifecycle
    默认 Verdi 集成下的 coreservice 初始化 initialization
    关闭录制集成的初始化对照 initialization_no_verdi
    命令行整数配置的宽值截断 command
    使用 bitstream 参数保留宽配置 command_bitstream
    USER sequence library 的候选集缩减 library
    寄存器复位检查的字段与层级遍历 reset_sequence
    Push sequencer 第二笔请求失败 push
    Push 请求显式消费的局部替代 push_migrated
    Backdoor 编解码未写回的数据对照 backdoor
    codec 的 backdoor 回调替代 backdoor_migrated
    Catcher 注册顺序与 regex/glob 匹配 utility
    启用正则缓存后的匹配差异 utility_cache
    固定注册集合的 catcher 顺序替代 utility_migrated
    选择 sequence 前检查候选集边界 library_migrated
    多拍访问后续拍失败仍更新镜像 predictor
    聚合事务状态后显式预测镜像 predictor_migrated
    手册改写示例:动作宏、factory、event 与策略接口 manual_actions
    派生 FIFO 自动配置与 kill 后已排队响应 doc_facts
    派生 FIFO 显式恢复字段自动配置 fifo_config_restored
    不同类型名共用 wrapper 的比较漏检与显式限制 comparer_types
    资源连续改写:入池、scope、precedence 与单侧 override resource_migration
    具体 backdoor 挂载:RAL 读写、硬件值与回调 backdoor_binding
    具体阻塞 socket:IMP 连接与响应返回 socket_migration
    旧 backdoor 基类构造:1.2 编译对照 backdoor_construct_12
    旧 backdoor 基类构造:目标抽象类编译错误 backdoor_construct_20
    旧阻塞 socket 基类构造:1.2 编译对照 socket_construct_12
    旧阻塞 socket 基类构造:目标抽象类编译错误 socket_construct_20
    VCS 定制改写:覆盖率声明、数组录制、显式时间与资源追踪 vendor_migration
    旧 reg-bank add_coverage:1.2 编译对照 vendor_bank_12
    旧 reg-bank add_coverage:目标成员删除 vendor_bank_20
    旧 recorder getter:1.2 编译对照 vendor_recorder_12
    旧 recorder getter:目标成员删除 vendor_recorder_20
    后门 Backdoor map 告警:reg/field/mirror 分支与限定 RW 字段替代 backdoor_map
    最小实验:field 后门告警与父寄存器读取对照 backdoor_map_minimal

    版本适用范围