UVM:4.2.2 UVM中的 IMP

2024-04-10 17:48
文章标签 4.2 uvm imp

本文主要是介绍UVM:4.2.2 UVM中的 IMP,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.除了PORT 和 EXPORT外,还有第三种端口:IMP。它才是UVM 的精髓,承担UVM 中TLM的大部分代码实现。源码:


1)和之前的15 种PORT 和EXPORT一一对应。

2)IMP 不能发起操作,只作为终点,被动承担者。

3)PORT,EXPORT,IMP 优先级从高到低。PORT 可以直接连接到IMP。

4)第一个参数是传输类型。第二个参数是“在哪个component”。


2.实现过程:

1)A.A_port.put(transaction)调用B.B_export 的put。

2)B.B_export 的put(transaction)又会调用B.B_imp 的put(transaction)。

3)B_imp.put最终会调用B 的相关任务,如B.put(transaction)。

4)所以关于A_port 的操作最终会落到B.put 这个任务上。

5)是属于B 的一个任务,与A 无关,与A 的PORT 无关,也与B 的EXPORT 和IMP 无关。

6)最终要B component 实现接口的操作。所以每个IMP 都要和一个component 对应。


3.A:



B:



env:和上一次一样

仿真通过。


4.把B 中的put 删掉:


报错了。

这篇关于UVM:4.2.2 UVM中的 IMP的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/891739

相关文章

4.2、Django - URL之视图基本用法

此节介绍视图的基本用法。 视图 1、视图一般都是写在APP的views.py文件中 2、视图中函数的第一个参数永远都是request (一个HttpResponse)对象。该对象存储了请求过程中所有的信息,如:所需要的参数以及一些头部信息等 。在视图中,一般是完成逻辑相关的操作 。例如,该请求是添加文章列表,就可以通过request 来接受这些数据 ,然后存储到数据库,最后把执行结果返回浏览器

【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)

利用Systemverilog+UVM搭建SOC及ASIC的RTL验证环境

在集成电路设计的复杂世界中,验证环节是确保设计满足预期功能和性能要求的关键步骤。随着系统级芯片(SOC)和特定应用集成电路(ASIC)的规模和复杂性不断增加,传统的验证方法已经难以满足高效、准确的验证需求。因此,采用先进的验证方法学和工具变得尤为重要。 SystemVerilog(SV)和通用验证方法学(UVM)作为当前硬件验证领域的两大支柱,提供了一套完整的框架和工具,用于构建可扩展、可重用的

4.2.2 usb调试问题

关于升级4.2.2USB调试的问题在这里汇总一下吧 1.如何显示开发者选项   连续点击 设置里面、关于手机中的内部版本号即可显示 2.进行usb调试的时候首先要确保你的adb工具也进行了升级 3.device offline cmd或终端执行   $adb devices 出现adb授权的窗口   确定就ok了 4.2.2 adb工具的下载地址

Oracle imp/exp 导入/导出用户数据

windows: 一 、 导出 exp 前提: Windows下安装了Oracle数据库   链接 导出命令:exp 用户名/密码@数据库 owner=用户名 file=文件存储路径(如:E:\export\test.dmp) 打开CMD命令窗口: win + R  输入CMD 点击确定 例:  C:\Users\administrator> exp test/test@ORCL ow

Announcement: Official Windows support for netcdf 4.2

[netcdf-porting] Official Windows NetCDF support To:  Subject: [netcdf-porting] Official Windows NetCDF support From: Ward Fisher <> Date: Tue, 29 May 2012 15:52:13 -0600

Oracle用dos命令imp数据库dmp文件

之前一直用的是sqlserver ,乍一用Oracle还有点方,闲话就不多说了。这几天主要做的是Oracle,Oracle轻量客户端和plsql的安装配置,在网上找的教程,主要是配置环境变量path和ora这里容易出问题。plsql的话sys权限最大。然后就是用dos导入dmp的操作了,这卡了挺久的,得幸亏度娘威武。 dos导入这块,主要进行以下操作: 1.创建表空间: cr

在vscode中调试,命令行出现错误信息ModuleNotFoundError: No module named ‘imp‘

在vscode中调试,命令行出现错误信息ModuleNotFoundError: No module named ‘imp’ 报错原因 VSCode的python扩展会使用debugpy库实现调试功能。在涉及qt组件加载时,debugpy的qt_loaders.py会尝试加载imp库。而在python3.12及以后的版本中,imp库被importlib取代,因此 import imp语句会报错

`uvm_component_utils

功能意义用法 功能意义 这是一个宏,而且是无参数的宏。作用是注册新类。 之所以用`uvm_component_utils , 目的是为了兼容各种仿真工具。 类似的宏,还有`uvm_object_utils。 用法 class mycomp extends uvm_component;`uvm_component_utils(mycomp);...endclass

uvm_config_db

功能意义命令解析 class hierarchyclass定义methods getsetexistswait_modified 细节注意参考文档 理解仍深入不下去,还需要不断学习uvm和systemverilog的知识。 放在这里,以备以后的提升吧。 功能意义 uvm_config_db#(T) 是一个类,用于配置uvm_component实例的资源;uvm_config