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

diagram
RTL VIEW — Two-Flop Synchronizers in Practice
// ensure crossing intent and protocol assumptions are explicit in module contract

Implementation layers touched

diagram
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 waivers

CDC/RDC deep dive

Metastability is managed risk, not eliminated risk.

Concept diagram

diagram
METASTABILITY FLOW

async event -> first sample may metastabilize
 -> settle window
 -> downstream sample confidence

Metric graph

diagram
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