Skip to main content
  • Multi-Level Hardware Debug | Session 4: CPU Debug — Single-Core, Multi-Core and OS-Aware
1 of 3

Multi-Level Hardware Debug | Session 4: CPU Debug — Single-Core, Multi-Core and OS-Aware

Tue 15 Jun 2027 11:00 AM - 2:00 PM BST Online, Teams

Multi-Level Hardware Debug | Session 4: CPU Debug — Single-Core, Multi-Core and OS-Aware

Tue 15 Jun 2027 11:00 AM - 2:00 PM BST Online, Teams

Multi-Level Hardware Debug | Session 4: CPU Debug — Single-Core, Multi-Core and OS-Aware

We offer a 50% discount to students; please complete this form to avail the discount.

How do you debug a CPU when the problem lies in the RTL, the software or the interaction between multiple HARTs?

This session explores CPU-level debugging, covering comparison against the Spike golden model, register and memory inspection, stack overflows, hard faults and the mcause table. You will also examine reverse debugging with rr, KGDB, multi-core halt groups, Helgrind, ThreadSanitizer and OS-aware debugging with FreeRTOS and Zephyr.

The live demonstrations investigate an architectural mismatch between an RTL CPU and Spike, debug a loop using GDB with Spike as the target, diagnose a stack-pointer fault and track down a shared-counter race between two HARTs.

This session is part of a six-session professional training programme:

REGISTRATION FOR ALL 6 SESSIONS IS 210$ ONLY.

What You Will Learn

  • Comparing an RTL CPU against Spike as a golden model

  • Register and memory inspection

  • Stack overflows and hard faults

  • The mcause table and exception diagnosis

  • Reverse debugging with rr

  • Kernel debugging using KGDB

  • Multi-core halt groups

  • Shared-memory race conditions

  • Helgrind and ThreadSanitizer

  • OS-aware debugging with FreeRTOS and Zephyr

  • Investigating watchdog resets

Why This Matters

CPU-level failures can originate from architectural mismatches, software execution, memory corruption or interactions between multiple HARTs.

This session builds practical debugging skills to identify the first point of divergence, examine processor state, and investigate concurrency-related failures.

Ideal For

  • CPU verification engineers

  • RTL design engineers working with RISC-V processors

  • Embedded software engineers

  • Engineers working with multi-core systems

  • Engineers debugging FreeRTOS or Zephyr applications

Working knowledge of SystemVerilog, basic UVM and RISC-V assembly is required.

Training Format

  • 3-hour live online training session

  • Concise teaching blocks

  • Four live demonstrations:
    • Finding the first architectural mismatch between an RTL CPU and Spike

    • Debugging a loop in GDB with Spike as the target

    • Diagnosing a stack-pointer fault (mcause=0x7) from a captured boot.S session

    • Investigating a two-HART shared-counter race using halt groups and hardware watchpoints

  • Practical register, memory and execution-state investigation

  • Ten-minute break and five-minute quiz at the midpoint

This session is Session 4 of the six-session Multi-Level Hardware Debug Programme.