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

2.3.  Overview of OSCI TLM 2.0

2.3.1. Transaction Payload
2.3.2. Initiators and Targets
2.3.3. Blocking, Non-Blocking, Debug and Direct Memory Interfaces
2.3.4. Loosely Timed, Approximately Timed and Untimed TLM
2.3.5. TLM 2.0 Convenience Sockets

OSCI TLM 2.0 offers a standard approach to building Transaction Level Models.

At the simplest level a TLM is a set of SystemC modules (i.e. C++ classes), each providing one or more sockets through which the SystemC modules may read and write data.

The behavior of each module is provided by a number of parallel threads (functions of the C++ class), which communicate with the threads in other modules by passing data (i.e. reading or writing) through the sockets. This communication is known as a transaction and the data passed as a payload. Figure 2.1 shows the key components in a TLM 2.0 model.

Key components in an OSCI TLM 2.0 model.

Figure 2.1.  Key components in an OSCI TLM 2.0 model.


Embecosm divider strip