翻译 第9章 of IEEE Std 1666-2011 IEEE Standard for Standard SystemC Language Reference Manual

2023-10-31

9. Overview of TLM-2.0
9. TLM-2.0的概述

The following clauses define the OSCI Transaction-Level Modeling Standard, version 2.0, also known as TLM-2.0. 
接下来的内容是定义 OSCI 的事务层建模规范,第2版,也就是TLM-2.0.


TLM-2.0 supersedes versions 2.0-draft-1 and 2.0-draft-2, and it is not generally compatible with either. 
TLM-2.0 用来接替2.0的第一份草稿和第二份草稿,而且TLM-2.0并不与这两份草稿兼容。


This version of the standard includes the core interfaces from TLM-1.
这个新的版本包括了TLM-1的核心接口。


TLM-2.0 consists of a set of core interfaces, the global quantum, initiator and target sockets, the generic payload and base protocol, and the utilities. 
TLM-2.0的组成部分有:一组核心接口、全局量子时间、发起者套接字、目标套接字、事务净核、基础协议和一些实用工具。


The TLM-1 core interfaces, analysis interface, and analysis
ports are also included, although they are separate from the main body of the TLM-2.0 standard. 
其中,TLM-1规范中的核心接口、分析接口、分析端口也还包括在TLM-2.0中,但是它们是与TLM-2.0相分离的。


The TLM-2.0 core interfaces consist of the blocking and non-blocking transport interfaces, the direct memory interface
(DMI), and the debug transport interface. 
TLM-2.0的核心接口组成有:阻塞传输接口、非阻塞传输接口、直接内存访问接口、调试传输接口。


The generic payload supports the abstract modeling of memorymapped buses, together with an extension mechanism to support the modeling of specific bus protocols while maximizing interoperability.
通用有效载荷支持对内存映射总线的抽象建模,并且有扩展机制来支持对特别总线协议的建模,使得互操作性最大化。


The TLM-2.0 classes are layered on top of the SystemC class library as shown in Figure 16.
如图16所示,TLM-2.0的一系列类,是在SystemC的类库基础上分层设计的。


For maximum interoperability, and particularly for memory-mapped bus modeling, it is recommended that the TLM-2.0
 core interfaces, sockets, generic payload, and base protocol be used together in concert. 
为了达到最大的互操作性,特别对于内存映射的总线建模时,我们推荐协调一致地一并使用TLM-2.0的核心接口、套接字、有效载荷和基础协议。


These classes are known collectively as the interoperability layer. 
这些类合在一起,被称为互操作性层。


In cases where the generic payload is inappropriate, it is possible for the core interfaces  and the initiator and target sockets, or the core interfaces alone, to be used with an alternative transaction type. 
在有效载荷不适用的情况下,对于核心接口、发起者和目标套接字,或者单单在核心接口中, 使用一个供替代的事务类型是可能的。
 
It is even technically possible for the generic payload to be used directly with the core interfaces without the initiator and target sockets, although this approach is not recommended.
对于有效载荷来说,直接用核心接口传输它,而不用发起者套接字和目标套接字参与,在技术上也是可能的,但是并不推荐这么做。
 
It is not strictly necessary to use the utilities to achieve interoperability between bus models. 
达到在总线上的模型间的互操作性,并不严格地要求使用实用工具。

Nonetheless, these classes should be used where possible for consistency of style and are documented and maintained as part of the TLM-2.0 standard.
尽管如此,还是应该在可能的地方使用这些类,以便风格一致,而且这些实用工具类是作为TLM-2.0规范的一部分来维护和做文档的。
 

图16

The generic payload is primarily intended for memory-mapped bus modeling, but it may also be used to model other non-bus protocols with similar attributes. 
有效载荷主要是为了内存映射总线系统的建模而设计的,但是它也可以用于其他属性类似的非总线协议的建模。

The attributes and phases of the generic payload can be extended to model specific protocols, but such extensions may lead to a reduction in interoperability depending on the degree of deviation from the standard non-extended generic payload.
可以扩展通用有效载荷的属性和相位,来对特定的协议进行建模,但是这回导致互操作性的降低,这依赖于扩展后的有效载荷与标准的未扩展的有效载荷之间的偏离程度。

A fast, loosely-timed model is typically expected to use the blocking transport interface, the direct memory interface, and temporal decoupling. 
一个快速的、松散时间模型是如下三样技术的典型应用场景:阻塞传输接口、直接内存访问接口、时间去耦合。

A more accurate, approximately-timed model is typically expected to use the non-blocking transport interface and the payload event queues. 
一个更加精确的,近似时间模型则是如下两样技术的典型应用场景:非阻塞传输接口、有效载荷事件队列。


These statements are just coding style suggestions, however, and are not a normative part of the TLM-2.0 standard.
以上这些论述,虽然言之凿凿,但仅仅是编码风格的建议,而非TLM-2.0规范的标准内容。

 

 


9.1 Compliance with the TLM-2.0 standard
9.1 遵守TLM-2.0规范

This standard defines three notions of compliance related to the TLM-2.0 classes, the first concerning compliance of the implementation and the latter two concerning compliance of the application.
这个规范定义3点需要遵循的跟TLM-2.0那些类相关的规则,第一点规则跟对TLM-2.0规范的实现相关;后两条则跟规范的应用相关。

a) A TLM-2.0-compliant implementation is an implementation that provides all of the TLM-2.0 classes described in this standard with the semantics described in this standard, including both the TLM-2.0 interoperability layer and the TLM-2.0 utilities. 
一个遵从TLM-2.0规范的实现,是一个提供了按照本规范中描述的语义的TLM-2.0的全部类的实现,这包括TLM-2.0的互操作层和实用工具。

TLM-2.0-compliance alone does not infer full compliance with the entire standard, although it does implicitly infer compliance with the subset of SystemC used by the TLM-2.0 classes (see also 1.3).
单独对TLM-2.0的遵守,并不能推断出对整个标准的遵守,虽然单独对TLM-2.0的遵守确实能够隐式第推断出对TLM-2.0的那些类所使用到的SystemC的类的子集的遵守(参考1.3节)。

b) A TLM-2.0 base-protocol-compliant model is a part of an application that obeys all of the rules of the TLM-2.0 base protocol as described in this standard. 
遵守TLM-2.0基础协议的模型,是一个遵守本标准中所描述TLM-2.0基础协议中的全部规则的应用程序。

Such a model will necessarily consist of one or more SystemC modules with standard sockets (as defined below) specialized using the protocol traits class tlm_base_protocol, and precisely obeying each and every rule defined in 15.2.
这样的一个模块,会是至少包含一个或多个携带了标准套接字的SystemC模块,特别是使用了协议特性类tlm_base_protocol,和精确地遵守15.2节中定义的每一条规则。

See 15.2.1 for an introduction to the base protocol rules and 14.2.1 regarding the use of extensions with the base protocol.
对基础协议的规则的介绍,在15.2.1段;对基础协议的扩展的使用则在14.2.1段。

c) A TLM-2.0 custom-protocol-compliant model is a part of an application that has standard sockets specialized with a user-defined protocol traits class (specifically not tlm_base_protocol) and that uses the generic payload, including the generic payload extension and memory management mechanisms where appropriate. 
一个遵守用户自定义协议的模型,是一个包含了专门用于用户自定义协议特性类(特别不同于tlm_base_protocol)并使用通用载荷、包括了通用载荷扩展和适当使用了内存管理机制的套接字。

A custom-protocol-compliant model is not obliged to obey any of the rules of the base protocol, although such a model is recommended to follow the rules of the base protocol as closely as possible in order to minimize the amount of engineering effort required to interface any two such models. 
一个遵守用户自定义协议的模型,并没有义务一定要遵守任何基础协议的规则,虽然这样的一个模型也推荐尽可能地遵守基础协议的规则,以便能够最小化工程师在接合任意两个这类模型时的工作量。

Although this recommendation is necessarily informal, there being no a priori limits on the kinds of protocols modeled using TLM-2.0, it is key to gaining benefit from the TLM-2.0 standard. 
虽然这个推荐有必要做成非正式的,但是,能够使用TLM-2.0建模的协议并没有先验的限制,关键是能够从TLM-2.0标准中获得方便。

See 14.2.2 regarding the relationship between custom protocol rules and the base protocol.
14.2.2讲了用户自定义协议的规则和基础协议的规则之间的关系。


In case b) and case c), the term standard socket means an object of type tlm_initiator_socket,tlm_target_socket, or any class derived from one of these two classes.
在b和c两条中所用的术语标准套接字,是指类tlm_initiator_socket或类tl_target_socket的一个对象,或者两者之一的派生类的对象。

A model that uses only isolated features of the TLM-2.0 class library may be compliant with this standard but is neither TLM-2.0 base-protocol-compliant nor TLM-2.0 custom-protocol-compliant.
仅仅是孤立地使用了TLM-2.0类库的特性的一个模型,可能是遵守本规范的,虽然这个模型既不是遵守TLM-2.0基础协议的,也不是遵守用户自定义协议的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

翻译 第9章 of IEEE Std 1666-2011 IEEE Standard for Standard SystemC Language Reference Manual 的相关文章

  • 下载的python没有pip_python – 所有依赖项都不会通过“pip download”下载

    我正在尝试使用可以在没有互联网连接的计算机上重新安装的软件包来设置本地目录 但是我遇到了一些软件包的问题 我首先下载包 pip download r requirements txt d my packages no binary all
  • python_元组_1.07

    一 元组 1 定义 python的元组与列表类似 不同之处在于元组的元素一旦定义就不能修改 添加 删除 可以访问 元组使用小括号 列表使用方括号 元组创建很简单 只需要在括号中添加元素 并使用逗号隔开即可 course chinese ma
  • 微信小程序-消息提示框实例

    做Android的时候对toast是很熟悉的 微信小程序开发中toast也是重要的消息提示方式 提示框 wx showToast OBJECT 显示消息提示框 OBJECT参数说明 示例代码 wx showToast title 成功 ic
  • 第5讲:业务扩展模型图

    业务扩展模型图主要是将雨雾流程相关的重要人 事 物及这个业务流程所要达成的目标做一个链接 不过有关业务流程的内部细节 通常不会在这张图中介绍 一 元素 1 1 流程 Process 代表一连串有意义的工作流程 在一个 流程 中通常要达成一个
  • myeclipse出现Could not find the main class原因分析

    昨天晚上像往常一样打开myeclipse 随便运行一个类 run as java application 居然弹出Could not find the main class Program will exit 按照以往的经验 做如下检查 编
  • 【Unity】ShaderToys——将大神们写的shader搬到unity中来吧

    这篇文章翻译自国外的一篇文章 这里是原文链接 正在使用unity的你是否在shader toy上发现很多牛逼哄哄的shader却不知道如何使用 那么这篇文章就是帮助你来进行转换的 本文只是基础文章 那些对HLSL CG GLSL都很熟悉的大
  • 后台权限管理系统(2)——系统基础数据的展示

    目录 1 页面效果展示 2 具体实现 2 1 订单管理模块 2 1 1 订单展示页面 2 1 2 订单详情页面 1 页面效果展示 实现效果如下 订单管理页面 产品管理页面 2 具体实现 2 1 订单管理模块 2 1 1 订单展示页面 点击订

随机推荐