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文章
181浏览量
18974 -
TLM
+关注
关注
1文章
32浏览量
24677 -
DUT
+关注
关注
0文章
182浏览量
11998
原文标题:创建UVM Driver
文章出处:【微信号:芯片验证工程师,微信公众号:芯片验证工程师】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论