【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进行例化添加使用:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/732675.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

程序猿大战Python——面向对象——魔法方法

什么是魔法方法? 目标:了解什么是魔法方法? 魔法方法指的是:可以给Python类增加魔力的特殊方法。有两个特点: (1)总是被双下划线所包围; (2)在特殊时刻会被…

MySQL进阶——视图

目录 1基本语法 1.1创建 1.2 查询 1.3 修改 1.4 删除 2 检查选项 2.1 级联CASCADED 2.2本地LOCAL 3 更新及作用 3.1视图的更新条件 3.2视图的作用 4视图案例 1基本语法 视图(View)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在&…

YYU-5/80-260mm型钢筋残余变形测试仪 电子引伸计

YYU-5/80-260mm型钢筋接头专用引伸计,是按照《JGJ 107 2010 钢筋技术连接技术规程》的技术要求设计的,专门用于测试钢筋接头残余变形的双向平均引伸计,其标距可以根据钢筋直径要求进行调整。 完全符合《JGJ 107 2010 钢筋技术连接技术规程》…

Java 超详细实现导入导出 (包含时间转换问题和样式)

序言 工作中遇到了导入导出问题,并且出现了导入或导出Excel时间格式变为数字的问题。通过学习解决实现了这些功能,记录总结分享给大家。本文将详细介绍如何使用 Java 编程语言和 Apache POI 库来实现这些功能。我们将通过一个示例项目演示如何从数据库中…

C语言| 数组倒置II

数组倒置第二种方法:直接在数组内进行倒置 第一个元素和最后一个元素交换, 第二个元素和倒数第二个元素交换 第三个元素和倒数第三个元素交换...... 数组元素个数为偶数,每个元素都能交换一次; 数组元素个数为奇数,最…

这次,彻底理解 JavaScript 的执行机制

无论你是 JavaScript 的初学者还是专家,无论是为了求职面试还是日常开发工作,我们经常会遇到这样的情况:给出几行代码,我们需要知道它们的输出内容和顺序。由于 JavaScript 是一种单线程语言,我们可以得出以下结论&…

南昌代理记账服务,打造专业财务管理团队

随着企业的发展和规模不断扩大,财务管理也变得越来越重要,而代理记账作为一种专业的财务管理服务,正逐步成为中小企业发展的必要条件之一,南昌作为江西省的省会城市,拥有一批优秀的会计服务机构,为各类企业…

基于Java学生选课管理系统设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,…

【启明智显产品分享】工业级HMI芯片——Model3,不止是速度,USB\CAN\8路串口

一、引言 Model3作为一款工业级HMI芯片,其性能卓越且功能全面。本文将从多个角度深入介绍Model3芯片,以展示其不仅仅是速度的代表。 二、Model3核心特性介绍 Model3工业级跨界MCU是一款国产自主的基于RISC-V架构的高性能芯片,内置平头哥E…

你只是重新发现了一些东西

指北君关于另外一条思维路径的发现。 "自以为是"的顿悟时刻 有很多时候,我会"自以为是"的发现/发明一些东西。这种"自以为是"的时刻通常还带有一些骄傲自豪的情绪。这种感觉特别像古希腊博学家阿基米德 在苦思冥想如何测量不规则物体…

windows使用curl命令出现乱码的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

deepin 加入甲辰计划,共建 RISC-V 繁荣生态

内容来源:deepin(深度)社区 今日,deepin(深度)社区宣布正式加入甲辰计划,致力于在下一个丙辰年(2036龙年)之前,基于RISC-V实现从数据中心到桌面办公、从移动穿戴到智能物联网全信息产…

通俗解释resultType和resultMap的区别

【 1 对于单表而言: 注:以下都是摘抄过来的,做了让自己更能理解的版本 如果数据库返回结果的列名和要封装的实体的属性名完全一致的话用 resultType 属性 如果数据库返回结果的列名(起了别名)和要封装的实体的属性名…

Android使用MPAndroidChart 绘制折线图

效果图: 1.导入依赖 1.1在项目根目录下的build.gradle文件中添加代码(注意不是app下的build.gradle): maven { url https://jitpack.io } 1.2在app下的build.gradle中的依赖下添加: implementation com.github.PhilJa…

STM32单片机USART串口收发数据包

文章目录 1. 串口通信 1.1 串口初始化 1.2 库函数 2. 串口收发HEX数据包 2.1 Serial.c 2.2 Serial.h 2.3 main.c 3. 串口收发文本数据包 3.1 Serial.c 3.2 Serial.h 3.3 main.c​​​​​​​ 1. 串口通信 对于串口通信的详细​​​​​​​解析可以看下面这篇文章…

生产实习Day7 ---- Hive介绍

文章目录 概要整体架构流程Hive数据库操作建表语法表分类 概要 Hive是基于Hadoop的数据仓库工具。可以用于存储在Hadoop集群中的HDFS文件数据集进行数据整理、特殊查询和分析处理。Hive提供了类似于关系型数据库SQL语言的HiveQL工具,通过HQL(HiveQL&…

用VPS部署聊天机器人有哪些优势?

VPS足以帮助您将人工智能 (AI) 的功能无缝融入聊天机器人并增强客户支持。聊天机器人已迅速成为改善用户体验的首选解决方案,因为它们全天候在线且可编程回答各种问题。 聊天机器人在客户支持方面的作用不容置疑。但所有出色的解决方案都需要出色的网络托管。 VPS…

从零到发布:npm插件包终极指南

在JavaScript和Node.js的生态系统中,npm(Node Package Manager)是最重要的包管理工具之一。通过npm,开发者可以共享代码、复用他人的工作成果以及协作开发。本指南将详细介绍如何通过npm发布自己的插件包,以便其他开发…

力扣372. 超级次方

Problem: 372. 超级次方 文章目录 题目描述思路复杂度Code 题目描述 思路 1.处理数组指数:如下图可以将其转换为一个递归的操作 2.处理 mod 运算:对于模运算我们有公式: ( a b ) % k ( a % k ) ( b % k ) % k (a \times b) \% k (a \% k) \times (b…

如何利用数据仓库进行业务分析:一名大数据工程师的视角

在大数据时代,数据的有效利用对企业的成功至关重要。 本文将基于上面的流程图,详细介绍如何利用数据仓库进行业务分析,并提供实际的例子和代码演示,以帮助读者更好地理解和应用相关技术。 数据仓库的基本流程 上图展示了一个典…