Intel® Compiler for SystemC* is a High-Level Synthesis (HLS) tool which translates synthesizable SystemC into equivalent SystemVerilog RTL. The SystemC Compiler checks a SystemC design for common coding mistakes and generates human-readable SystemVerilog code which looks similar to the original SystemC.
The SystemC Compiler maximizes design and verification engineering productivity by leveraging the high-level abstraction and expressive power of the SystemC ecosystem.
Built on the Clang/LLVM frontend, the SystemC Compiler performs dynamic elaboration, enabling flexible design structures through module templates, constructor parameters, and end-of-elaboration callbacks. Code correctness analysis ensures that the generated SystemVerilog is fully equivalent to the SystemC source.
By applying only minimal transformations and delegating optimization to the underlying logic synthesis tool, the SystemC Compiler produces human-readable SystemVerilog that can be easily matched to the original SystemC code — simplifying power and timing analysis as well as ECO fixes.
Assembling hardware IP from pre-existing components minimizes design
code size and significantly lowers error rates. Over the past 15 years,
we have built the Single Source Library, a robust
collection of reusable hardware primitives including channels, ports,
buffers, and memory wrappers. We also provide custom
sct_uint and sct_int data types to extend
native, bit-accurate SystemC types. Additionally, the SystemC Compiler
library includes high-utility functions optimized for both simulation
and synthesis.
To simplify debugging and eliminate integration errors, the SystemC Assertion Library provides a comprehensive suite of immediate and temporal assertion macros. These macros support thread and method processes, collection validation, and module-level checks. For downstream verification, the SystemC Compiler automatically translates these checks into standard SystemVerilog Assertions (SVA).
Automated hardware design using modern Large Language Models (LLMs) is a promising frontier with diverse applications. AI elevates the hardware coding process, allowing engineers to focus on high-level system problems and tasks while delegating low-level HDL implementation details to AI agents.
To support this workflow, the SystemC Compiler integrates synthesizable, SystemC-aware AI skills that enable accurate code generation and analysis. For instance, the AI Linter Agent analyzes SystemC code much like a traditional static analysis tool. It automatically detects and reports various errors, including functional flaws, inter-process synchronization bugs, improper type usage, arithmetic issues, potential overflows, and style violations.
The SystemC Compiler Framework includes the Compiler itself, a number of SystemC libraries for design and testbench code, AI tools, and the SystemC Tools extension for VS Code. Together, these components provide a powerful infrastructure for modern hardware development.
Learn SystemC with illustrative examples, training videos, and hundreds of tests included with the Compiler:
Write hardware design in the SystemC Synthesizable Subset for method and thread processes, and use arbitrary C++ at the elaboration phase, including module constructors. The SystemC Compiler's main features:
Use high-level communication channels and buffers instead of coding handshakes. The SingleSource library provides reliable and efficient implementation of commonly used channels, components, memories and ports. All these components have clear and natural functional interfaces similar to TLM 1.0:
sct_uint, sct_int — bit-accurate integer
types 0...∞ width, mapped to SystemC typesRun the same SystemC code with SingleSource library components in three modes with equivalent behavior:
Enhance your design architecture and code quality with SystemC Skills and the Linter Agent to:
Use SystemC Tools extension in VS Code to enable SystemC coding, debugging and synthesis flow including:
Install the SystemC Compiler from GitHub on most Linux OS and Windows Subsystem for Linux (WSL):
install.sh for the first installation of the SystemC
Compiler and required dependenciesinstall_icsc.sh to update and rebuild the SystemC Compiler