UVM:观察者模式、uvm_subscriber

1. 观察者模式

Observer Pattern:对象之间定义一个一对多的依赖关系,当一个对象改变的时候,所有依赖对象都会自动收到通知。

观察目标(Subject)和观察者(Observer)是一对多的关系。有时候观察者模式也叫做发布-订阅模式(Publisher-Subscriber)。观察者模式将观察者和被观察者代码解耦。

2. uvm_subscriber

UVM中内建了uvm_subscriber类,可以被当作观察者或者订阅者使用。

 verificationacademy.com/verification-methodology-reference/uvm/docs_1.2/html/

订阅者订阅monitor中收集到的transaction。

覆盖率模块,参考模型,scoreboard都是订阅者。

每当monitor收集到新的transaction,自动调用write函数,将transaction广播出去。

uvm_analysis_port是一个广播的port,可以对应多个接收者。

至于write函数如何实现,monitor并不关心,每个订阅者的write实现不同。

在覆盖率类中write具体实现就是调用sample函数,收集覆盖率。

UVM通过connect函数将TLM端口连接,在订阅者和发布者之间建立了联系。
————————————————
原文链接:https://blog.csdn.net/Holden_Liu/article/details/112008271

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值