UVM:7.7.1 使用reg_predictor

177 篇文章 139 订阅

1.左图的方式依赖driver,当driver 将读取值返回后,寄存器模型会更新镜像值和镜像值和期望值。被称为寄存器模型的auto predict 功能。使用如下语句打开此功能:


2.右图另外一种形式。monitor 将总线收集到的transaction交给寄存器模型,后者更新相应寄存器的值。


3.用这种方法更新数据,需要理会一个reg_predictor,并例化:


1)要将reg_predictor和 bus_agt的 ap 连接,并设置reg_predictor 的adapter 和map。

2)只有设置map 后,才能将predictor 和寄存器模型关联在一起。


4.只有一个主设备时,左右两图完全相等。如果有多个,左图会漏掉某些transaction。

5.添加完后,其实存在两条寄存器模型的路径,右图:1.虚线 2.predictor。如果要彻底关闭虚线更新路径:


  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
uvm_reg_predictor类是UVM(Universal Verification Methodology)中的一个重要类,用于预测和验证寄存器操作的行为。它可以与寄存器模型一起使用,提供了以下功能: 1. 寄存器读写行为预测:uvm_reg_predictor类可以根据寄存器操作的请求,预测寄存器的读写行为。它可以模拟寄存器读操作时的返回值,并检查寄存器写操作是否成功。这样,可以在实际进行寄存器操作之前,先进行预测和验证,减少验证中的不确定性。 2. 与设计模型比较:uvm_reg_predictor类可以将预测的读写行为与设计模型进行比较。通过与设计模型的比较,可以检查寄存器模型是否正确地模拟了设计的行为。这有助于发现寄存器模型中的错误和不一致性,并提高验证的准确性和可靠性。 3. 覆盖率收集:uvm_reg_predictor类还可以收集寄存器操作的覆盖率信息。它可以记录和统计寄存器读写操作的覆盖情况,以评估验证的完整性和效果。这有助于验证工程师确定测试用例的覆盖率,并发现可能存在的测试盲区。 4. 错误注入:uvm_reg_predictor类还提供了错误注入功能,以模拟寄存器操作中的错误情况。它可以注入错误的返回值或错误的写入操作,以测试设计对这些错误的响应。这有助于验证寄存器模型和设计对异常情况的处理是否正确,提高设计的健壮性。 总之,uvm_reg_predictor类在UVM寄存器验证中发挥着重要的作用。它可以预测和验证寄存器操作的行为,与设计模型进行比较,收集覆盖率信息,并提供错误注入功能。这些功能有助于提高验证的准确性、可靠性和效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值