Check your understanding
Questions to reason through.
Why does a two-flop synchronizer reduce risk instead of eliminate it?
The first destination flop can still enter metastability when an asynchronous transition violates its sampling aperture. The second stage gives that analog state additional resolution time, which improves MTBF exponentially, but the probability is never mathematically zero and depends on library parameters, placement, clock rate, data-toggle rate, and available resolution time.
Why is synchronizing every bit of a bus independently unsafe?
Each bit can resolve on a different destination edge, so the receiver may observe a word that never existed at the source. Preserve coherence with a bundled-data handshake, Gray-coded control state, source-synchronous transfer, or asynchronous FIFO selected for the payload and throughput contract.
Put it into practice
Explain the decision behind the design.
- Choose a CDC strategyMatch the transfer mechanism to payload semantics.→
- Model an asynchronous FIFOReason about Gray pointers, full/empty, and reset convergence.→
- Check clock gatingProve glitch-free enable capture and stopped-clock behavior.→
Continue the learning path

