Services and Modeling for Embedded Software Development
Embecosm divider strip
Prev  Next

2.3.1.  Transaction Payload

The data passed in a transaction may take any form. However the TLM 2.0 standard defines a generic payload which is suitable for many uses, and which can be extended if required. By using the generic payload, a TLM 2.0 model will maximize interoperability.

The main features of the generic payload are:

Command

Is this a read or a write?

Address

What is the address (in the hardware sense of an address in memory).

Data

A pointer to the physical data as an array of bytes

Byte Enable Mask

A pointer to an array indicating which bytes of the data are valid.

Response

An indication of whether the transaction was successful, and if not the nature of the error.

Further features provide support for streaming, custom memory management and extensions to the generic payload.

A TLM 2.0 transport function is used to pass the payload to another SystemC thread and obtain a response—i.e. a transaction.

The generic payload is suitable for modeling a wide range of bus interfaces and protocols. However where additional features are required, TLM 2.0 provides an extension mechanism. The chapter on implementing a transactional JTAG debugger interface (see Chapter 11) describes the use of this extension mechanism to model the data for a bit-serial interface.

Embecosm divider strip