TransactionLevelModeling

Transaction Level Modeling

Consider a system with parallel communicating processes (both hardware and software), whereas data streams must be routed between several modules over a bus or crossbar-switch. Those modules (Masters) can issue read or write requests to the underlying architecture (usually over generic bus or crossbar switch) to memory modules (Slaves). Requests can be implemented as function calls in a channel, issued by processes. The channel itself may invoke further function calls in slave modules, for example.

The description of channel-based communication is more abstract, instead of signal-based communication. Thus, it is well suited for early implementation, analysis and studies of the overall system performance.

Speaking generally, TLM means that communication is implemented by function calls, e.g. read(int addr, int data). TLM enables modeling communication functionality at higher levels of abstraction, thus simulation runs are faster and the overall implementation can be more compact.

With TLM those requests are implemented as hierarchical channels in SystemC. Hierarchical channels contain processes and modules that implement the communication functionality, wheras the actual implementation of the communication architecture is hidden. That way, early platform development is being supported also allowing early system exploration and verification.


PageComment2(commentfirst=1,nosmiley=1,articleview=1)


NewPage(PublicTemplate,New Page Here,SystemC/TransactionLevelModeling)