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

【IC验证】UVM实验lab03

1. TLM端口的创建、例化与使用

创建:

uvm_get_blocking_port #(fmt_trans) mon_bp_port;

例化:

function new(string name = "mcdf_refmod", uvm_component parent);super.new(name, parent);fmt_trans = new("fmt_trans", this);
endfunction

传入数据:

this.mon_bp_port.put(t);

取出数据:

this.mon_bp_port.get(t);

连接:

2. 多向通信

宏声明:

'uvm_blocking_put_imp_decl(_chnl0);

端口创建:

uvm_blocking_put_imp_chnl0 #(data, component_name) chnl0_bp_imp;

例化:

chnl0_bp_imp = mew("chnl0_bp_imp", this);

3. 回调函数的使用

定义callback:

将callback与组件绑定:

对于后续继承于mcdf_base_test的所有子类,例如cb_mcdf_data_consistence_basic_test都不需要再做这个绑定了

在该组件里面插入callback:

在mcdf_base_test里面调用cb_mcdf_base的cb_do_reg方法。相当于是在这里预留了一个修改入口,方便后续继承该类,并对callback里面的方法进行修改

对cb里面的方法进行修改实现:

对callback进行例化添加使用:

http://www.lryc.cn/news/379964.html

相关文章:

  • document.write()方法总结
  • C#循环语句总结
  • Spring-bean
  • Linux常用命令(14)—查看文件内容(有相关截图)
  • 【html】用html+css实现银行的账户信息表格
  • 两种单例模式(保证线程安全)
  • 开发 Golang 项目的 Docker 化案例
  • PHP面试宝典之Laravel篇
  • 自动驾驶仿真:Carsim转向传动比设置
  • PyTorch nn.CrossEntropyLoss() 交叉熵损失函数详解和要点提醒
  • DW学习笔记|数学建模task2
  • 【大数据 复习】第9章 数据仓库分析工具Hive
  • ionic7 从安装 到 项目启动最后打包成 apk
  • setInterval 定时任务执行时间不准验证
  • Stable Diffusion Model网站
  • K8S - 实现statefulset 有状态service的灰度发布
  • Qt 技术博客:深入理解 Qt 中的 delete 和 deleteLater 与信号槽机制
  • 自学鸿蒙HarmonyOS的ArkTS语言<一>基本语法
  • 【OpenGauss源码学习 —— (ALTER TABLE(列存修改列类型))】
  • 【大数据 复习】第7章 MapReduce(重中之重)
  • Zookeeper:节点
  • 生产级别的 vue
  • kafka(五)spring-kafka(1)集成方法
  • Java中的设计模式深度解析
  • 鸿蒙 HarmonyOS NEXT星河版APP应用开发—上篇
  • [FreeRTOS 基础知识] 互斥访问与回环队列 概念
  • 音视频的Buffer处理
  • 【总结】攻击 AI 模型的方法
  • Linux配置中文环境
  • 深入解析 iOS 应用启动过程:main() 函数前的四大步骤