《UVM实战》笔记 UVM中的sequence

第6章 UVM中的sequence

sequence和sequencer_wonder_coole的博客-优快云博客

5.小白学uvm验证 - squence机制 - DreamCll - 博客园 (cnblogs.com)

6.1什么是 sequence

  上文提到,子弹,弹夹和枪的比喻,想必大家都有映像,sequence 就像一个弹夹,里面装了很多"子弹",而这里的"子弹"就是 transaction, 弹夹可长可短,只要子弹型号一致(同一种 transaction),就能通过 sequencer 和 driver 把数据驱动给 DUT。在下图中,有三个 sequence 挂载于同一个 sequncer 上(当然也可不同时间挂在其中一个 sequence),通过 driver 进行数据驱动,其中 sequencer 和 driver 是共同使用的。

6.2 什么是 sequencer

  sequencer 为 uvm_component,是验证环境的不动产;而 sequence 是 uvm_object 类型,是环境中的动态产物,随时可以创建和析构。sequencer 它在验证环境作为 sequnce 于 driver 之间的连接器。我们创建出来的 sequence 实例的 sequence_item 需要通过 sequencer 才能进入验证环境中,继而才能传输给 driver。sequencer 的应用实例代码如下(直接继承于 uvm_sequencer,不需要添加任何代码):

sequence:弹夹

sequencer:枪膛

transaction:子弹

driver:扳机

virutal sequence : 可以用于承载不同目标的 sequence (参数不同),组织协调不同的 sequence 按照一定的协议顺序,异步或者同步启动;

它与普通的 sequence 的区别是,它可以包含不同类型的 sequence,其他没有任何区别。

virutal sequencer : virutal sequencer 和普通 sequencer 不同,它用于桥接其 virtual sequencer 内包含的 sequencer,即 virutal sequencer 用于链接所有底层 sequencer 的句柄;virtual sequencer 本身并不传递 transaction,因此 virutal sequencer 不需要和任何 driver 进行 TML 连接;但是用户需要在顶层的 connect_phase 中做好 virtual sequencer 中各 sequencer 句柄与底层 sequencer 实体的一一对接,避免句柄悬空

在此 virutal sequencer 相当于 sequence 和 sequencer 之间的一个中转路由器的作用,上图中红线部分用于完成 virtual sequencer 中各 sequencer 句柄与底层 sequencer 实体的一一对接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我在哪我是谁啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值