Transaction-level modeling (TLM) is an approach to modelling complex digital systems by using electronic design automation software.[1]: 1955 TLM is used primarily in the design and verification of complex systems-on-chip (SoCs) and other electronic systems where traditional register-transfer level (RTL) modeling would be too slow or resource-intensive for system-level analysis. TLM language (TLML) is a hardware description language, usually, written in C++ and based on SystemC library.[1] TLMLs are used for modelling where details of communication among modules are separated from the details of the implementation of functional units or of the communication architecture. It's used for modelling of systems that involve complex data communication mechanisms.[1]: 1955 The modeling approach focuses on the transactions or transfers of data between functional blocks rather than the detailed implementation of those blocks or their interconnections.[2] This abstraction enables faster simulation speeds, often orders of magnitude faster than RTL, while maintaining sufficient accuracy for system-level design decisions, software development, and architectural exploration.[3]
Components such as buses or FIFOs are modeled as channels, and are presented to modules using SystemC interface classes. Transaction requests take place by calling interface functions of these channel models, which encapsulate low-level details of the information exchange. At the transaction level, the emphasis is more on the functionality of the data transfers – what data are transferred to and from what locations – and less on their actual implementation, that is, on the actual protocol used for data transfer. This approach makes it easier for the system-level designer to experiment, for example, with different bus architectures (all supporting a common abstract interface) without having to recode models that interact with any of the buses, provided these models interact with the bus through the common interface.[4]
TLM is typically implemented using SystemC, a C++-based modeling language and library developed specifically for system-level design.[5] The Open SystemC Initiative (OSCI), now part of Accellera, has developed standardized TLM libraries that provide common interfaces and methodologies for transaction-level communication. However, the application of transaction-level modeling is not specific to the SystemC language and can be used with other languages. The concept of TLM first appears in the system-level language and modeling domain.[6]
The methodology has become essential in modern electronic design automation (EDA) flows, particularly for creating virtual platforms that enable early software development and system validation before hardware implementation is complete.[7] TLM models serve as executable specifications that bridge the gap between high-level system requirements and detailed hardware implementations. TLMs are used for high-level synthesis of register-transfer level (RTL) models for a lower-level modelling and implementation of system components. RTL is usually represented by a hardware description language source code (e.g. VHDL, SystemC, Verilog).[1]: 1955–1957
{{cite book}}
: CS1 maint: others (link)
{{cite book}}
: Check |isbn=
value: checksum (help)
© MMXXIII Rich X Search. We shall prevail. All rights reserved. Rich X Search