The Increasing Role of SystemC in System Design
Today's post is less technical and a bit more theoretical, but I promise that my next post will be more hands-on.
As somebody working on virtual platforms in an EDA company, I regularly spend time talking to firmware and embedded software engineers with many different backgrounds. Every so often one of them asks, "Why SystemC?" Some software engineers look at SystemC and decide that it looks like a real mess. They mention things like:
- SystemC has complex classes built with C++
- It uses strange macros like SC_MODULE, SC_METHOD, and SC_HAS_PROCESS
- Sometimes it can be difficult to find the cause of compilation errors
- SystemC takes a long time to compile
- Generally it doesn't provide much benefit for all this complexity
They ask, "what is wrong with plain C++ or even plain old C?" Most of the time they ask these questions because they don't understand how everything fits together.
To read the full article, click here
Related Semiconductor IP
- SWI3S Verification IP
- Secure Boot Loader
- Memory Subsystem
- 4/8-bit mixed-precision NPU IP
- Compiler-centric single-core LPU
Related Blogs
- The Integrated Design Challenge: Developing Chip, Software, and System in Unison
- Relationship between architecture and validation in system design
- The Missing Layer in AI Systems Design is Predictable, Scalable Data Movement
- Samsung Foundry and Synopsys Accelerate Multi-Die System Design