CDC / RDC · All levels
Multi-bit CDC Hazards: Worked Example
Worked Example for Multi-bit CDC Hazards.
Worked example
Worked Example for Multi-bit CDC Hazards focuses on data coherence violations, reconvergence warning count, escaped protocol bugs. The goal is to convert issue observations into mechanism-backed closure decisions.
A milestone review shows data coherence violations, reconvergence warning count, escaped protocol bugs. Teams disagree on severity. The right move is to isolate one representative issue, prove mechanism class, and decide fix or waiver with explicit residual risk.
Crossing under inspection
CROSSING FLOW — Multi-bit CDC Hazards
source clock domain -> launch signal -> crossing structure -> destination sample
| | | |
source FF protocol sync / fifo destination FF
Key metric: data coherence violations, reconvergence warning count, escaped protocol bugsBus incoherency hazard
bus[3:0] bits cross independently
sample N : 0 1 1 0
sample N+1: 1 0 0 1 (illegal mixed state)
Need protocol or encoded transfer, not per-bit sync.Capture warning, waveform, and owning module context.
Tag mode/reset/traffic state for the failure.
Validate assumptions against spec and assertions.
Compare outcome with bus crossing inventory, reconvergence report, protocol assumptions doc.
Choose one reversible action and define regression upfront.
Did the action work?
BEFORE / AFTER — Multi-bit CDC Hazards
open critical issues
^
| o baseline
| o after fix batch
| o after protocol proof
| o signoff-ready
+---------------------------------> closure iteration
Track issue burn-down with evidence quality, not only count.CDC/RDC deep dive
Metastability is managed risk, not eliminated risk.
Concept diagram
METASTABILITY FLOW
async event -> first sample may metastabilize
-> settle window
-> downstream sample confidenceMetric graph
MTBF TREND
target MTBF ---------
current design ____/Reports and artifacts
MTBF assumptions
synchronizer inventory
crossing class summary
critical waivers
Mini case study
Pulse sync chosen for a level signal caused intermittent stuck state under voltage stress.
Debug branches
Validate crossing class first
Check pulse width assumptions
Audit synchronizer template usage
Senior review question
Ask: what evidence proves this risk is closed for silicon, not just tool-clean?
Key takeaways
State crossing class, assumptions, and owner with every issue.
Run structural and dynamic regressions after each fix.
Common pitfalls
Treating all warnings as equivalent risk.
Waiving issues without containment evidence.
Skipping reset and reconvergence stress after CDC fixes.
Principal CDC/RDC review addendum
Independent bit synchronization causes skew and data incoherency; buses need protocolized transfer (FIFO, handshake, token, or encoded sequencing).
Metric: data coherence violations, reconvergence warning count, escaped protocol bugs