【UVM基础】5、sequence、sequencer、item、driver

本文详细介绍了UVM框架中sequence、sequenceitem、sequencer和driver的角色及其相互关系。sequence负责生成不同数量的sequenceitem,通过随机化确保每个item独特;sequenceitem经sequencer传递给driver,driver解析并驱动DUT。driver在处理完sequenceitem后可能将状态反馈。sequenceitem是驱动与DUT交互的基本单位,其生命周期始于sequence,终于driver。sequence分为扁平、层次和虚拟三种类型,满足不同激励场景需求。sequencer与driver间通过TLM的get模式通信,driver使用seq_item_port和rsp_port进行请求和响应。整个过程中,正确管理和使用item至关重要,避免直接修改item数据,确保UVM组件间通信的正确性。

主要是了解sequence item、sequence、sequencer、driver 的作用,以及之间是怎么相互联系的。

 在上面这张图中,sequence会产生不同目标数量的sequence item对象,不同主要依托于SV的随机化,是的每个sequence item 的数据内容都不同;产生的sequence item经过sequencer在流向driver,driver对得到的每个sequence item进行数据解析,将数据写入接口上,写入的时候需要注意时序(接口协议),对DUT形成有效激励。

在必要的时候,driver在解析完每个sequence item后,会将最后的状态信息写回sequence item 返回给sequencer,然后最终抵达sequence对象一侧。

sequence item是driver与DUT每一次互动的最小粒度内容,driver往往是一个Sequence item消化完,报告 给sequencer和sequence,同时再请求消化下一个sequence item。

uvm_sequence_item 和uvm_sequence都是基于uvm_object,这是不同于uvm_component的地方,所以可以在uvm环境中的任何地方进行创建和配置。uvm_component只应当在build_phase阶段进行创建和配置。

 

sequence 和 item

这里的sequence指的是uvm_sequence类,而item指的是 uvm_sequence_item类,我们简称其为se

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值