UVM中uvm_sequencer的方法总结
类声明
class uvm_sequencer #(type REQ = uvm_sequence_item,RSP = REQ
) extends uvm_sequencer_param_base #(REQ, RSP)
|new|使用给定的名称和父类(如果有)创建该类实例的标准componnet构造函数。|
|stop_sequences|告诉sequencer杀死当前在sequencer上操作的所有sequence和子sequence,并删除当前排队的所有请求、锁定和响应。|
sequencer接口 | 这是一个与sequencer通信的接口 |
---|---|
seq_item_export | 该export提供了对该sequencer接口的sequencer实现的访问。 |
get_next_item | 从sequence中检索下一个可用的item项。 |
try_next_item | 如果sequence中有可用项,则从sequence中检索下一个可用项。 |
item_done | 表明请求已经完成。 |
put | 发送响应发回给发送请求的sequence。 |
get | 从sequence中检索下一个可用item项。 |
peek | 如果有一个在FIFO中,则返回当前请求项。 |
wait_for_sequences | 等待sequence有一个可用的新item。 |
has_do_available | 如果在sequencer上运行的任何sequence准备提供transaction,则返回1,否则返回0。 |
new
function new (string name,uvm_component parent = null
)
使用给定的名称和父类(如果有)创建该类实例的标准component构造函数。
stop_sequences
virtual function void stop_sequences()
告诉sequencer杀死当前在sequencer上操作的所有sequence和子sequence,并删除当前排队的所有请求、锁定和响应。这实质上是将sequencer重置为空闲状态
sequencer接口
这个一个和sequencer通信的接口。
这个接口定义为
Requests:
virtual task get_next_item (output REQ request);
virtual task try_next_item (output REQ request);
virtual task get (output REQ request);
virtual task peek (output REQ request);
Responses:
virtual function void item_done (input RSP response=null);
virtual task put (input RSP response);
Sync Control:
virtual task wait_for_sequences ();
virtual function bit has_do_available ();
请参阅 uvm_sqr_if_base #(REQ,RSP) 了解这个接口的信息。
seq_item_export
uvm_seq_item_pull_imp #(REQ,RSP,this_type
) seq_item_export
该export提供了对该sequencer接口的sequencer实现的访问。
get_next_item
virtual task get_next_item (output REQ t
)
从sequence中检索下一个可用的item。
try_next_item
virtual task try_next_item (
output REQ t
)
如果sequence中有可用项,则从sequence中检索下一个可用项.
item_done
virtual function void item_done (RSP item = null
)
表明此请求已经完成。
put
virtual task put (RSP t
)
将响应发送回发出请求的sequence。
get
task get (
output REQ t
)
从sequence中检索下一个可用项。
peek
task peek (output REQ t
)
如果有一个在FIFO中,则返回当前请求项。
wait_for_sequences
等待sequence有一个可用的新项。
has_do_available
如果在该sequencer上运行的任何sequence准备提供事务,则返回1,否则返回0。
UVM中uvm_sequencer的方法总结相关推荐
- 理解UVM中的virtual sequencer和virtual sequence
这周看了Cliff的文章<Using UVM Virtual Sequencers & Virtual Sequences>,本文相当于是一个阅读记录. 一.什么时候需要virtu ...
- UVM中的sequence
sequence基础 1. 如果将激励放在driver的main_phase中,是可行的,但是如果要对激励作修改,那么扩展性较差,所以我们将激励改为放在sequence中去写. driver就负责驱动 ...
- uvm 形式验证_一种基于UVM的总线验证方法与流程
本发明涉及芯片设计的功能验证领域,尤其是一种基于UVM的总线验证方法. 背景技术: 随着集成电路工艺的不断进步,集成电路的规模和复杂度也在不断地提高,验证的难度也越来越大.在集成电路设计中,验证工作已 ...
- UVM 中的消息机制
UVM消息属性 UVM 中的消息有三种属性,分别是:严重度(severity).冗余度(verbosity).以及消息的关联行为,此外还有消息的标签 ID.UVM 的消息机制基于该三种属性和标签 ID ...
- 《UVM实战》学习笔记——第四章 UVM中的TLM1.0通信
文章目录 前言 一.TLM1.0 1.TLM的定义 2.数据流:数据流动的方向 3.控制流:动作发起者initiator.动作接收者target 4.各种端口的连接 5.transport 6.non ...
- UVM中的TLM通信
UVM中的TLM通信 1.TLM简介 TLM:Transaction Level Modeling(事务级建模),它是一个独立于语言的一个标准,常用于系统建模,加速软硬件协同开发.在芯片开发中,常配合 ...
- UVM实战 卷I学习笔记10——UVM中的寄存器模型(3)
目录 后门访问与前门访问 *UVM中前门访问的实现 后门访问操作的定义 *使用interface进行后门访问操作 UVM中后门访问操作的实现:DPI+VPI *UVM中后门访问操作接口 后门访问与前门 ...
- UVM中SVA使用指南
UVM中SVA使用指南 文章目录 UVM中SVA使用指南 前言 一.SVA是什么,什么时候使用SVA 二.SVA块 三.SVA块嵌入UVM平台 3.1 绑定方法 3.2 例化方法 四.SVA语法浅讲 ...
- UVM中打印格式及其控制方法
文章目录 前言 一.UVM中提供的打印宏 二.UVM打印宏打印参数 三.命令行控制打印信息 总结 前言 在基于UVM的验证环境中写代码的时候,经常需要打印一些参数进行调试.本文主要总结一下,在UVM中 ...
最新文章
- eclipse中jboss启动时50s错误提示
- java枚举变量反解析用法
- mysql的聚合查询_MySql聚合查询
- Cissp-【第4章 通信与网络安全】-2021-3-12(377页-392页)
- 【转】C#正则表达式小结
- springboot-自动配置原理
- centos mysql 5.6.19_Centos5.8 安装 MySQL5.6.19
- vue给组件传html,如何将 html 模板作为道具传递给 Vue 组件
- 数据:灰度比特币信托基金溢价达41%创近一年新高
- 地图画指定区域_善用GIS 妙绘“环卫”一图画卷
- 【jmeter安装】jmeter下载安装超详细简单步骤
- MacOS Big Sur 11.3 (20E232) Cl 5133/OC 0.6.9/PE 三分区原版黑苹果镜像
- 项目管理学习——PMP 5A高分通过备考经验分享
- 10分钟教你用scratch做一款小游戏,玩游戏不如自己做游戏
- CoreOS发起的友好兼容Kubernetes的存储系统:Torus
- BoardCast广播组件
- UDP sendto频率过快导致发送丢包
- 一种高效的Polar码冻结比特编译码方法
- java 分贝_Android实时获取音量(单位:分贝)
- idea 安装破解版mybatis插件