What does C++11 mean for SystemC?David C Black, Doulos
In September of 2011, ISO approved an update to the C++ standard, which is known variously as ISO/IEC 14882:2011, C++0x and C++11. This paper takes a quick look at some of the features and illustrates how they can change the way we write SystemC code for the better. Discussion considers potential impacts to performance and code quality. Code examples are accompanied with comments on experiences using the new features and what limitations were encountered.
SystemC means a lot of things to the electronic design community. For many it describes a way of modeling Electronic System Level designs (ESL), and plays a major role in architectural exploration and creating virtual platforms that allow early software development before hardware is available. Technically, SystemC is simply a standardized C++ library with an event driven simulation kernel and facilities to simplify modeling of hardware components using C++.
With the recent releases of standards for both C++ and SystemC, it seems like a good time to see how the standards interact. Some perspective on the two standards is a good place to start, so the next section explores the history of the two standards.
Viewing this paper
If you have not registered for Doulos downloads before, we will ask you to enter some personal details. Read about how we use your details here. On the registration form, you will be asked whether you want us to send you further information concerning other Doulos products and services in the subject area concerned.