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.

What This Page Helps You Do

Separate simulation-only SystemC from synthesizable SystemC before a tool does it for you.
Write process, reset, datatype, and loop structures that make hardware scheduling visible.
Understand why full TLM-2.0 is a modeling interface while HLS usually needs narrower contracts.

Recommended Path

Related Search Questions Covered Here

  • systemc synthesis
  • systemc synthesis tools
  • synthesizable SystemC datatypes
  • SC_METHOD vs SC_CTHREAD for HLS
  • SystemC loop pipelining unrolling scheduling

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.