CDC / RDC · All levels
Multi-bit CDC Hazards: Software / Programmer View
Software / Programmer View for Multi-bit CDC Hazards.
RTL / implementation view
Signal intent must be explicit before choosing crossing topology.
What designers feel
Intermittent sync failure
mode-dependent startup hangs
RTL structure impact
state machine handshake discipline
reset release assumptions
cross-domain data packaging
Synthesis interaction
retiming can invalidate implicit assumptions
lint clean does not imply CDC-safe
RTL-side mitigations
explicit synchronizer wrappers
protocol assertions
reset sequence tests
RTL VIEW — Multi-bit CDC Hazards
// ensure crossing intent and protocol assumptions are explicit in module contractImplementation layers touched
CDC/RDC OWNERSHIP LAYERS — Multi-bit CDC Hazards
layer owns common failure
------------------ ----------------------------- -----------------------------
design intent crossing architecture wrong topology selected
protocol semantics req/ack, fifo, ordering liveness/deadlock bugs
reset behavior assert/deassert sequencing boot instability
analysis setup tool rules + waivers false confidence
signoff governance risk acceptance + dashboard stale critical waiversCDC/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