CDC Clock Domain Crossing 1 Outline Introduction Basic
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 div. CLK CLK div. CLK Single clock domain 4
Basic Terminology • Clock Domain CLK A CLK B Multiple clocks domain 5
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 tx_v Sync rx_v tx_d Sync rx_d tx_datat RX rx_datat 11
CDC Protocols • FIFO TX RX FIFO 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
- Slides: 16