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. Waivers

Part 14 · Sign-Off · Principal (P)

Waivers

A waiver accepts a known gap or deviation: a coverage hole not hit, a criterion not met, a behaviour that differs from the plan. It is legitimate when it is specific, justified, owned, reviewed and carried forward. Two DCRouter waivers worked through: three counters never saturated, and a throughput measurement of 0.953 flits per cycle against a plan that said 1.

On this page

    Note

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

    Before this: Sign-off Criteria, Holes and Unreachable Bins

    Closing DCRouter's last open features (lesson 14.6) produced a surprise. The plan said each output carries one flit per cycle. The measurement, six back-to-back maximum-length packets per output, gave 0.953 flits per cycle: one idle cycle between packets, because a new grant follows the previous tail by a cycle. The design behaves as built; the plan stated something stronger. Either the RTL changes, the specification changes, or someone signs a waiver.

    When would you waive a coverage hole or a criterion, and how do you record it?

    The obvious answer, and why it breaks

    One obvious stance is "never waive": every gap is closed. Some gaps cost far more to close than the risk they carry, and refusing all waivers pushes teams to hide gaps instead, by excluding bins or relaxing checks quietly. The opposite stance, waiving whatever is left at the end, turns sign-off into paperwork. Waivers are legitimate exactly when they make a gap visible and owned.

    The idea: what a valid waiver contains

    Element

    Question it answers

    What exactly

    Which bin, criterion, rule or behaviour, precisely

    Why it is not closed

    Unreachable? Too costly? Out of scope? A deliberate deviation?

    Evidence that the risk is low

    Related tests, proofs, reuse, design arguments

    Consequence if wrong

    What happens in the product if the waived behaviour is buggy

    Owner and approvers

    Who requested it, who accepted the risk

    Follow-up

    Silicon validation item, specification change, next-revision fix, or none

    Two DCRouter waivers

    Element

    Waiver 1: ERR_CNT0, 1, 3 never saturated

    Waiver 2: throughput 0.953 instead of 1.0

    What

    Coverage bins "ERR_CNTk saturated" for k = 0, 1, 3

    Feature F26: one idle cycle between back-to-back packets on an output

    Why not closed

    Cost of a test per counter judged low value

    Removing the bubble needs grant look-ahead in the arbiter: a design change late in the project

    Evidence

    Same RTL loop for all four counters; ERR_CNT2 saturation tested (lesson 6.9); formal could prove it

    Measured 0.953 for 17-flit packets; shorter packets lose proportionally more; functional behaviour unaffected

    Consequence if wrong

    Statistics wrap on one counter after 255 errors

    About 5% lower peak bandwidth for maximum-length packets, more for short packets

    Decision

    Waive, or better: add the three loops (cheap)

    Specification change: "one flit per cycle within a packet, one idle cycle between packets"; architects confirm bandwidth budget

    Follow-up

    Silicon validation reads all four after an error storm

    Performance validation on silicon measures it (lesson 11.2)

    Waiver 2 shows a common outcome: a gap between plan and behaviour that is resolved by correcting the specification, after checking the system can afford it. Measured performance is evidence; what the system needs decides whether it is a bug.

    Signs of a bad waiver

    • Vague: "some error coverage holes waived".

    • Unjustified: "not enough time" with no risk assessment.

    • Unowned: nobody senior accepted the risk.

    • Silent: the gap removed from metrics (excluded bins) without a record.

    • Repeated: the same waiver every project, never revisited.

    How real teams manage waivers

    Practice

    Purpose

    A waiver register reviewed at sign-off

    Every exception visible in one place

    Approval levels by severity

    Bigger risks need more senior owners

    Waivers carried into silicon validation plans

    Waived areas tested early on silicon

    Waiver audits on derivatives

    Old waivers re-examined when designs are reused

    What breaks

    A team (illustrative) waived a coverage hole for an error-recovery path as "unreachable in our system". A derivative chip reused the block in a system where the path was reachable, and the waiver was never re-examined. The bug in the recovery path appeared in the derivative's first silicon. Waivers belong to a context; reuse must re-check them.

    Why this matters

    Principal lens. Accept waivers that are specific, justified with evidence, owned by someone with authority, and carried into follow-up; reject vague, silent or habitual ones. A good waiver register is a list of risks you chose to take, with your eyes open.

    Interview

    Asked: "When would you waive a coverage hole?"

    Weak answer: When we run out of time.

    Strong answer: When closing it costs more than the risk it carries, and the waiver says exactly what is waived, why it isn't closed, what evidence makes the risk low, what happens if it's wrong, who accepted it and what follows, such as a silicon validation check. Unreachable bins should be proved unreachable, not waived. For example, on the course's router three counters' saturation bins were waivable because the same RTL loop's fourth counter was tested, though adding the tests is cheap; and a measured throughput below the plan was resolved by a specification change after the architects confirmed the budget.

    Follow-ups: (1) What makes a waiver invalid? (2) What happens to waivers when a block is reused?

    Check yourself Why is the throughput waiver resolved by a specification change rather than a design fix?

    Functional behaviour is correct, the bandwidth loss is small and was confirmed affordable, and removing the bubble would need a late arbiter redesign; the plan's statement was stronger than needed.

    Check yourself What follow-up should every waiver have, if possible?

    A check in silicon validation, a specification change, or a fix in the next revision, recorded with the waiver.

    Key takeaways

    • Waivers make known gaps visible and owned; silent gaps are the real danger.

    • A valid waiver is specific, justified with evidence, owned, approved and followed up.

    • Measured behaviour that differs from the plan may be a bug or a plan error: decide which.

    Keep going

    Next: Lesson 14.4, Residual Risk. Stating what is left, honestly.

    Related topics

    • Part 14 overview: Sign-off

    Previous

    132 / 160

    Next: Residual Risk

    Up next

    Up nextResidual Risk

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • What Sign-Off Means
    • The Tape-Out Review
    • Signing Off DCRouter