Skip to content
DenseChip
Learn
PracticeCode 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

AboutRoadmapCareersInternshipsFAQContactPrivacyTerms
Skip to lesson

Course contents

  • How to Use This Course
  • The NanoSoC Tour
  • Reading Path
  • SoC Glossary10
  • SoC Metrics Reference
  • SoC Cheatsheet
  • What SoC Integration Is12
  • Architecture and Budgets21
  • Memory Maps and Address Decode26
  • Interconnect and Bus Fabrics26
  • Clock and Reset Architecture24
  • Power Architecture21
  • Interrupts, DMA and Peripherals15
  • Memories, Boot and Security21
  • IP Integration and Handoff21
  • Top-Level Verification and Bring-up21
    • SoC Verification Strategy
    • Integration and Connectivity Tests
    • Firmware Co-Simulation
    • Performance Verification
    • Gate-Level and Power-Aware Simulation
      • What Gate-Level Simulation Finds
      • X-Propagation, Reset Order and Timing
      • Power-Aware Simulation and Isolation Checks
    • Emulation and FPGA Prototyping
    • Bring-Up Readiness
  • Package, Pads and I/O18
  • Chip Signoff and Tapeout18
  • SoC Interview Prep16
  • Capstone: Integrate NanoSoC14
Loading lesson

←Gate-Level and Power-Aware Simulation
  1. Topics
  2. SoC Design
  3. Top-Level Verification and Bring-up
  4. Gate-Level and Power-Aware Simulation
  5. What Gate-Level Simulation Finds
On this page

    Part 10 of 14, lesson 13 of 21Part 10 of 14/Top-Level Verification and Bring-up/Lesson 13 of 21All levels

    What Gate-Level Simulation Finds

    Netlist fidelity: what synthesis, clocks and ECOs change, what GLS catches, and what it costs.

    Why it matters

    Every handoff between RTL and silicon rewrites the design: synthesis maps it to cells, the clock tree adds skew, an ECO patches a wire. Equivalence checking proves the logic matches, but it does not prove the chip works with delays, resets and X values in place. Gate-level simulation runs the netlist with timing to find what the proofs abstract away. Its one job is the scope: what GLS can show that RTL cannot, and what it must never be asked to show.

    The core idea

    GLS replays a slice of the RTL suite — sanity, sweeps, boot — on the synthesised netlist with delay annotation, and any divergence is a fidelity fact. The finds fall into four bins. Timing: a path that met constraints in isolation but fails with real clocks and skew, especially reset release and the crossing FIFOs. Library timing checks also report a setup or hold violation on an unsynchronised crossing such as planted bug 5 (the flop output goes to X), so gate-level simulation with annotation can flag it; the structural CDC check remains the guard that does not depend on a violation happening to occur. Reset: tree skew that staggers release across the domain, and clock-gate and clock-mux cells whose enables are unknown at start. ECO: a patched netlist whose equivalence was waived and whose behaviour moved, caught by equivalence as a gate to tapeout and by GLS as the backstop. X-handling: initialised flops that hide a missing reset in RTL but propagate X with delays, and the reverse — X optimism that masks a real bug.

    Diagram
    # not-run: GLS cost rule, NanoSoC teaching values
    # As a general guideline GLS runs many times slower than RTL on the same
    # stimulus: the netlist has far more primitives and the delay engine evaluates
    # every edge. So the GLS suite replays the fast suite — sanity, sweeps, short boot —
    # and the full 12.581 ms boot once per final netlist (the readiness checklist
    # requires it as a blocking item) and after any netlist change that touches the boot path.
    # Weekly cadence, or on every netlist and ECO delivery, whichever is sooner.

    What the review looks for

    • The GLS suite is named as a subset of the RTL suite with the selection reason per test, never a separate invention.

    • Every netlist delivery — synthesis, ECO, clock-tree change — names its GLS rerun before signoff consumes it.

    • Equivalence results gate the GLS run: a waived equivalence needs a GLS proof of the waived cone.

    Verify and debug

    A GLS-only failure is bisected by annotation: rerun the same test with zero delays, then with unit delays, then with full annotation. Zero-delay green with full-delay red is timing; zero-delay red is a netlist functional change, usually an ECO or an uninitialised flop. Compare against the RTL run with identical stimulus and seed — the bench must be shared, or the comparison proves nothing.

    Netlist versus RTL divergence: an ECO or synthesis change never re-verified, so silicon differs from RTL simulation. The gates are equivalence on every netlist and ECO, GLS with proper initialisation, and reviewed waivers — in that order.

    If asked when GLS runs, answer on every netlist change and weekly otherwise, replaying the fast suite. Then name what it finds that nothing else does: delay-coupled reset and timing failures in the integrated clocks.

    Check yourself A test passes in RTL, fails in zero-delay GLS, and fails the same way with full delay annotation. Is it a timing bug?

    No: it already fails with no delays, so timing is not the cause. Suspect a functional difference in the netlist: a flop with no reset that RTL initialised to zero, library-model X handling, or an ECO. Fix the comparison setup or the design before reading anything into delays.

    Related topics

    • Next: X-Propagation, Reset Order and Timing

    • Clock and Reset: Reset Sequencing and Release

    • Hardware Debug: Gate-Level Simulation

    • RTL: Formal Verification Basics Hub

    Previous

    205 / 289

    Next: X-Propagation, Reset Order and Timing

    Up next

    Up nextX-Propagation, Reset Order and Timing

    Sign in to save progress

    Practice this lessonPrevious lessonReport an error

    See also

    • Power-Aware Simulation and Isolation Checks