CDC / RDC · All levels
Synchronizer Selection Guide: Worked Example
Worked Example for Synchronizer Selection Guide.
Worked example
Worked Example for Synchronizer Selection Guide focuses on crossing class coverage, incorrect pattern usage rate, waiver count. The goal is to convert issue observations into mechanism-backed closure decisions.
A milestone review shows crossing class coverage, incorrect pattern usage rate, waiver count. 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 — Synchronizer Selection Guide
source clock domain -> launch signal -> crossing structure -> destination sample
| | | |
source FF protocol sync / fifo destination FF
Key metric: crossing class coverage, incorrect pattern usage rate, waiver countPattern selection map
Crossing type -> Recommended structure
single-bit level -> 2FF / 3FF sync
single-bit pulse -> toggle/ack pulse sync
multi-bit payload -> async FIFO or handshake bundle
status flags -> gray pointer or tokenCapture warning, waveform, and owning module context.
Tag mode/reset/traffic state for the failure.
Validate assumptions against spec and assertions.
Compare outcome with crossing taxonomy matrix, approved synchronizer templates, waiver policy.
Choose one reversible action and define regression upfront.
Did the action work?
BEFORE / AFTER — Synchronizer Selection Guide
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
Crossing intent (level, pulse, bus, control/data coupling) determines legal synchronization topology and verification evidence.
Metric: crossing class coverage, incorrect pattern usage rate, waiver count