Skip to content
DenseChip
Learn
PracticeCode labInterview
LearnPracticeCode labInterview

DenseChip

Navigate

Menu

LearnPracticeCode labInterview

Tools

All toolsSV editorCode repoResume
DenseChip

Practice, courses, and chip-design tools in one focused workspace.

LearnPracticeCode labInterviewToolsLearning paths

© 2026 DenseChip

AboutContactPrivacyTerms
← Topics
  1. Topics
  2. The Art of Hardware Debug

The Art of Hardware Debug

All courses

Intermediate · ~30 h · 107 lessons · 13 sections

A method to find any hardware bug, from failing test to hung chip.

Start courseThe Debug Loop

Course map

  1. Part 0 · What Debugging Is
    6 lessons

    Starts with The Debug Loop

  2. Part 1 · Reproduce
    8 lessons

    Starts with Determinism and Seeds

  3. Part 2 · Observe
    9 lessons

    Starts with Reading a Waveform with a Question

  4. Part 3 · Localise
    10 lessons

    Starts with The First Wrong Cycle

  5. Part 4 · Hypothesise and Test
    6 lessons

    Starts with A Hypothesis Must Predict

  6. Part 5 · Bug Classes
    16 lessons

    Starts with Logic Bugs: Off-by-One, Width and Sign

  7. Part 6 · Debug by Stage
    9 lessons

    Starts with RTL Simulation

  8. Part 7 · Hangs and Deadlocks
    7 lessons

    Starts with Hang, Livelock or Starvation

  9. Part 8 · Intermittent Failures
    7 lessons

    Starts with Why Intermittents Happen

  10. Part 9 · Fix, Prove, Prevent
    7 lessons

    Starts with Fix the Cause, Not the Symptom

  11. Part 10 · Case Studies
    12 lessons

    Starts with The Off-by-One That Fails at Wrap

  12. Part 11 · Debug as a Team
    5 lessons

    Starts with Triage Meetings That Converge

  13. Part 12 · Interview Prep
    5 lessons

    Starts with Find the Bug in This Waveform

About this course

Pick a path. Each one orders the same lessons for a different goal. Your progress counts on every path.

New RTL or DV engineers.

6 steps · 51 lessons · about 10 h of reading

  1. 1Part 0 · What Debugging Is6 lessons · 67 min
  2. 2Part 1 · Reproduce8 lessons · 86 min
  3. 3Part 2 · Observe9 lessons · 2 h
  4. 4Part 3 · Localise10 lessons · 2 h
  5. 5Part 4 · Hypothesise and Test6 lessons · 60 min
  6. 6Part 10 · Case Studies12 lessons · 3 h

At the end you can: reproduce, observe and localise any failure in your own block without guessing, then try it on real hunts.

Who this course is for

Anyone who designs or verifies hardware and spends more time debugging than they would like: from your first month on the job to leading a team. Each lesson carries a level badge, Foundation (F), Working (W), Senior (S) or Principal (P), and ends with a lens for the levels above it.

The method in one picture

Show how the course is organised
The debug loop: report, reproduce, observe, localise, hypothesise, then test, fix, prove and prevent, and round again for the next bug.

Every part of the course zooms into one or two steps of this loop. Every case study walks the whole loop and marks the step where the hunt was won or lost.

Real failures, not stories

Every failure in this course is a real run: Icarus Verilog, Verilator, Yosys with a formal solver, and git, on code shown on the page. Most of them happen in dbglab, a small system with a bus, a DMA engine, FIFOs, a CSR block and a power gate, whose version history contains real bugs for you to find.

Tip

This course teaches the method. For the domain detail behind a bug class (CDC, STA, UVM, silicon bring-up), each lesson links to the course that owns it.

Open question bankPractice questions for this track