寄存器模型
寄存器是模块之间相互交谈的窗口,可以通过读取寄存器的状态获取硬件得当前状况,在验证过程中 ,对寄存器进行验证也是必需的,为了保证硬件与硬件之间正确的交谈。
在没有寄存器模型之前,只能启动
sequence
通过前门(
FRONTDOOR
)访问的方式来读取寄存器,局限较大,在 scoreboard(或者其他
component
)中难以控制。而有了寄存器模型之后,
scoreboard
只与寄存器模型打交道,无论是发送读的指令还是获取读操作的返回值,都可以由寄存器模型完成。有了寄存器模型后,可以在任何耗费时间的phase
中使用寄存器模型以前门 访问或后门(
BACKDOOR
)访问的方式来读取寄存器的值,同时还能在某些不耗费时间的
phase
(如
check_phase
)中使用后门访 问的方式来读取寄存器的值。

寄存器模型的基本概念

uvm_reg_field:这是寄存器模型中的最小单位。
uvm_reg
:它比
uvm_reg_field
高一个级别,但是依然是比较小的单位。一个寄存器中至少包含一个
uvm_reg_field
。
uvm_reg_block
:它是一个比较大的单位,在其中可以加入许多的
uvm_reg
,也可以加入其他的
uvm_reg_block
。一个寄存器模 型中至少包含一个uvm_reg_block
uvm_reg_m

本文深入探讨了UVM(Universal Verification Methodology)中的寄存器模型,包括寄存器模型的基本概念如uvm_reg_field、uvm_reg和uvm_reg_block,以及寄存器映射uvm_reg_map。寄存器模型在验证过程中的作用在于简化对硬件寄存器的访问,提供前门和后门访问方式。前门访问通过总线协议操作,后门访问直接作用于DUT内部。此外,还介绍了寄存器模型的构建步骤,包括实例化、配置和集成到验证平台。寄存器模型在功能验证中用于检查DUT状态、覆盖率收集等,同时提供了自动预测和显示预测两种预测方法以跟踪寄存器值的变化。
最低0.47元/天 解锁文章
464

被折叠的 条评论
为什么被折叠?



