- 开始迁移
- 术语解释
迁移术语
兼容与版本
| 术语 | 在迁移中的含义 |
|---|---|
| deprecated | 已废弃、准备淘汰的旧接口。目标库只保留其中一部分,需按条目判断是否有开关可启用。 |
| compat | 兼容支持的统称。uvm_compat_pkg 是一个需要显式编译的包;源码的 @uvm-compat 标记则不需要 import。 |
| legacy field | 恢复旧 field 宏操作判断方式的编译开关。它与启用 deprecated API 是两项配置。 |
| 静默风险 | 编译和仿真可能不报错,但激励没有执行、比较漏检或数据已改变。需要检查实际业务结果。 |
| 核销 | 对一项迁移风险记录处理结论:不适用,或已经修改并附验证结果。扫描零命中不等于核销。 |
数据与寄存器
| 术语 | 在迁移中的含义 |
|---|---|
| RAL | 寄存器抽象模型,即 test/sequence 中通过 uvm_reg、uvm_reg_field 等类访问寄存器的模型。 |
| frontdoor / backdoor | 前门走总线协议访问 DUT;后门通过 HDL 路径或自定义后门直接访问硬件值。 |
| mirror | 寄存器模型保存的硬件值预期副本。它不等于一次真实硬件读取,更新错误可能造成漏检或误报。 |
| predictor | 根据监测到的总线事务更新寄存器镜像的组件。多拍访问需要正确合并数据与失败状态。 |
| adapter | 在寄存器操作与总线事务之间转换数据、地址和状态的对象。 |
| byte enable | 字节使能,指出一次总线访问实际读写哪些字节;关闭的字节不应被意外改写。 |
| codec | 编解码回调,例如把逻辑寄存器值编码后写入、读出后再解码。 |
| GP | uvm_tlm_generic_payload,TLM2 通用事务,携带命令、地址、数据等信息。 |
| extension | 附加到 GP 的用户扩展数据。比较主数据正确,不代表所有 extension 都已比较。 |
| 位流 / wire format | 对象打包后得到的实际比特布局。两版都能自行打包再解包,不代表它们可互相读取。 |
| golden | 已确认的参考结果,例如保存的 1.2 打包位流;迁移后与它逐位比较。 |
配置与运行
| 术语 | 在迁移中的含义 |
|---|---|
| policy | 执行对象操作的策略对象,例如 printer 管打印、comparer 管比较、packer 管打包。 |
| field automation | field 宏生成的 copy/compare/print/pack 等字段操作。只有改写内部钩子的环境才需要理解分派实现。 |
| FLAG | field 宏的操作标志。正向位如 UVM_COPY 启用操作,负向位如 UVM_NOCOPY 禁止操作。 |
| catcher | uvm_report_catcher,在报告输出前拦截或修改消息的回调。 |
| verbosity | 消息详细程度阈值,与 INFO/WARNING/ERROR 的严重级别不同。 |
| wrapper | 工厂类型描述对象,例如 my_seq::type_id::get() 的返回值;它不是已经创建好的 sequence 实例。 |
| scope / context | scope 是配置或资源的匹配路径范围;context 是计算相对路径的组件上下文。 |
| regex / glob | regex 是正则表达式;glob 是 *、? 形式的通配匹配。同一文本在两种模式下可能有不同含义。 |
| coreservice | UVM 提供工厂、报告、策略等服务的公共访问入口。已有自定义服务类需同步新增虚方法和初始化时机。 |
| phase hopper | 目标库内部的 phase 调度实现。使用 run_phase 等标准入口不需要直接调用它。 |
| seed | 仿真随机种子;两版对跑时固定种子和测试配置,才能比较实际行为。 |