Friday 7 August 2020

Developing & Delivering KnowHow

Home > Knowhow > Systemc > What does C++11 mean for SystemC?

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.

View this paper and access the code download now »

Check out SystemC training and support from Doulos now »

Privacy Policy Site Map Contact Us