
面向验证的 UVM 寄存器建模
从规格构建实用 UVM 寄存器模型,将其集成到基于 APB 的环境中,运行内置检查,创建自定义寄存器激励,并使用前门、后门、update、mirror、predict、peek 和 poke 操作高效验证 DUT。
从规格构建实用 UVM 寄存器模型,将其集成到基于 APB 的环境中,运行内置检查,创建自定义寄存器激励,并使用前门、后门、update、mirror、predict、peek 和 poke 操作高效验证 DUT。
This resource includes
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...
This resource includes
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...
Recommended

EDA Academy is a practical learning platform for engineers in the VLSI and semiconductor industry. We offer structured courses, technical resources, and career-focused training across all major areas of chip design and verification — from Verilog to Physical Design, from fundamentals to advanced topics. Learn at your own pace, explore member-exclusive content, or join as an instructor to share your expertise. Lear...
