uvm_user_guide_1.2 -- ch2 TLM 通信

2023-10-18 04:59
文章标签 通信 user ch2 1.2 uvm guide tlm

本文主要是介绍uvm_user_guide_1.2 -- ch2 TLM 通信,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2. uvm_user_guide_1.2 -- TLM 通信

  • 2.1 TLM-1的实现
    • 2.1.1 Basics
      • 2.1.1.1 Transactions
      • 2.1.1.2 Transaction级通信
      • 2.1.1.3 基本TLM通信
      • 2.1.1.4 进程间的通信
      • 2.1.1.5 Blocking 与 Nonblocking
      • 2.1.1.6 连接 transaction 级组件
      • 2.1.1.7 点到点的连接
      • 2.1.1.8 Port/Export 匹配
    • 2.1.2 封装和层次
      • 2.1.2.1 层次性连接
      • 2.1.2.2 连接类型
    • 2.1.3 Analysis 通信
      • 2.1.3.1 Analysis Ports
      • 2.1.3.2 Analysis Exports

2.1 TLM-1的实现

2.1.1 Basics

2.1.1.1 Transactions

在UVM中,transaction是包含了两个组件之间传递的信息的类对象。例如,一个传输总线协议信息的transaction以如下方式建模:

class simple_trans extends uvm_sequence_item;rand data_t data;rand addr_t addr;rand enum {WRITE, READ} kind;constraint c1 { addr < 16'h2000; }...
endclass

transaction对象包含变量、约束以及其他需要对transaction进行操作的域和方法。此外,上面的transaction可以被扩展到包含更多信息的transaction,也可以定义包含多个其他transaction的更高级别的transaction。

2.1.1.2 Transaction级通信

Transaction级的接口定义了一系列使用transaction对象作为参数的方法。一个TLM port 在特定的连接中定义了这些方法,TLM export 提供了这些方法的实现。将 port 连接到 export 后,在 port 中可以调用该方法进行执行。

2.1.1.3 基本TLM通信

最基本的transaction级操作允许一个组件将transaction put 到另一个组件。
在这里插入图片描述

producer的方块表示一个 port,consumer的圆圈表示一个 export。producer产生transaction然后通过其 <

这篇关于uvm_user_guide_1.2 -- ch2 TLM 通信的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

RabbitMQ工作模式中的RPC通信模式详解

《RabbitMQ工作模式中的RPC通信模式详解》在RabbitMQ中,RPC模式通过消息队列实现远程调用功能,这篇文章给大家介绍RabbitMQ工作模式之RPC通信模式,感兴趣的朋友一起看看吧... 目录RPC通信模式概述工作流程代码案例引入依赖常量类编写客户端代码编写服务端代码RPC通信模式概述在R

在Spring Boot中实现HTTPS加密通信及常见问题排查

《在SpringBoot中实现HTTPS加密通信及常见问题排查》HTTPS是HTTP的安全版本,通过SSL/TLS协议为通讯提供加密、身份验证和数据完整性保护,下面通过本文给大家介绍在SpringB... 目录一、HTTPS核心原理1.加密流程概述2.加密技术组合二、证书体系详解1、证书类型对比2. 证书获

Python模拟串口通信的示例详解

《Python模拟串口通信的示例详解》pySerial是Python中用于操作串口的第三方模块,它支持Windows、Linux、OSX、BSD等多个平台,下面我们就来看看Python如何使用pySe... 目录1.win 下载虚www.chinasem.cn拟串口2、确定串口号3、配置串口4、串口通信示例5

基于C#实现MQTT通信实战

《基于C#实现MQTT通信实战》MQTT消息队列遥测传输,在物联网领域应用的很广泛,它是基于Publish/Subscribe模式,具有简单易用,支持QoS,传输效率高的特点,下面我们就来看看C#实现... 目录1、连接主机2、订阅消息3、发布消息MQTT(Message Queueing Telemetr

usaco 1.2 Palindromic Squares(进制转化)

考察进制转化 注意一些细节就可以了 直接上代码: /*ID: who jayLANG: C++TASK: palsquare*/#include<stdio.h>int x[20],xlen,y[20],ylen,B;void change(int n){int m;m=n;xlen=0;while(m){x[++xlen]=m%B;m/=B;}m=n*n;ylen=0;whi

usaco 1.2 Name That Number(数字字母转化)

巧妙的利用code[b[0]-'A'] 将字符ABC...Z转换为数字 需要注意的是重新开一个数组 c [ ] 存储字符串 应人为的在末尾附上 ‘ \ 0 ’ 详见代码: /*ID: who jayLANG: C++TASK: namenum*/#include<stdio.h>#include<string.h>int main(){FILE *fin = fopen (

usaco 1.2 Milking Cows(类hash表)

第一种思路被卡了时间 到第二种思路的时候就觉得第一种思路太坑爹了 代码又长又臭还超时!! 第一种思路:我不知道为什么最后一组数据会被卡 超时超了0.2s左右 大概想法是 快排加一个遍历 先将开始时间按升序排好 然后开始遍历比较 1 若 下一个开始beg[i] 小于 tem_end 则说明本组数据与上组数据是在连续的一个区间 取max( ed[i],tem_end ) 2 反之 这个

usaco 1.2 Transformations(模拟)

我的做法就是一个一个情况枚举出来 注意计算公式: ( 变换后的矩阵记为C) 顺时针旋转90°:C[i] [j]=A[n-j-1] [i] (旋转180°和270° 可以多转几个九十度来推) 对称:C[i] [n-j-1]=A[i] [j] 代码有点长 。。。 /*ID: who jayLANG: C++TASK: transform*/#include<

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

【STM32】SPI通信-软件与硬件读写SPI

SPI通信-软件与硬件读写SPI 软件SPI一、SPI通信协议1、SPI通信2、硬件电路3、移位示意图4、SPI时序基本单元(1)开始通信和结束通信(2)模式0---用的最多(3)模式1(4)模式2(5)模式3 5、SPI时序(1)写使能(2)指定地址写(3)指定地址读 二、W25Q64模块介绍1、W25Q64简介2、硬件电路3、W25Q64框图4、Flash操作注意事项软件SPI读写W2