What you'll learn

// A minimal SystemC timer model skeleton
#include <systemc.h>
#include <tlm.h>

class Timer : public sc_module,
              public tlm::tlm_fw_transport_if<> {
public:
  tlm::tlm_target_socket<> socket;
  sc_out<bool> irq;

  SC_CTOR(Timer) : socket("socket") {
    socket.bind(*this);
    SC_THREAD(tick_thread);
  }

  void b_transport(tlm::tlm_generic_payload&, sc_time&);
  void tick_thread();
};
01

SystemC Foundations

What is SystemC and Why It Exists

The motivation behind SystemC, how it differs from RTL simulation, and where it fits in the hardware design flow.

Beginner Coming Soon

Anatomy of sc_module

Modules, ports, processes (SC_METHOD, SC_THREAD), sensitivity lists, and the simulation kernel event loop.

Beginner Coming Soon

Signals, Events, and Time

sc_signal, sc_event, sc_time, wait() semantics, and how simulation time advances in SystemC.

Beginner Coming Soon
02

TLM 2.0 Core Concepts

TLM Generic Payload & Transport Interface

Understanding tlm_generic_payload, blocking vs non-blocking transport, and the initiator-target communication pattern.

Intermediate Coming Soon

Initiator & Target Sockets

How TLM sockets work, binding rules, multi-passthrough sockets, and building your first memory target.

Intermediate Coming Soon

Timing Annotation & Quantum Keeper

Loosely-timed vs approximately-timed modeling, temporal decoupling, and the quantum keeper mechanism.

Intermediate Coming Soon
03

IP & Peripheral Modeling

Modeling a Timer IP

Build a timer with configurable prescaler, auto-reload, capture/compare channels, and interrupt generation.

Timer Hands-on Coming Soon

Clock & Reset Controllers

Modeling clock generation, PLL configuration, clock gating, reset sequencing, and power domain management.

Clock Reset Coming Soon

Interrupt Controllers & Aggregators

Modeling interrupt routing, priority encoding, masking, pending/clear registers, and cascaded interrupt lines.

IRQ GIC Coming Soon

Watchdog Timer

Building a watchdog with window mode, early warning interrupt, and system reset generation on timeout.

Watchdog Coming Soon

Register Modeling Patterns

Status, control, and data registers. Read/write behaviors, write-1-to-clear, reserved bits, and access restrictions.

Registers Coming Soon
04

Virtual Platform Integration

Bus Fabric & Address Decode

Connecting IPs to a bus, address map configuration, bus bridges, and multi-layer interconnects.

Bus Address Map Coming Soon

Clock Trees & Reset Domains

Modeling system-level clock distribution, reset propagation, and power-on sequences across the platform.

System-level Coming Soon
05

Debug & Verification

Simulation Log Analysis

Reading simulation output, tracing TLM transactions, identifying read/write failures, and common error patterns.

Debug Coming Soon

Common Pitfalls & Best Practices

Deadlocks, delta-cycle issues, incorrect sensitivity, payload reuse bugs, and how to avoid them.

Best Practices Coming Soon

Want hands-on training for your team? Get a customized SystemC / TLM 2.0 workshop.

Inquire About Training