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

AboutContactPrivacyTerms
Skip to lesson

Course contents

  • How to Use This Course
  • Reading Paths
  • Concept Map
  • Meet DCRouter
  • Glossary
  • Part 0: What Verification Is8
  • Part 1: What Can Go Wrong11
  • Part 2: Specifications as Checkable Rules8
  • Part 3: Observability and Controllability7
  • Part 4: Stimulus11
  • Part 5: Checking11
  • Part 6: Coverage10
  • Part 7: Formal and Simulation10
  • Part 8: Verification Levels and Reuse8
  • Part 9: Planning and Risk9
  • Part 10: Emulation and Prototyping8
  • Part 11: Post-Silicon Validation8
    • Pre-Silicon and Post-Silicon
    • Validation Strategy
    • Observability in Silicon
    • Debugging Silicon Failures
    • Margins and Characterisation
    • Errata and Workarounds
    • Closing the Loop
    • Drills: Post-Silicon Validation
  • Part 12: Bug Economics8
  • Part 13: Debug7
  • Part 14: Sign-Off7
  • Part 15: Verification in Context8
  • Part 16: Case Studies5
  • Part 17: Capstones5
  • Part 18: Interview Preparation6
Loading lesson

‹Part 11: Post-Silicon Validation
  1. Topics
  2. First Principles of Verification Strategy
  3. Part 11: Post-Silicon Validation
  4. Closing the Loop

Part 11 · Post-Silicon Validation · Principal (P)

Closing the Loop

An escape is a measurement of the verification process: something it should have caught, it did not. Closing the loop means asking which of activation, propagation or detection failed, adding the test, check or coverage that would have caught it, sweeping for similar bugs, and changing the plan so the next project does not repeat it. The procedure, applied to a DCRouter escape.

On this page

    Note

    Level: Principal (P) · Answers: What do we do when the chip comes back?

    Before this: Errata and Workarounds, Bug Propagation and Masking

    Lesson 11.4's silicon corruption was the router sleeping with an output locked. The fix is decided (lesson 11.6). The job is not finished. The more important question for the team is why every simulation, emulation run and review let it through. A bug fixed without that question is a bug whose cousins are still in the design, and whose next relative will escape the next project too.

    What do you do after an escape?

    The obvious answer, and why it breaks

    The obvious response is to fix the bug, add a test that reproduces it, and move on. The regression test stops this exact bug from returning. It does nothing about the reason it escaped: a missing check, an unreached state, a stimulus that never paused mid-packet, a rule nobody wrote down. Those reasons produced this escape and will produce others.

    The idea: from escape to process change

    An escape is classified, reproduced as a test, given the missing check or coverage, used to sweep for similar bugs, and turned into a plan and process change.

    Classify the gap

    Gap (lesson 3.3)

    Meaning

    Typical fix

    Unreached (activation)

    No stimulus ever created the triggering state

    New scenario or bias; coverage bin on the trigger (Part 6)

    Masked (propagation)

    The state occurred but the wrong value never reached a check

    Internal or interface assertion close to the cause

    Unchecked (detection)

    The wrong value was visible, but no check compared it

    New checker, scoreboard rule or property (Part 5, Part 7)

    Unspecified

    The behaviour was never a rule

    Specification update, then all of the above

    The DCRouter escape, closed (illustrative)

    Step

    Action

    Classify

    Unreached and unchecked: no test paused a source mid-packet long enough to sleep, and no assertion said "never sleep while locked"

    Test

    A directed test: send half a packet, pause 20 cycles, finish the packet; check it arrives intact

    Check

    The R13 assertion "never asleep mid-packet" (lesson 5.3's a_r13_no_lock)

    Coverage

    A bin for "source paused longer than the idle threshold mid-packet"

    Sweep

    Every block with an idle or power-down detector: does it account for transactions in flight?

    Plan and process

    Add "power entry with work in flight" to the standard interaction features for every block (lesson 9.2)

    This course built exactly these artefacts for BUG_20 in Parts 4 and 5, which is why its testbenches catch it. Closing the loop is how real teams turn an escape into that kind of protection.

    Why the sweep matters most

    • Bugs come in classes: the same misunderstanding usually appears in more than one place (lesson 1.1).

    • The sweep finds the cousins before they escape: other idle detectors, other counters cleared by writes, other ports with enables.

    • The plan change protects future projects: the class becomes a standard feature, check or coverage item.

    • Escape metrics (escapes per project, by class and by gap) measure whether the verification process is improving (Part 12).

    How real teams close the loop

    Practice

    Purpose

    Escape reviews for every bug found after sign-off

    Each escape classified and acted on

    Escape databases by class and gap

    Patterns across projects visible

    Standard checklists updated from escapes

    Plans start with past lessons built in

    Bug seeding of past escape classes

    Testbenches checked against bugs that have escaped before

    What breaks

    A team (illustrative) fixed each silicon bug with a patch and a regression test, project after project. Their escape list showed the same class, a counter cleared by a write while also incrementing, in three consecutive chips, in three different blocks. Nobody had swept for the class or added it to the plan template. One escape review, one assertion pattern and one checklist line would have ended the series.

    Why this matters

    Principal lens. Treat every escape as a measurement of the verification process. Require a classification, a test, the missing check or coverage, a sweep for the class and a plan change, and track escapes by class and gap across projects. The goal is not zero escapes this time; it is never the same escape twice.

    Interview

    Asked: "What do you do after an escape?"

    Weak answer: Fix the bug and add a test for it.

    Strong answer: Treat it as a measurement of the process. Classify the gap: unreached, masked, unchecked or unspecified. Reproduce it as a permanent regression test, add the check or coverage that would have caught it, then sweep for the same class elsewhere in this design and others, because bugs come in classes. Finally change the plan and the process: add the class to the standard features, checks and coverage for future blocks, and track escapes by class and gap so you can see whether the process is improving.

    Follow-ups: (1) Why is the sweep the most valuable step? (2) How do you measure whether verification is improving?

    Check yourself Why is a regression test alone an incomplete response to an escape?

    It prevents this exact bug from returning but not its cousins; the gap that let it escape (a missing check, an unreached state) remains.

    Check yourself What sweep would follow DCRouter's sleep-while-locked escape?

    Checking every block with an idle or power-down detector for whether it accounts for transactions in flight.

    Key takeaways

    • An escape measures the verification process: classify which gap let it through.

    • Add a test, the missing check or coverage, and sweep for the same class elsewhere.

    • Change the plan and process so the same escape never happens twice.

    Keep going

    Next: Drills: Post-Silicon Validation. Interview questions, a whiteboard exercise and a ten-question checkpoint for Part 11.

    Related topics

    • Part 11 overview: Post-Silicon Validation

    Previous

    113 / 160

    Next: Drills: Post-Silicon Validation

    Up next

    Up nextDrills: Post-Silicon Validation

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Pre-Silicon and Post-Silicon
    • Validation Strategy
    • Observability in Silicon