IEEE approves the IEEE 1666.1–2016 standard for SystemC AMS.IEEE approves the IEEE 1666–2011 standard for SystemC.SystemC AMS extensions 1.0 LRM released.TLM-2.0 LRM released, accompanied by TLM-2.0.1 library.IEEE approves the IEEE 1666–2005 standard for SystemC.SystemC 2.1 LRM and TLM 1.0 transaction-level modeling standard released.SystemC 2.0.1 LRM (language reference manual) released.
Processes are the main computation elements.
SystemC provides three different process abstractions to be used by hardware and software designers. Processes are used to describe functionality.
SystemC supports single-direction and bidirectional ports.Įxports incorporate channels and allow communication from inside a module to the outside (usually to other modules). Modules have ports through which they connect to other modules.
Resolved signals can have more than one driver (a bus) while unresolved signals can have only one driver. SystemC supports resolved and unresolved signals. Ports allow communication from inside a module to the outside (usually to other modules) via channels. The modules can be thought of as a building block of SystemC. A SystemC model usually consists of several modules which communicate via ports. Modules are the basic building blocks of a SystemC design hierarchy. This is a hierarchical entity that can have other modules or processes contained in it. SystemC has a notion of a container class called a module. SystemC version 2 added abstract ports, dynamic processes, and timed event notifications. From version 2 onward, the focus of SystemC has moved to communication abstraction, transaction-level modeling, and virtual-platform modeling. SystemC version 1 included common hardware-description language features such as structural hierarchy and connectivity, clock-cycle accuracy, delta cycles, four-valued logic (0, 1, X, Z), and bus-resolution functions. The performance of the OSCI open-source implementation is typically less optimal than commercial VHDL/Verilog simulators when used for register transfer level simulation. Source code can be compiled with the SystemC library (which includes a simulation kernel) to give an executable. Although strictly a C++ class library, SystemC is sometimes viewed as being a language in its own right. On the other hand, it offers a greater range of expression, similar to object-oriented design partitioning and template classes. SystemC has semantic similarities to VHDL and Verilog, but may be said to have a syntactical overhead compared to these when used as a hardware description language. Although it was the intent of OSCI that commercial vendors and academia could create original software compliant to IEEE 1666, in practice most SystemC implementations have been at least partly based on the OSCI proof-of-concept simulator. OSCI also provide an open-source proof-of-concept simulator (sometimes incorrectly referred to as the reference simulator), which can be downloaded from the OSCI website. The LRM provides the definitive statement of the semantics of SystemC.
SystemC is defined and promoted by the Open SystemC Initiative (OSCI - now Accellera), and has been approved by the IEEE Standards Association as IEEE 1666-2011 - the SystemC Language Reference Manual (LRM). 5 Power and energy estimation in SystemC.