Topic Hub
SystemC High-Level Synthesis Tutorial
A practical HLS path for writing SystemC that can be mapped to hardware.
Simulation asks whether C++ can run. Synthesis asks whether hardware can be built. These lessons focus on static structure, reset behavior, clock boundaries, datatypes, loops, and the subset of SystemC that HLS tools can reason about.
Recommended Path
HLS introductionHow synthesizable SystemC differs from pure simulation models.Synthesizable datatypesBit widths, integer types, fixed-point choices, and performance tradeoffs.Process stylesCombinational and sequential modeling patterns for hardware generation.Loops and schedulingStatic bounds, unrolling, pipelining, and `wait()` placement.
What You Should Be Able to Answer
- Can all SystemC be synthesized? No. HLS tools support a constrained subset focused on static structure and analyzable timing.
- Is TLM synthesizable? Full TLM-2.0 is generally a modeling abstraction, not an RTL contract; use vendor-supported subsets only when documented.