What is Clock Domain Crossing (CDC)?

Clock Domain Crossing (CDC) refers to the transfer of data or control signals between two parts of a design that operate on different clock domains.

A clock domain is a group of flip-flops driven by the same clock signal. When signals move between different clock domains, timing is unpredictable and can lead to metastability, data corruption, or functional failures.


Simple Definition

CDC is the process of transferring signals from one clock domain to another clock domain safely and reliably.


Example

Suppose a design has:

Clock Domain A = 100 MHz
Clock Domain B = 200 MHz
      Clock A
         │
      Source FF
         │
         ▼
      Signal
         │
         ▼
   Synchronizer
         │
         ▼
   Destination FF
         │
      Clock B

The signal crosses from Clock A to Clock B.

This is a CDC path.


Why is CDC Important?

Different clocks may have: