CDC
Clock Domain Crossing
1
Outline
• Introduction
• Basic terminology
• Types of synchronizers
• CDC protocols
• CDC verification
• Summary
2
Basic Terminology
• Clock Domain
- Single clock domain
- Multiple clocks domain
3
Basic Terminology
• Clock Domain
divCLK
CLK
CLK
divCLK
4
Single clock domain
Basic Terminology
• Clock Domain
CLK A
CLK B
CLK A
CLK B
5
Multiple clocks domain
Basic Terminology
• Clock Domain Crossing Paths
D DA DB
CLK A
CLK B
6
Basic Terminology
• Metastability
D DA DB
CLK A
CLK B
CLK A
DA
CLK B
DB 7
Basic Terminology
• Synchronizers
Circuits that conditions CDC signals in order to
reduce the probability of metastability
DA
D
CLK A
CLK B
8
Types Of Synchronizers
• Basic Synchronizer (Level Signal)
• Edge-detecting Synchronizer
CLK B
XOR
• Pulse Synchronizer
CLK B 9
CDC Protocols
• Why do we need protocols ?
In may applications, simple signals aren’t the
only information crossing clock domains.
Data, address and control buses also travel
together across domains.
10
CDC Protocols
• Handshake
TX RX
tx_v Sync rx_v
tx_d Sync rx_d
tx_datat rx_datat
11
CDC Protocols
• FIFO
TX RX
FIFO
w_datat r_datat
wr rd
12
CDC Verification
• Do i have synchronizers on all
CDC signals?
• Do my CDC protocol prevent corruption
of data across clock domains?
13
CDC Verification
1. Assertion Based Verification.
2. Netlist Analysis.
3. User Specification of Design Intent.
4. Verifying CDC Monitors Using Simulation.
5. Verifying CDC Assertion Using Formal
Verification. 14
Summary
Traditional verification techniques for CDC’s
fail to address the critical issue of the correctness
of the CDC protocols within the design.
If these protocols go unchecked, there is a
significant risk that designs will contain errors
that can only be detected in post-silicon
testing….
15
THANK YOU
FOR LISTENING
16