You are on page 1of 2

9.

Clock Domain Crossing

Several coverage metrics are proposed to measure the validation's adequacy and progress, such as
code based coverage, finite state machine coverage, and functional coverage. Nevertheless, these
coverage metrics do not have direct relations with CDC issues.

CDC Verification :
1. Structural CDC Analysis
a. insufficient synchronization
b. combinational logic driving flip-flop based synchronizers.

2. Functional CDC Analysis


a. Assertion based verification : To identify data stability violations when going form
fast to slow clock domains

Clock Domain :
Clock and its derived clock are in same clock domain. But clocks of 50MHz and 37MHz whose
phase relationship changes over time are of two separate clock domains.

Metastability :
Setup or hold violations could cause the flip-flop output to go meta-stable. The output of the FF
keeps oscillating for an indefinite amount of time. This unstable value may or may not non-
deterministically converge to a stable value (either 0 or 1) before the next sampling clock edge
arrives.

Synchronizers :
2-FF Synchronizers (For single bit transition): Ensures avoiding propagation of meta-stability
into the destination clock domain, but it can't ensure propagation of correct value as the meta-stable
signal non-deterministically converges to any stable value (0 or 1). To ensure preventing data loss
(losing input transitions), the input signal needs to hold its value a minimum amount of time such
that there is at least a single destination sampling clock edge, which samples the input value
correctly.

Gary coding (For vector control signals, multi bit signals such as address buses): A Gray code
ensures that only a single bit changes as the bus counts up or down. The difficulty arises as,
individual bits of a data bus can change randomly while changing clock boundaries. Using
synchronizers/gray code to handle the passing of data bus is generally unacceptable.

Mux based synchronizers (For CDC data signals) :

Study the MTBF and Metastability resolution time


Structural Analysis using Leda CDC Tool : Rule and the corresponding violation
Rule - Violation
NTL_CDC01 Reports all un-synchronized CDC Paths
NTL_CDC02 Convergence in crossover path (Combinational elements before synchronization)
NTL_CDC03 Divergent logic on a CDC signal to multiple synchronization paths
NTL_CDC04 Divergence of meta-stable signal

https://forums.xilinx.com/t5/Timing-Analysis/bd-p/TIMEANBD
http://www.edn.com/Home/PrintView?contentItemId=4436342

You might also like