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
  • Part 12: Bug Economics8
  • Part 13: Debug7
  • Part 14: Sign-Off7
    • What Sign-Off Means
    • Sign-Off Criteria
    • Waivers
    • Residual Risk
    • The Tape-Out Review
    • Signing Off DCRouter
    • Drills: Sign-Off
  • Part 15: Verification in Context8
  • Part 16: Case Studies5
  • Part 17: Capstones5
  • Part 18: Interview Preparation6
Loading lesson

‹Part 14: Sign-Off
  1. Topics
  2. First Principles of Verification Strategy
  3. Part 14: Sign-Off
  4. Residual Risk

Part 14 · Sign-Off · Principal (P)

Residual Risk

Residual risk is what remains after verification: known gaps, accepted waivers, assumptions that were never checked, and the unknown bugs every design has. Stating it honestly, with evidence and estimates rather than reassurance, is what makes sign-off trustworthy. How to structure a residual-risk statement, and DCRouter's.

On this page

    Note

    Level: Principal (P) · Answers: When are we done?

    Before this: Waivers, Estimating Remaining Bugs

    At the tape-out review an executive asks the verification lead directly: "Are you confident there are no bugs?" Answering "yes" would be untrue and everyone in the room knows it; answering "no" sounds like a refusal to sign. The useful answer is neither. It is a statement of what is known, what is assumed and what is estimated, with the evidence for each.

    Are you confident there are no bugs?

    The obvious answer, and why it breaks

    The obvious answers are reassurance ("we're confident") or a single number ("98% coverage"). Reassurance gives the decision-makers nothing to weigh, and a single number hides what it does not measure. Residual risk is a structured list: the parts of the design and its use where a bug could still be, how likely that is, and what would happen.

    The idea: four kinds of residual risk

    Kind

    Examples

    How to state it

    Known gaps

    Features without evidence; coverage holes

    List them, with why

    Accepted waivers

    Decided exceptions (lesson 14.3)

    List them, with owners

    Unchecked assumptions

    Environment models, formal assumptions, neighbours' behaviour, the specification itself

    List the assumptions the evidence depends on

    Unknown bugs

    Bugs in situations nobody planned, checked or covered

    Estimate from discovery curves and capture-recapture, as a range (Part 12)

    DCRouter's residual-risk statement (after lesson 14.6)

    Kind

    Item

    Known gaps

    None of the 28 planned features is without evidence after the gap-closing bench

    Waivers

    ERR_CNT0, 1, 3 saturation bins (lesson 14.3); throughput specification corrected to one idle cycle between packets

    Unchecked assumptions

    Sinks return credits only for held flits (formal assumption, and true of the testbench sinks); sources hold data while stalled; the specification R1–R13 is right for the system

    Unchecked assumptions

    Formal proofs cover FIFO, arbiter and credit rules only; framing, CRC, counters and sleep rely on simulation

    Unknown bugs

    The design's own bug count is unknown; the testbench catches all 24 planted bugs, and the gap bench found one plan-versus-design difference, so the method is sensitive, but planted bugs are not real ones

    Out of scope

    Integration in the SoC, power-aware behaviour with domains switched off, electrical margins (Parts 8, 11)

    Answering the executive

    "No one can be certain there are no bugs. Here is what we know: every planned feature has evidence, the control logic is proved for all inputs, and our testbench detects every bug we planted. Here is what we assumed: the interface behaviour of the neighbouring blocks and the specification itself. Here is what we accepted: two waivers, listed. Our estimate of remaining bugs from the discovery curve is low, with a wide range. We recommend sign-off, with silicon validation starting on the listed items."

    Habits of an honest statement

    • Specific, not soothing: items, not adjectives.

    • Ranges, not points: estimates with uncertainty (lesson 12.2).

    • Assumptions named: every proof and model rests on some.

    • Out of scope stated: what this sign-off does not cover, and who covers it.

    • Carried forward: residual risk becomes the silicon validation plan's first page (lesson 11.2).

    How real teams state residual risk

    Practice

    Purpose

    A residual-risk section in every sign-off report

    Decision-makers see what they accept

    Assumption registers for formal and modelling

    Assumptions reviewed and discharged where possible

    Residual risk linked to silicon validation priorities

    Known risks tested first on silicon

    What breaks

    A team (illustrative) reported "high confidence" at every review. When a silicon bug appeared in an area verified only against a behavioural model of a neighbouring block, it emerged that everyone had known the model was approximate; nobody had written it down. A residual-risk statement listing "neighbour behaviour verified against an approximate model" would have put that interface first in silicon validation.

    Why this matters

    Principal lens. Ask for residual risk as a structured list, not a feeling: known gaps, waivers, assumptions, an estimate of unknown bugs with its range, and what is out of scope. A team that can state its residual risk precisely is a team you can trust to have measured it.

    Interview

    Asked: "Are you confident there are no bugs?"

    Weak answer: Yes, coverage is at 100%.

    Strong answer: Nobody can be certain of that, so I'd answer with the residual risk. What we know: every planned feature has evidence, the control logic is formally proved, and the testbench catches every planted bug. What we assumed: neighbour behaviour and the specification. What we accepted: these waivers, with owners. What we estimate: remaining bugs from the discovery curve and capture-recapture, with a range. And what's out of scope. Then I recommend sign-off or not, and the risks go to silicon validation first.

    Follow-ups: (1) Which assumptions worry you most? (2) How do you estimate unknown bugs?

    Check yourself Which DCRouter assumption does the formal proof depend on?

    That a sink returns a credit only for a flit it holds.

    Check yourself Why is "we are highly confident" a poor residual-risk statement?

    It gives decision-makers nothing to weigh: no gaps, assumptions, waivers or estimates, and no basis for directing silicon validation.

    Key takeaways

    • Residual risk is known gaps, waivers, unchecked assumptions and unknown bugs.

    • State it specifically, with ranges for estimates and assumptions named.

    • Carry it forward into silicon validation priorities.

    Keep going

    Next: Lesson 14.5, The Tape-Out Review. Running the review: evidence, questions, decision.

    Related topics

    • Part 14 overview: Sign-off

    Previous

    133 / 160

    Next: The Tape-Out Review

    Up next

    Up nextThe Tape-Out Review

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • What Sign-Off Means
    • Sign-Off Criteria
    • Signing Off DCRouter