Title: CDC
1CDC
Clock Domain Crossing
2Outline
- Introduction
- Basic terminology
- Types of synchronizers
- CDC protocols
- CDC verification
- Summary
3Basic Terminology
- Single clock domain
- Multiple clocks domain
4Basic Terminology
divCLK
CLK
CLK
divCLK
Single clock domain
5Basic Terminology
CLK A
CLK B
CLK A
CLK B
Multiple clocks domain
6Basic Terminology
- Clock Domain Crossing Paths
D
DA
DB
CLK A
CLK B
7Basic Terminology
D
DA
DB
CLK A
CLK B
8Basic Terminology
Circuits that conditions CDC signals in order to
reduce the probability of metastability
DA
9Types Of Synchronizers
- Basic Synchronizer (Level Signal)
- Edge-detecting Synchronizer
CLK B
XOR
CLK B
10CDC Protocols
- Why do we need protocols ?
In may applications, simple signals arent
the only information crossing clock
domains. Data, address and control buses
also travel together across domains.
11CDC Protocols
TX
RX
Sync
rx_v
tx_v
Sync
tx_d
rx_d
tx_datat
rx_datat
12CDC Protocols
TX
RX
FIFO
r_datat
w_datat
wr
rd
13CDC Verification
- Do i have synchronizers on all
- CDC signals?
- Do my CDC protocol prevent corruption
- of data across clock domains?
14CDC Verification
- Assertion Based Verification.
- Netlist Analysis.
- User Specification of Design Intent.
- Verifying CDC Monitors Using Simulation.
- Verifying CDC Assertion Using Formal Verification.
15Summary
Traditional verification techniques for CDCs
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.
16THANK YOU FOR LISTENING