自学内容网 自学内容网

从零开始搭建UVM平台(四)-加入interface

书接上回:

从零开始搭建UVM平台(一)-只有uvm_driver的验证平台

从零开始搭建UVM平台(二)-加入factory机制

从零开始搭建UVM平台(三)-加入objection机制

                                                                加入interface

上述代码还有一个问题就是,在my_driver里打出激励赋值需要引用信号的绝对路径,这样操作的麻烦就是一旦路径改了,环境需要修改的地方也很多。要想避免绝对路径的麻烦,首先可以想到改成宏来定义信号路径,宏是一个较好的方法,但是只能用于像dut这种在uvm平台之外的路径,如果路径换成了uvm平台内部的路径,宏的方式还是不能解决问题,此时,一种更好的方式:interface就可以上场了。

第一步:首先新建一个interface文件,作为中间桥梁,连接环境和dut。

第二步:将interface文件加入到环境中:

第二步:连接dut和interface:

第四步:连接my_driver和interface

需要注意的是,my_driver是一个class,class里面不能使用interface,只能使用virtual interface。

注意这里build_phase是function,且返回值一定要写void,且一定写super.build_phase来完成搭建整个UVM树。


原文地址:https://blog.csdn.net/yunduor909/article/details/142644790

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!