UVM寄存器模型笔记(一)

文章讲述了UVM在验证中的作用,它作为软件模块与硬件模块(DUT)交互。UVM-reg-block用于构建寄存器模型,包含了寄存器映射、内存和寄存器。在build阶段,组件自动配置寄存器,并通过adapter实现寄存器数据与总线事务之间的转换,如reg2bus和bus2reg函数,确保读写操作的正确进行。
摘要由CSDN通过智能技术生成

1.UVM是软件模块,DUT是硬件模块

软件模型中要有reference model,接收输入,输出期望数值。寄存器模块也可以做预测,硬件中的所有寄存器,在软件寄存器中也要有。

map1中有所有的信息。register initiator(UVC) 寄存器激励,可能是bus-agent。

 2.类的功能

 uvm-reg-block最大,包含uvm-reg-map(信息)、uvm-mem(匹配硬件模型)和uvm-reg(寄存器)。

uvm-reg包含多个uvm-reg-field,uvm-reg-field最小

3.build-phase是component,寄存器使用build实现自动化。

在定义寄存器的时候继承uvm-reg,通过  实例.configure(),配置域,定义的属性是uvm-reg-field的。

在定义寄存器模型继承 uvm-reg-block,build函数需要做:1.实例化 2.配置 (自动化)3.配置uvm-reg的属性,通过 map实例.add-reg()。

4.

 以前的BUS-agent传送的sequence(bus-transaction),包含各种信息。但是现在需要用register中的数据变成激励。所以需要一个adapter实现各自uvm-reg-bus-op与transaction的数据映射。

需要实现reg2bus()和bus2reg()函数:reg2bus()将uvm-reg-item转化成bus-seq-item。

寄存器无论读写,都应该知道总线操作之后的状态返回,都需要调用reg2bus()。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
UVM(Universal Verification Methodology)寄存器模型是一用于验证芯片寄存器功能的标准方法。它提供了一个统一的、可重用的框架,用于建立和管理寄存器模型,以及执行寄存器访问和验证。 UVM寄存器模型的主要组成部分包括寄存器模型寄存器层次结构、寄存器操作和寄存器验证环境。 1. 寄存器模型UVM寄存器模型是一个抽象的表示,用于描述芯片内部的寄存器寄存器字段。它提供了一种结构化的方式来定义寄存器的属性、寄存器字段的位宽和访问权限等。 2. 寄存器层次结构:UVM寄存器模型支持多层级的寄存器结构,可以通过层级关系来描述芯片内部的寄存器模块和子模块。这样可以更好地组织和管理寄存器模型,并提供寄存器之间的相互作用和访问。 3. 寄存器操作:UVM提供了一系列的API,用于执行寄存器读写操作。通过这些API,可以向寄存器模型发送读写请求,并获取响应。同时,还可以对寄存器的访问进行配置和控制,如重置、写入默认值等。 4. 寄存器验证环境:UVM寄存器模型可以与其他验证环境进行集成,以验证寄存器功能的正确性。通过使用事务级建模(TLM)接口,可以将寄存器操作与其他验证组件进行交互,并进行功能验证、覆盖率分析和错误注入等。 总之,UVM寄存器模型提供了一种规范化的方法来描述和验证芯片寄存器功能。它具有可重用性、灵活性和扩展性,并能与其他验证组件进行集成,从而提高验证效率和可靠性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值