Upload
tovah
View
56
Download
0
Embed Size (px)
DESCRIPTION
CDC. Clock Domain Crossing. Outline. Introduction Basic terminology Types of synchronizers CDC protocols CDC verification Summary. Basic Terminology. Clock Domain. - Single clock domain. - Multiple clocks domain. Basic Terminology. Clock Domain. divCLK. CLK. CLK. - PowerPoint PPT Presentation
Citation preview
1
CDCCDCClock Domain CrossingClock Domain Crossing
2
OutlineOutline
• Introduction Introduction • Basic terminologyBasic terminology• Types of synchronizersTypes of synchronizers• CDC protocolsCDC protocols• CDC verificationCDC verification• SummarySummary
3
Basic TerminologyBasic Terminology
• Clock DomainClock Domain
- Single clock domain- Single clock domain
- Multiple clocks domain- Multiple clocks domain
4
Basic TerminologyBasic Terminology
Single clock domainSingle clock domain
• Clock DomainClock Domain
CLKCLK
divCLKdivCLK
CLKCLK
divCLKdivCLK
5
Basic TerminologyBasic Terminology
• Clock DomainClock Domain
Multiple clocks domainMultiple clocks domain
CLK BCLK B
CLK ACLK A
CLK ACLK A
CLK BCLK B
6
Basic TerminologyBasic Terminology
• Clock Domain Crossing PathsClock Domain Crossing Paths
CLK ACLK A
CLK BCLK B
DD DADA DBDB
7
Basic TerminologyBasic Terminology
• Metastability Metastability
CLK ACLK A
CLK BCLK B
DD DADA DBDB
CLK ACLK A
DADA
CLK BCLK B
DBDB
8
Basic TerminologyBasic Terminology
• Synchronizers Synchronizers
Circuits that conditions CDC signals in order toCircuits that conditions CDC signals in order to reduce the probability of metastabilityreduce the probability of metastability
CLK ACLK A
CLK BCLK B
DD
DADA
9
Types Of SynchronizersTypes Of Synchronizers
• Basic Synchronizer (Level Signal)Basic Synchronizer (Level Signal)
• Edge-detecting Synchronizer Edge-detecting Synchronizer
CLK BCLK B
• Pulse Synchronizer Pulse Synchronizer
CLK BCLK B
XORXOR
10
CDC ProtocolsCDC Protocols
• Why do we need protocols ?Why do we need protocols ?
In may applications, simple signals aren’t theIn may applications, simple signals aren’t the only information crossing clock domainsonly information crossing clock domains..
Data, address and control buses also travelData, address and control buses also travel together across domainstogether across domains..
11
CDC ProtocolsCDC Protocols
• Handshake Handshake
TXTX RXRXSyncSync
SyncSync
tx_datattx_datat rx_datatrx_datat
rx_vrx_vtx_vtx_v
tx_dtx_d rx_drx_d
12
CDC ProtocolsCDC Protocols
• FIFO FIFO
TXTX RXRX
w_datatw_datat r_datatr_datat
FIFOFIFO
wrwr rdrd
13
CDC VerificationCDC Verification
• Do i have synchronizers on allDo i have synchronizers on all CDC signals? CDC signals?
• Do my CDC protocol prevent corruptionDo my CDC protocol prevent corruption of data across clock domains? of data across clock domains?
14
CDC VerificationCDC Verification
1.1. Assertion Based Verification.Assertion Based Verification.
2.2. Netlist Analysis.Netlist Analysis.
3.3. User Specification of Design Intent.User Specification of Design Intent.
4.4. Verifying CDC Monitors Using Simulation.Verifying CDC Monitors Using Simulation.
5.5. Verifying CDC Assertion Using Formal Verifying CDC Assertion Using Formal Verification.Verification.
15
SummarySummary
Traditional verification techniques for CDC’sTraditional verification techniques for CDC’s fail to address the critical issue of the correctnessfail to address the critical issue of the correctness of the CDC protocols within the designof the CDC protocols within the design..If these protocols go unchecked, there is aIf these protocols go unchecked, there is a significant risk that designs will contain errorssignificant risk that designs will contain errors that can only be detected in post-siliconthat can only be detected in post-silicon
testingtesting.….…
16
THANK YOUTHANK YOU FOR LISTENINGFOR LISTENING