当前位置: 首页 > news >正文

从零开始搭建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树。


http://www.mrgr.cn/news/39239.html

相关文章:

  • 天童美语:宝宝睡眠不足,对大脑发育有这些影响
  • “卷”智能, 从高质量算力开始
  • 1.2.1 计算机网络分层结构(上)
  • 设计模式之责任链模式
  • 什么是后仿
  • Prisma 基本使用
  • 谱分解与Cholesky分解
  • 《后端程序猿 · Spring事务失效场景》
  • g2o 中定义好的常用边的类型
  • 修改qtcreator创建项目的模板
  • DialMAT:跨模态特征提取与对抗训练的结合
  • Arduino Uno板实现流水灯的设计方案
  • 六、动画系统
  • 9.29 LeetCode 3304、3300、3301
  • B - 1D Keyboard题解
  • k8s架构,从clusterIP到光电半导体,再从clusterIP到企业管理
  • SD2.0 Specification之CPRM(Content Protection for Recordable Media)
  • 「OC」多线程的学习——NSThread
  • Redis: RDB与AOF的选择和容灾备份以及Redis数据持久化的优化方案
  • ADC的原理