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

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基础协议的,也不是遵守用户自定义协议的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值