概述
本文介绍TLM的一些特性 以及 使用TLM的建议用法。
主要内容结合Chap 10.4 of IEEE Std 1666-2011 IEEE Standard for Standard SystemC® LRM。
TLM-1.0到TLM2.0的演进如下。
概念
initiator、target、interconnect component
An initiator is a module that can initiate transactions, that is, create new transaction objects and pass them on by calling a method of one of the core interfaces.
一个发起者,是一个可以初始化事务的模块,也就是说,能够创建新的事务对象并且通过调用TLM2核心接口中的一个方法把这些事务对象传递出去。
A target is a module that acts as the final destination for a transaction.
一个目标,是一个扮演一个事务的最终目的地的模块。
In the case of a write transaction, an initiator (such as a processor) writes data to a target (such as a memory).
在一个写事务的情景中,一个发起者(例如一个处理器)写数据到一个目标(例如一个存储器)。
In the case of a read transaction, an initiator reads data from a target.
在一个读事务的情境中,一个发起者从目标读数据。
An interconnect component is a module that accesses a transaction but does not act as an initiator or a target for that transaction, typical examples being arbiters and routers.
一个互联组件,是一个要访问一个事务的的模块,但它既不充当发起者也不充当目标,典型的例子是仲裁器和路由器。
The roles of initiator, interconnect, and target can change dynamically.
发起者、互联组件和目标,能够动态改变。
For example, a given component may act as an interconnect for some transactions but as a target for other transactions.
例如,一个给定的组件,对于某些事务它可以充当一个互联组件,而对于其他事务它会充当一个目标。
transaction object
The transactio