面向验证的 UVM 寄存器建模
Instructor: EDA Academy
Resource—All LevelChinese
从规格构建实用 UVM 寄存器模型,将其集成到基于 APB 的环境中,运行内置检查,创建自定义寄存器激励,并使用前门、后门、update、mirror、predict、peek 和 poke 操作高效验证 DUT。
5.0
1students
This offering includes
- 1 module
- 5 lectures
- Access on mobile and computer
- 1.94 hours on-demand video
Description
UVM 寄存器建模为验证被测设计中的寄存器和存储器行为提供了实用抽象层。它不需要为每个寄存器手工编写总线级访问和独立期望值检查,而是由寄存器模型捕获地址、位宽、复位值、字段、访问策略、存储区域、地址映射和期望状态。这使寄存器验证在使用不同接口协议的环境中更加可读、可重复,也更容易复用。
一个包含 APB 接口、4K 存储块、模式寄存器、状态寄存器和访问计数器的存储控制器提供了聚焦的技术对象。寄存器模型表示普通读写存储、只读状态行为、存储器访问、计数器更新,以及由寄存器操作引起的副作用。desired 值定义预期配置,mirrored 值表示期望 DUT 状态。这些模型值支持自动检查、模型驱动更新,以及 DUT 与寄存器参考模型之间的同步。
自动生成可以降低手写 UVM 寄存器模型的风险。寄存器规格可以通过 IP-XACT XML、电子表格、专有格式或临时自定义描述进行捕获,然后用于生成寄存器模型代码。IP-XACT 由 IEEE 1685 定义,提供了一种基于 XML 的结构化方式来描述 IP 和寄存器信息。厂商扩展可以携带 HDL 路径、跳过属性、约束以及其他模型生成元数据,用于后门访问和内置序列控制。
集成过程把生成模型连接到 UVM 测试平台、地址映射、适配器、sequencer 和接口 UVC。前门访问通过适配器和 UVC 把寄存器 API 调用转换为真实 APB 事务。后门访问使用层次路径直接检查或修改 DUT 状态。隐式预测会更新由 API 生成访问所对应的模型状态,而当外部 UVC 流量也必须同步模型时,则需要显式预测。模型正确连接后,可以运行复位检查和访问检查等内置序列。
寄存器 API 方法为自定义仿真激励提供操作基础。read() 和 write() 执行标准访问,而 get()、set() 和 randomize() 准备仅作用于模型的 desired 值。update() 写入与模型不一致的 DUT 寄存器,mirror() 从 DUT 刷新模型状态。predict() 为由内部逻辑更新的寄存器调整期望 mirrored 值。peek() 和 poke() 在需要时提供忽略普通访问策略的直接后门访问。这些操作使寄存器模型同时成为参考模型和主动验证控制机制。
Catalogue:
存储控制器验证场景
存储控制器验证计划
UVM 寄存器模型
UVM 寄存器访问 API
UVM 寄存器模型集成
寄存器模型自动生成
IP-XACT 寄存器 XML 描述
生成的 mode0 寄存器定义
集成寄存器模型
测试平台寄存器模型集成
配置内置寄存器序列
运行内置寄存器序列
寄存器 API 仿真激励
寄存器 API 数据语义
寄存器读写操作
管理寄存器镜像值
后门 Peek 与 Poke 访问
仅访问模型的寄存器方法
从寄存器模型更新 DUT
镜像 DUT 寄存器值
测试中的寄存器 API 调用
You might also like
More offerings will load here.
Secure checkout via our payment partner.
