uvm_tlm通信篇总结
UVM通信篇之一:TLM通信概论
- TLM通信需要两个通信的对象,这两个对象分别称之为initiator object和target object。
- 谁首先发起通信的要求,谁就属于initiator,而谁作为发起通信的响应方,谁就属于target
- 按照transaction的流向,我们又可以将两个对象分为producer和consumer。区分它们的方法是,数据从哪里产生,它就属于producer,而数据流向了哪里,它就属于consumer。
- 在target中实现TLM通信方法。
port:经常作为initiator的发起端,也凭借port,initiator才可以访问target中实现的TLM通信方法。
export:作为initiator和target中间层次的端口。
imp:只能是作为target接收request的末端,它无法作为中间层次的端口,所以imp的连接无法再次延伸。
首先来看看下面的例子中,关于TLM端口的类型、层次和对应的连接。可以从对应的连接关系中初步得出TLM端口连接的一般做法:
在initiator端中例化port,在中间层次例化export,而在target端例化imp。
多个port可以连接到同一个export或者imp;但是单个port或者export无法连接多个imp。这可以抽象为多个initiator可以对同一个target发起request,但是同一个initiator无法连接多个target。
port应为request起点,imp应为request终点,而中间可以穿越多个层次。基于单元组件的自闭性考虑,建议在这些穿越的中间层次中声明export,继而通过一级一级的连接实现数据最终的通路。
port可以连接port、export或者imp;export可以连接export或者imp;imp只能作为数据传送的终点,无法扩展连接。
UVM通信篇之二:单向、双向及多向通信(上)
UVM通信篇之四:通信管道应用
put_export:用户可以通过该端口调用put()、try_put()、can_put()。
put_ap:调用了put方法写入的数据同时也会通过该端口的write()函数送出。
get_peek_export:用户可以通过该端口调用get()、try_get()、can_get()、peek()、try_peek()、can_peek()。
get_ap:调用了get和peek方法读出的数据也会通过该端口的write()函数送出。
在使用过程中,我们将以用户将uvm_tlm_fifo的功能类比于mailbox,而不同的地方在于uvm_tlm_fifo提供了各种端口供用户使用
Analysis Port
利用软件的设计模式之一观察者模式(observer pattern)来实现这一要求。observer pattern的核心在于用户需要记住,第一,这是从一个initiator端到多个target端的方式;第二,analysis port采取的是"push"模式,即从initiator端调用多个target端的write()函数来实现循环式的更新。
Analysis TLM FIFO
由于analysis端口的提出实现了一端到多端的传输,而一个新的数据缓存组件类uvm_tlm_analysis_fifo为用户们提供了可以搭配uvm_analysis_port的端口uvm_analysis_imp和write()函数。
UVM通信篇之六:同步通信元件(上)
uvm_event,uvm_event_pool和uvm_event_callback
uvm_tlm通信篇总结相关推荐
- jsp给前端注入值失败_基于 qiankun 的微前端最佳实践(图文并茂) 应用间通信篇...
引言 大家好~ 本文是基于 qiankun 的微前端最佳实践系列文章之 应用间通信篇,本文将分享在 qiankun 中如何进行应用间通信. 在开始介绍 qiankun 的应用通信之前,我们需要先了解微 ...
- 物联网通信篇 NBIOT_01
NBiOT_01物联网通信篇 从今天开始懒博主开始更新了,目前先更新 物联网 通信方面 目前我所测试的通信模组有以下几种型号: NB 4G 5G 今天先来说下怎么用 使用移动 M5311模组 的MQT ...
- 树莓派4B学习笔记——IO通信篇(UART)
文章目录 UART简介 树莓派使用UART与串口屏通信 串口屏简介 硬件连接 配置串口接口 树莓派打开UART接口 树莓派安装串口调试助手 编程实现 wiringSerial.h Serial简介 C ...
- Autosar BSW开发必知的“术语”+“缩写”概念-1-诊断通信篇
如何使用该博文? ==>您可以将该篇博文当做"字典",遇到疑惑的Autosar"关键字",使用组合键Ctrl+F,快速查找该关键字. 推荐Autosar培 ...
- Android 开发:通信篇-TCP客户端
这节教给大家用Android写一个TCP客户端程序 官方文档 Socket - Android SDK | Android Developers 页面 编写连接程序 1.获取控件 EditText e ...
- ReactNative与iOS通信原理解析-通信篇
文章首发个人博客: ReactNative与iOS通信原理解析-通信篇 导语:其实原本是想编写一篇 react-native (下文简称 rn) 在 iOS 中如何实现 jsbridge 的文章 ...
- 【朝花夕拾】Android性能篇之(七)Android跨进程通信篇
前言 转载请声明,转自[https://www.cnblogs.com/andy-songwei/p/10256379.html],谢谢! 只要是面试高级工程师岗位,Android跨进程通信就是最受面 ...
- 【朝花夕拾】Android性能篇之(七)Android跨进程通信篇...
前言 原文:https://www.cnblogs.com/andy-songwei/p/10256379.html 只要是面试高级工程师岗位,Android跨进程通信就是最受面试官青睐的知识点之一. ...
- Hybrid框架之交互通信篇
前言 虽然有些应用在使用React Native或Weex开发,但综合来看,业内还是以混合开发模式为主,从我们自家的App来看,H5业务所占比重越来越高,目前大概占到35%左右,因此一套好的Hybri ...
最新文章
- 4岁学编程,19岁创办以太坊,4年十亿身家!
- flask+gunicorn+supervisor+nginx环境安装,裸Centos
- UTF-8笔记170330
- Linux 命令之 netstat -- 查看网络状态信息/显示网络状态
- 计算机显示器工作原理与维修,新型电脑显示器的原理与维修
- [预告]将要推出编程方式事务管理祥解!
- DB2数据库对象设计
- 点点滴滴——变量对象的产生
- Android设备读写NFC标签
- python爬取微信运动_用 Python 修改微信(支付宝)运动步数,轻松 TOP1
- FLUENT 流体计算应用教程
- VLookup函数和单元格引用
- 第二课——如何有逼格地打字
- Excel批量复制选中单元格的整行
- 朗道十卷《力学》笔记(更新中)
- Geek-10h-re-wp
- ISP PIPLINE(零) 知识综述预热
- 苹果ttc转ttf_ttf转ttc字体格式工具 ttctools
- 计算机网络知识全面讲解:使用Telnet命令发送电子邮件
- 使用Python编写一个渗透测试探测工具
热门文章
- 分享实录 | 阿里巴巴DevOps文化浅谈
- 计算机死机黑屏怎么办,电脑卡机后黑屏怎么办
- 电源管理芯片:LED驱动电源芯片的计划及面积
- 华中科技大计算机全国排名,2017华中科技大学全国排名第几
- 计算机与智能科学专业大学排名,智能科学与技术专业大学排名 2020全国排行榜...
- ccf170902-公共钥匙盒
- CSS3,JS制作网页动画(时空穿梭,魔方,坠落星星,全屏樱花特效)
- MY资源网址整合记录
- matlab app设计步骤_1.1数学建模与MATLAB–MATLAB入门
- 《重学Java设计模式》作者开始录视频了