The SystemC Design Language

SystemC is a C++ based standard for specifying hardware/software systems at various levels of abstraction: system level, behavioural level, and register transfer level. It is intended for use as a specification language both in the early (exploratory) phase of a design as well in the later (detailed design) phases.Mechanisms are provided for both abstract system modelling as well as RTL-style description provided in typical Hardware Description Languages.

The most attractive feature of SystemC is that the designer stays within the same language environment/infrastructure as he proceeds refining the early specifications into greater levels of detail. Another compelling factor is that the simulator comes for free. The SystemC class library is open source software and a SystemC model written by the user can be compiled with a standard C++ compiler, with the resulting executable forming the simulator. Typical input formats for waveform viewers (such as .vcd files) can be generated.

SystemC Tutorial Papers

Language Documentation

The SystemC Web Site (News, Discussion Forum, FAQ)