UVM:10.4.1 使用寄存器模型随机化参数

177 篇文章 139 订阅

1.验证两大问题:向DUT 灌激励,为DUT 配置参数。

2.随机化:


3.缩小随机化范围:

1)


2)或者整体:


3)factory 重载:


  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UVM 中,寄存器模型通常由一个或多个类表示。每个类代表一个寄存器或一组寄存器,并包含用于配置和控制寄存器的方法和属性。其中一个重要的类是 `uvm_reg_block`,它代表一个寄存器块,可以包含多个寄存器。在 `uvm_reg_block` 中,使用 `add_reg()` 方法添加寄存器使用 `get_reg_by_name()` 或 `get_reg_by_offset()` 方法获取寄存器。然后,在创建寄存器时,可以使用 `uvm_reg` 类来表示单个寄存器,该类包含以下方法: - `configure()`:用于配置寄存器的各个字段 - `write()`:用于向寄存器写入一个值 - `read()`:用于从寄存器中读取一个值 - `poke()`:用于向寄存器写入一个值,但不会触发任何回调或通知 - `peek()`:用于从寄存器中读取一个值,但不会触发任何回调或通知 使用 `uvm_reg_field` 类来表示寄存器中的单个字段,该类包含以下方法: - `configure()`:用于配置字段的位宽、访问权限等 - `set()`: 用于设置字段的值 - `get()`: 用于获取字段的值 在对寄存器进行读写时,UVM 会触发各种回调和通知,以便测试人员可以对寄存器访问进行监视和调试。例如,在 `uvm_reg` 中,可以使用以下方法注册回调: - `add_pre_write_callback()`: 在写入寄存器之前调用的回调 - `add_post_write_callback()`: 在写入寄存器之后调用的回调 - `add_pre_read_callback()`: 在读取寄存器之前调用的回调 - `add_post_read_callback()`: 在读取寄存器之后调用的回调 这些回调可以用于验证寄存器访问、生成日志消息等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值