Modern SystemC tutorial site

SystemC Logo

Learn SystemC from model syntax to simulation-kernel source.

A LearnCpp-style course for hardware architects, verification engineers, embedded developers, and curious C++ programmers who want to understand not only what to write, but why SystemC behaves the way it does.

SC_MODULE(Counter) {
  sc_in<bool> clk;
  sc_out<unsigned> count;

  void tick() {
    count.write(count.read() + 1);
  }

  SC_CTOR(Counter) {
    SC_METHOD(tick);
    sensitive << clk.pos();
  }
};
115lessons ready
15curriculum chapters
Sourcekernel internals covered

Curriculum

Follow a path like LearnCpp, but focused on SystemC.

Deep source literacy

Read the library as a design document.

SystemC is C++, but the library builds a hardware-like world through registration macros, channels, interfaces, deferred updates, event queues, and coroutine-style process control. The source lessons explain those moving parts in plain language.

  • sc_simcontext and the scheduler
  • sc_module construction and hierarchy
  • sc_signal update requests
  • sc_port, sc_export, and interface binding
  • tlm_generic_payload and socket utilities
  • wait(), events, delta cycles, and time