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
  • RDC Signoff16
  • Debug and Case Studies11
    • Reading a CDC Report
      • Anatomy of a Report
      • Triage Order
      • Grouping and Root Causes
      • False Clean and Noise
    • Classic Bug Anatomy
    • Case Studies
  • CDC and RDC Interview Prep30
  • Capstone: Sign Off a Multi-clock Peripheral4
Loading lesson

‹Reading a CDC Report
  1. Topics
  2. CDC & RDC
  3. Debug and Case Studies
  4. Reading a CDC Report
  5. Triage Order

Part 9 · Debug and Case Studies · Advanced

Triage Order

Work setup and constraint problems first, structural classes second, and protocol questions last, because each layer decides whether the next one is even meaningful.

On this page

    Not all findings deserve equal attention first. A missing clock definition can manufacture dozens of phantom crossings, and a structural violation makes any protocol discussion above it pointless. Triage order exists so that each hour of work removes the maximum number of findings.

    First: setup and constraints

    Clock definitions, reset definitions, clock grouping intent, and synchroniser or protocol intent come first. If a clock is missing, every crossing into or out of it is misreported; if grouping intent is wrong, genuinely asynchronous crossings are excused or synchronous paths are flagged. No crossing-level finding is trustworthy until the setup review in the constraints topic passes. Re-run the analysis after setup fixes before judging anything else, because counts typically collapse.

    Second: structural classes

    Unsynchronised crossings, combinational logic before a synchroniser, multi-bit buses without a protocol, reconvergence, and reset-domain findings are structural facts about the netlist. They rarely need design judgement: either the structure is there or it is not. Work the largest class first, group by root cause as the next lesson shows, and fix or formally waive each group with evidence.

    Third: protocol questions

    Pulse spacing, FIFO depth, handshake completeness, and quasi-static qualification need judgement about rates, traffic, and operating modes. They come last because they are the slowest to close and because early setup or structural churn can move the goalposts underneath them.

    Layer

    Examples

    Why at this position

    Setup and constraints

    Missing clock, wrong grouping, missing intent.

    Everything downstream inherits setup errors.

    Structural classes

    Unsynchronised crossing, logic before synchroniser, torn bus.

    Facts about the netlist; fast to confirm, must-fix or waive.

    Protocol questions

    Pulse spacing, FIFO depth, handshake coverage.

    Needs design judgement; do it on a stable base.

    Common pitfall

    The classic waste is perfecting a FIFO depth calculation while the read clock is still missing from the setup: the depth answer changes the moment the real clock arrives. Setup first is not bureaucracy, it is avoiding rework.

    Interview

    “You inherit a 300-finding CDC report a week before the gate. What do you do?” Answer with this order and the reason each layer gates the next. Interviewers listen for setup first and grouping before fixing.

    Check yourself After fixing three missing clock definitions the report drops from 300 findings to 40. What does that tell you about the original 300?

    Most of them were artefacts of the setup: crossings reported against undefined or wrongly grouped clocks. The remaining 40 deserve crossing-level attention; the 260 never did.

    Check yourself A torn-bus finding and a pulse-spacing question sit in the same report. Which do you work first, and why?

    The torn bus: it is structural and unconditional, while spacing analysis assumes the structure is settled. Protocol work on top of a broken structure is rework.

    Related topics

    • Grouping and Root Causes

    • Setup: Clocks, Resets and Intent

    • The Generic CDC Flow

    Previous

    136 / 179

    Next: Grouping and Root Causes

    Up next

    Up nextGrouping and Root Causes

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • False Clean and Noise