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来完成数据项激励。
审核编辑:刘清
-
UVM
+关注
关注
0文章
182浏览量
19240 -
TLM
+关注
关注
1文章
32浏览量
24785 -
DUT
+关注
关注
0文章
190浏览量
12521
原文标题:创建UVM Driver
文章出处:【微信号:芯片验证工程师,微信公众号:芯片验证工程师】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
IC验证"一个简单的UVM验证平台"是如何搭建的(六)
IC验证"UVM验证平台加入factory机制"(六)
IC验证“UVM验证平台加入objection机制和virtual interface机制“(七)
数字IC验证之“什么是UVM”“UVM的特点”“UVM提供哪些资源”(2)连载中...
数字IC验证之“构成uvm测试平台的主要组件”(4)连载中...
什么是uvm?uvm的特点有哪些呢
请问一下在UVM中的UVMsequences是什么意思啊
谈谈UVM中的uvm_info打印
UVM response_handler和get_response机制
![<b class='flag-5'>UVM</b> response_handler和get_response机制](https://file1.elecfans.com/web2/M00/88/97/wKgZomRsfyiAZE5GAAS10H31W6c530.jpg)
创建UVM Driver
![<b class='flag-5'>创建</b><b class='flag-5'>UVM</b> <b class='flag-5'>Driver</b>](https://file1.elecfans.com/web2/M00/88/E0/wKgaomR1sPuALJTcAAGJv-_jZtc643.jpg)
UVM driver和sequencer的通信
![<b class='flag-5'>UVM</b> <b class='flag-5'>driver</b>和sequencer的通信](https://file1.elecfans.com/web2/M00/89/48/wKgaomSAAHeARPG7AACCxEaIzjw229.jpg)
评论