SystemC is a system-level design and simulation language based on C++. We've been using SystemC for computer organization and design projects for the past several years. Because SystemC is embedded in C++ it contains the powerful abstraction mechanisms of C++ not found in traditional hardware description languages, such as support for object-oriented programming and generic programming (templates). This support for abstraction allows instructors to reinforce standard abstraction concepts such as information hiding, interfaces, and abstract data types, standard fare in a computer science curriculum. Furthermore, embedded software is often written in C++ and SystemC provides threading facilities useful for designing and implementing embedded software.
['Ed Harcourt']
Simulation, Design Abstraction, and SystemC.