Skip to content

GLS · Topic

Gate-Level Simulation Debug Methodology

A systematic order for gate-level debug — zero-delay first, then unit delay, then full timing, and what each stage can and cannot prove.

Gate-level debug goes wrong when it starts at the end. A netlist that fails with full timing annotated has many possible causes, and most of them are not timing: a connectivity error, an X from reset, a testbench that assumed RTL behaviour. Running zero-delay first isolates function from timing, and unit delay isolates ordering from delay values — so by the time full timing runs, most candidate causes are already eliminated.

Lessons in this topic(6)

Start hereA Repeatable GLS Debug MindsetRepeatable GLS Debug Mindset
  1. 2Triaging the First Point of Divergence
  2. 3Waveform Debugging at the Gate Level
  3. 4Force, Deposit & Bisecting a Failure
  4. 5RTL-vs-GLS Comparison & Mismatch Isolation
  5. 6Common GLS Mistakes & How to Avoid Them