You are on page 1of 16

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

You might also like