Simulation, design abstraction, and SystemC
Ed Harcourt · Computer Science Education · 2007
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.