首页 > 其他分享 >SystemC & TLM-2.0 - TLM-2.0 Interoperability in SyetemC

SystemC & TLM-2.0 - TLM-2.0 Interoperability in SyetemC

时间:2024-06-02 17:57:53浏览次数:19  
标签:protocol target so interoperability TLM Interoperability 2.0 blocking transport

TML-2.0 Interoperability

about telling to interoperability let's about telling to interoperability let's start by defining some terms until them to an initiator is a component that initiates new transactions a target is a component but acts as the endpoint for a transaction, it's an interconnect is a component that simply forwards transactions and is neither an initiator and a target transactions themselves are passed by reference in tier latitude they can be passed in the direction from initiates to target or in the forward path also passed back from target toward initiator on the backward path.

Initiator and Target Sockets

the heart of tearing to our six interface method, cleans that from the tiller to core interfaces on the forward path there are calls to be transport and be transport get direct memory pointer and transport debug and all the backward path caused to env transport backward and invalidate direct memory point let's investigate those core interfaces in a little bit more detail because they're the first step toward achieving interoperability on tier limited.

Blocking Transport

first blocking transport on tier limited first blocking transport the B transport method is the most straightforward way to pass remembering that bus transaction the complete transaction from executing just a single function called new transport is only called on the forward path and as well as passing a transaction by reference it also includes a timing annotation argument a B transport is used with the loosely typed coding style where the goal is to maximize simulation speed.

Non-Blocking Transport

the non-blocking trust what interface is a little more complicated. it supports calls on both the forward path and the backward paths and the idea. with non-blocking transport is a participant multiple phases where a single transaction involves multiple calls we transport some code in the forward direction some code in the backward direction, and that allows more phase transactions and more timely resolution and at the same time sacrifices some simulation speed so it's typically used with the approx time coding style.

TLM-2 Core Interface - DMI and Debug

when the final method calls belong to the DMI in the debug interfaces DMI interfaces, the direct memory interface the get direct memory pointer method which is called on the forward path requests a direct memory pointer from a target the invalidates direct memory pointer which is called on the backward path invalidates the DMI region has previously been accessed and granted. finally transport debug is used for non intrusive read write operations so transport debug is only called on the forward path and the whole point of transport debug is it executes with zero delay no context switches no side effects.

Generic Payload Attributes

for each of these interfaces a single transaction type is purposed and transaction type that gives maximum interoperability is the generic payload. the generic payload has been designed specifically for modeling memory mat buses so it features a command address, data bite enable a streaming mode and your response status and the generic payload can be used in one of two ways, it can either be used off-shelf from what the creating very abstract models of memory mat buses or you're not concerned about the details of specific protocols or it can be extended and used to describe behavior of a specific protocol by making use of the extension mechanism.

Extensions

so the generic payload extension mechanism it's one of the key bits of machinery in tearling - it has a number of advantages generic payload extensions can be routed through components they that know nothing about them so the example shown here the initiation the target at the top can both understand an extension that's routed through a base protocol Ruta that there's nothing about that extinction. the same mechanism cursive used to create private extensions where the generic payload is just used as a place to temporarily put attributes that are best associated with the transaction another component of state need to know anything about those private extensions.

Interoperability versus Internals

so let's step back from the detail well and have a look at interoperability more generally in tier 2 the interoperability layer consists of their core telling two interfaces the API's that are necessary to give the maximum amount of interoperability, so it consists of the interfaces we've discusses the initiator and target sockets a generic payload and the base protocol and the base protocol is a collection of rules for putting together these other elements for maximum interoperability. in addition to the interoperability layer tier limiting also defines the coding styles loosely x in approximately timed and this set of utilities the coding styles and the utilities don't directly make or break interoperability but they are important for productivity they're important to ensure a consistent coding style and to minimize the learning curve for T-, so amongst the unit utilities there are convenient sockets the cotton keeper, which is used for the loosely timed coding style and payload event queues that are used for the approximately time coding style.

b/nb Conversion

we've seen that amongst the core interfaces that are both blocking and non-blocking transport methods and the blocking transport method is typically used with the loosely tied coding style so let's look at a scenario where a loosely timed initiator is communicating. like a target so that straightforward because war components called the transport now let's introduce into the picture an approximately timed initiator, that's making close to enemy transport. now clearly something special has to happen here on in order to maintain interoperability while the tree collides with the utilities there is a particular convenient socket the tearling target socket the supports automatic adaption between the blocking and non-blocking interfaces so the non-blocking colors from the initiator get intercepted by the simple target socket and the simple target socket and dose the appropriate adaption to call the B transport method in the target because although the blocking of the non-blocking methods can be combined without compromising interoperability in order to maximize simulation speed modelers should still be matched for performance so even a single approximately timed component introduced into a loosely time simulation might significantly impact the performance of a simulation.

Kind of Interoperability

so TLM-2 supports interoperability at two different levels for maximum interoperability it makes strength use of the interoperability layer over the interoperability layer consists of the base protocol combined with generic payload G's through the standard sockets. so any initiators interconnects and targets that make use of the base protocol can be connected together off. the shelf and will talk to each other, however it's still possible for functional incompatibilities to exist even using the base protocol fruits are booked a target might not support certain features of the generic payload for example by tea labels or streaming with such a target would still be compliant with the TMT standard and could be connected to other such components that make it functional areas. if it's in purpose.

in that sense the other kind of interoperability that tell into supports is when defining new specific protocols, so a new protocol cannot be bound to the base protocol or more specifically if you have two sockets that are tempted to use different protocol types and they can't be bound together however new specialized protocol should still be creative on top of the generic protocol and that's got two particular advantages: firstly the specific protocol can still exploit the consistency of coding style that the base protocol the generic payload support and secondly the new protocol can still exploit the extension mechanism of the base protocol and the generic payload so in this case we've got an adapter inserted between two different protocols and that adapter can do an extremely low cost conversion between the two different protocols because they're based both based on the same underlying Tynan to machinery.

标签:protocol,target,so,interoperability,TLM,Interoperability,2.0,blocking,transport
From: https://www.cnblogs.com/sys-123456/p/18226275

相关文章

  • Ubuntu 22.04 安装Docker
    Ubuntu22.04安装Docker测试环境Linux系统版本:Ubuntu22.04Serverx64Docker版本:Community20.10.15安装方法方法1:脚本自动安装curl-fsSLhttps://get.docker.com|bash-sdocker--mirrorAliyun方法2:命令行安装首先更新源,安装必要的依赖软件sudoaptupdatesudo......
  • BitComet v2.08解锁全功能豪华版 – 一款高效专业的老牌国产BT下载软件
    软件介绍BitComet(比特彗星)是一款高效专业的老牌国产BT下载软件,BT资源下载利器!BitComet独有长效种子功能,大幅度增加下载速度,增加种子存活率。这款BT下载客户端支持BT/HTTP/FTP,支持BitTorrent(BT协议)、Magnet(磁力链接)、eD2k(电驴下载加速),支持制作BT种子文件发布,自动订阅挂......
  • 八爪鱼-008,2024年chatGPT4智能机器人重构里程碑2.0版本-免费得永久创始人身份标识
    在chatGPT4,智能机器人的帮助下。重构系统。里程碑版本2.0前100个人得永久创始人身份标识。权益1:永久的【八爪鱼FoundersEdition】logo金色标识权益2:月报、资产包、负债包,机会卡,尊享条数额度放开权益3:尊享未来更多专属权益八爪鱼【3个哈哈w点哈哈incom点哈哈to......
  • 【C/C++】--- 指针详解 2.0
    接下来进入指针的进阶部分,准备好大脑补充:(重点)数组名是数组首元素地址数组首元素地址和数组地址,值相同,但本质不同,区别在于二者的类型不相同比如数组intarr[10];数组首元素地址的类型:首先这是一个地址所以要用指针接收,(),然后是地址指向元素的类型为int,所以这个指针的......
  • HDMI转HDMI&USB 2.0&Audio,高清视频采集芯片
    一款高清视频采集芯片,内部集成USB2.0控制器和数据收发模块、HDRX模块和音视频处理模块。MS2109可以将HD接口输出的音视频信号通过USB接口传送到PC、智能手机或平板电脑上预览或采集。USB视频符合UVC规范,音频符合UAC规范,音频支持I2S输入和SPDIF输出,支持Windows、Android和mac......
  • Ubuntu 22.04单机部署K3s
    安装docker从docker官网获取最新的一键安装脚本,安装docker运行环境curl-fsSLhttps://get.docker.com-oget-docker.shsudoshget-docker.shExecutingdockerinstallscript,commit:7cae5f8b0decc17d6571f9f52eb840fbc13b2737<...>安装K3sServer完成docker的安装后......
  • 如何在Ubuntu22.04上安装SDK Manager
    1.Jetson官网注册账号,登陆账号后去下载中心下载deb文件;Jetson官网注册账号参考我的博文:NVIDIAJetson平台账号注册说明-CSDN博客2.下载完毕后将deb文件包拖入Ubuntu22.04虚拟机内,执行以下命令安装;sudodpkg-isdkmanager_2.1.0-11669_amd64.deb3.终端输入“sdkmanagr......
  • [工具] png图片打包plist工具,手把手教你使用pngPackerGUI_V2.0
    png图片打包plist工具,手把手教你使用pngPackerGUI_V2.0此软件是在pngpacker_V1.1软件基础之后,开发的界面化操作软件,方便不太懂命令行的小白快捷上手使用。 下载地址请关注底部微信公众号联系客服1.下载并解压缩软件,得到如下目录,双击打开pngPackerGUI.exe 2.打开pngPac......
  • Ubuntu22.04安装YOLOv5,anaconda,cuda,pycharm步骤
     主要是牛马打工人最近突然接到通知,说要做一个人脸识别的功能,然后我作为“nm”就被迫接了,有一说一,这玩意儿真是ex,因为我笨,看不懂,而且大多数都是因为,真nm服了,为了以后的打工牛,少走弯路,我就想着做一个步骤一.先准备准备(在主目录下)因为看教程时总是纠结安装的路径,之前看教......
  • SpringBoot项目接入分布式任务调度平台xxl-job(2.0.2)说明
    简介如果是单体项目,定时任务写到项目中就能满足需要,当需要部署集群的时候就会出现问题,接入统一的任务调试平台是一个不错的选择。接入xxl-job挺简单的,只需要几步,好记性不如烂笔头,记录一下步骤,方便以后使用。 本次使用软件的相关版本:xxl-job版本:2.0.2spring-boot:2.3.6.RELEAS......