CDC

Preview:

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