Clock Domain Crossing (CDC)

Moving signals safely between clocks.

Real systems have multiple clocks — a 100 MHz core, a 25 MHz MAC, a 48 kHz audio rate. Any signal passing between domains can be sampled mid-transition, causing metastability or torn multi-bit values. CDC is the discipline of crossing safely: two-flop synchronizers for single bits, toggle synchronizers for pulses, Gray-coded pointers or async FIFOs for counters and data.

The RTL is only half the job — timing constraints must mark the crossing too. The CDC generator emits both halves, and the FIFO calculator sizes the buffered kind. CDC bugs are famously intermittent; getting them right by construction is the only sane policy.

More terms

Bitstream · Block RAM (BRAM) · Constraint · DSP Slice · Flip-Flop · Fmax · HLS (High-Level Synthesis) · LUT (Lookup Table) · Metastability · Place & Route · PLL / MMCM · Setup & Hold Time · Soft-Core CPU · Synthesis · Testbench · Timing Closure · Transceiver (SerDes)