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 Path
  • CDC/RDC Glossary
  • CDC/RDC Metrics Reference
  • CDC/RDC Interview Prep
  • CDC/RDC Signoff Cheatsheet
  • Clock Domains and Failure Modes8
  • Metastability and Synchronizers16
  • CDC Protocols and Handshakes16
  • Reconvergence and Gray Coding16
  • Reset Domain Crossing16
  • Architecture and Design Rules16
  • CDC Signoff Methodology24
    • CDC Tool Flow
    • CDC Constraints and STA
    • CDC Waiver Policy
      • When to Waive
      • Evidence for a Waiver
      • Waiver Review and Expiry
      • Waiver Anti-Patterns
    • CDC Review Gate
    • CDC Signoff Dashboard
    • Formal and Simulation CDC Verification
  • RDC Signoff16
  • Debug and Case Studies11
  • CDC and RDC Interview Prep30
  • Capstone: Sign Off a Multi-clock Peripheral4
Loading lesson

‹CDC Waiver Policy
  1. Topics
  2. CDC & RDC
  3. CDC Signoff Methodology
  4. CDC Waiver Policy
  5. When to Waive

Part 7 · CDC Signoff Methodology · Advanced

When to Waive

Legitimate waiver classes versus design defects, and the burden of proof.

On this page

    A waiver says “this finding is understood and accepted”, never “this finding is unimportant”. The distinction decides the whole policy: some findings describe safe-by-construction situations and can be waived with evidence, while others describe defects and can only be fixed. Waiving a defect does not change the silicon; it only changes the report.

    Legitimate waiver classes

    Class

    Example

    Why it can be safe

    Qualified quasi-static

    A configuration bit loaded once and held, sampled only while stable

    Nothing changes near a sampling edge by construction

    Synchronised by construction

    A crossing inside a hardened macro whose internal synchroniser is proven once

    The structure exists; the waiver records where the proof lives

    Unreachable mode

    A test-only crossing that the functional clocking can never produce

    The condition for failure cannot occur in the waived mode

    Reset handled elsewhere

    A reset crossing covered by the reset-domain methodology rather than the CDC check

    Ownership is transferred explicitly, not dropped

    What is never waivable

    • An unsynchronised functional crossing: no argument makes an unguarded asynchronous sample safe.

    • Logic before the synchroniser: the glitch risk is structural and only a design change removes it.

    • A multi-bit crossing without a protocol: independent resolution cannot be argued away.

    • A finding nobody understands: “no failure seen yet” is an observation, not evidence.

    Waiver or fix: how to decide

    When both paths seem open, prefer the fix unless the waiver argument is airtight and cheap to evidence. A synchroniser costs two flops; a waiver costs a protocol argument, assertions, a constraint reference, joint review, and perpetual expiry tracking. Fixes are one-off costs while waivers charge interest every revision. Waive where the design is genuinely safe by construction — quasi-static, unreachable, proven macro — and fix everywhere else.

    The burden of proof

    The burden sits entirely with the requestor. The default answer to a waiver request is no; the requestor moves it to yes by supplying the evidence the next lesson lists, in writing, attached to the finding. A reviewer never has to prove a waiver unsafe — the absence of proof is already a rejection.

    Common pitfall

    The phrase “waive for now, fix later” creates a waiver without evidence and a fix without an owner. If the design must change, file the defect and its date; the finding stays open until the fix lands.

    Check yourself A test-only crossing is waived as unreachable, but a later ECO reuses the same path functionally. What should have prevented the escape?

    Scope and expiry: the waiver should have named the mode it applied to and expired on design change, forcing re-review when the path became functional.

    Check yourself Why does the burden of proof sit with the requestor rather than the reviewer?

    Because the reviewer cannot prove a negative across all operating conditions. The person claiming safety must exhibit the evidence; anything else turns review into guessing.

    Related topics

    • Evidence for a Waiver

    • Waiver Anti-Patterns

    • Course Glossary

    Previous

    103 / 179

    Next: Evidence for a Waiver

    Up next

    Up nextEvidence for a Waiver

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Waiver Review and Expiry
    • Waiver Anti-Patterns