CDC / RDC · All levels
Two-Flop Synchronizers in Practice: Software / Programmer View
Software / Programmer View for Two-Flop Synchronizers in Practice.
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 — Two-Flop Synchronizers in Practice
// ensure crossing intent and protocol assumptions are explicit in module contractImplementation layers touched
CDC/RDC OWNERSHIP LAYERS — Two-Flop Synchronizers in Practice
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
A two-flop chain lowers metastability propagation risk for level signals, but only when source assumptions, pulse width, and destination sampling are respected.
Metric: single-bit CDC clean rate, pulse capture reliability, latency cycles