创建UVM Driver的步骤

描述

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类型。

TLM

TLM

第1行 扩展出driver。

第5行 添加UVM宏,注册simple_driver类型。

第13行 获取virtual interface配置 

第22行 调用get_next_item(),从sequencer中获取下一个激励的数据项。

第25行 向sequencer发出信号,表示当前数据项的驱动已经完成。

第30行 在这里驱动virtual interface来完成数据项激励。





审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分