Driver的作用是从sequencer中获得数据项,按照接口协议将数据项驱动到总线上。UVM类库提供了uvm_driver基类,所有的Driver类都应该直接或间接地从该类中扩展出来。Driver有一个TLM port,通过它与sequencer进行通信。
要创建一个Driver:
- 派生自uvm_driver基类。
- 注册到factory机制。
- 从sequencer中获取下一个数据项,将数据项驱动到总线上。
- 在Driver中声明一个virtual interface,配置到连接DUT实际interface的virtual interface上。
下面例子中的simple_driver定义了一个Driver类。这个例子从uvm driver派 生 出 simple_driver(参数化为simple_item事务类型),并使用seq_item_port中的方法与sequencer进行通信。simple_driver包括一个构造函数,以及使用**`uvm_component_utils宏**在factory中注册simple_driver类型。
- 第1行 扩展出driver。
- 第5行 添加UVM宏,注册simple_driver类型。
- 第13行 获取virtual interface配置
- 第22行 调用get_next_item(),从sequencer中获取下一个激励的数据项。
- 第25行 向sequencer发出信号,表示当前数据项的驱动已经完成。
- 第30行 在这里驱动virtual interface来完成数据项激励。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
driver
+关注
关注
0文章
526浏览量
66572 -
UVM
+关注
关注
0文章
181浏览量
19139 -
TLM
+关注
关注
1文章
32浏览量
24734
发布评论请先 登录
相关推荐
IC验证"一个简单的UVM验证平台"是如何搭建的(六)
连载....小编考虑到一个好的连续剧不能没有结尾,所以后期会持续更新ic验证的UVM相关内容.......今天更新一个最简单的验证平台,只有driver的验证平台.....driver是验证平台最基本
发表于 12-04 15:48
IC验证"UVM验证平台加入factory机制"(六)
加入factory机制 上一节《IC验证"一个简单的UVM验证平台"是如何搭建的(五)》给出了一个只有driver、使用UVM搭建的验证平台。严格来说这根本就不算是UVM验证
发表于 12-08 12:07
IC验证“UVM验证平台加入objection机制和virtual interface机制“(七)
/my_driver.sv 13 task my_driver::main_phase(uvm_phase phase); 14 phase.raise_objection(this); 15 `
发表于 12-09 18:28
数字IC验证之“构成uvm测试平台的主要组件”(4)连载中...
。 图示是一个典型的uvm测试平台的结构图,构成测试平台的每一个元素称为组件,既component。 下面从底层到高层,就每一个组件来说明它们在测试平台中所起到了作用。 第一个组件是driver
发表于 01-22 15:33
什么是uvm?uvm的特点有哪些呢
直观的印象,就是uvm验证平台,它是分层的结构。图中的每一个巨型框都代表着平台的一个构成元素。这些元素呢,我们称为平台组建,下面来简单的分析一下。从最底层上来看,agent 中包含了driver,monitor和sequencer,其中
发表于 02-14 06:46
请问一下在UVM中的UVMsequences是什么意思啊
uvm_object基类扩展得到。UVM sequences不是在仿真的开始,而是在仿真的过程中生成并分配内存的,也没有类似uvm_component的层次结构。随着仿真的进行,将创建
发表于 04-11 16:43
谈谈UVM中的uvm_info打印
, this); endfunction m_rh是uvm_report_handler class类型的。在1个基于uvm_report_object继承过来的class在new的时候,会自动创建出m_rh
发表于 03-17 16:41
Modelsim uvm库编译及执行
第一句话是设置uvm环境变量,指定uvm的dpi位置。
第二句话是创建work工作目录。
第三句话是编译源文件,并且通过-L指定几个编译库。
第三句是执行仿真,调用uvm库
UVM response_handler和get_response机制
很多UVM用户平时更多的使用get_response()方式去获得uvm_driver的response,但get_response有些缺点
UVM driver和sequencer的通信
sequencer生成激励数据,并将其传递给driver执行。UVM类库提供了uvm_sequencer基类,其参数为request和response数据类型。
评论