SlideShare a Scribd company logo
1 of 56
Clock Domain Crossing
Prof. Usha Mehta
Professor,
PG-VLSI Design,
EC, Institute of Technology,
Nirma University, Ahmedabad
usha.mehta@nirmauni.ac.in
usha.mehta@ieee.org
Courtesy:
1. https://anysilicon.com/clock-domain-crossing-cdc/
2. https://www.eetimes.com/understanding-clock-domain-
crossing-issues/
1/27/2022
Static
Timing
Analysis
Metastability
2
1/27/2022
Static
Timing
Analysis
Single Clock Circuit
• The digital circuits with FFs are very
normal for digital circuits.
• The synchronous circuit has FFs and a
common clock connected with them all.
• The entire design using single clock is for
learning purpose and very elementary.
• Modern System-on-Chip (SoC) designs
continue to face increasing size and
complexity challenges
• The SoC contains number of different
blocks/IP working at different frequencies 3
1/27/2022
Static
Timing
Analysis
Clock Domain Crossing
• The modern SoCs, with so many
dedicated data processing islands
usually need to transfer data between
these multiple clock domains (islands).
•When data needs to be transferred
between two different clock domains, it
will appear to be asynchronous to the
new clock domain.
• CDC is “The process of passing a
signal or vector (multi bit signal) from
one clock domain to another clock
domain.”
4
1/27/2022
Static
Timing
Analysis
A Clock Domain
• A part of the design that is driven by
either one clock or more clocks that
have related to each other
• Constant phase relationship between two clocks
• A clock and its variant generated by frequency
divider circuit
• A clock and its inverted clock
• CLK, its inversion, and D1 (derived from CLK) are
synchronous to each other.
5
1/27/2022
Static
Timing
Analysis
• Clock Domain Crossing design is a
design that has one clock asynchronous
to, or has a variable phase relation with,
another clock.
6
1/27/2022
Static
Timing
Analysis
Different Clock Domain
• 50MHz and 37MHz clocks (whose
phase relationship changes over time)
define two separate clock domains.
• Designs which have two unrelated
clocks (different clock frequencies) or
clocks from two different sources (even
with same frequency) are treated as
multiple clock domain designs.
7
1/27/2022
Static
Timing
Analysis
Synchronous Clock Domain Crossing
• Clocks which have a known phase and
frequency relationship between them
are known as synchronous clocks.
• These are essentially the clocks
originating from the same clock-root.
• A clock crossing between such clocks
is known as a synchronous clock
domain crossing.
8
1/27/2022
Static
Timing
Analysis
Categories of Synchronous clocks
• Clocks with the same frequency and
zero phase difference
• Clocks with the same frequency and
constant phase difference
• Clocks with different frequency and
variable phase difference
•Integer multiple clocks
•Rational multiple clocks
9
1/27/2022
Static
Timing
Analysis
Clocks with the same frequency and
zero phase difference
10
1/27/2022
Static
Timing
Analysis
Clocks with the same frequency and
constant phase difference
• Example: clock and its inverted clock
with gate delay
11
1/27/2022
Static
Timing
Analysis
Clocks with different frequency and
variable phase difference
• Integer multiple clocks
12
1/27/2022
Static
Timing
Analysis
Clocks with different frequency and
variable phase difference
• For the case of slow to fast crossings : no data
loss
• For fast to slow clock crossing Data loss
• The source data should be held constant for at
least one cycle of the destination clock.
• This can be ensured by using some control
circuit, for example, a simple finite state
machine (FSM) would work in this case. 13
1/27/2022
Static
Timing
Analysis
Clocks with different frequency and
variable phase difference
• Rational multiple clocks
• In this case, the frequency of one clock is
a rational or non-integer multiple of the
other clock and the phase difference
between the active clock edges is
variable.
• Unlike the situation where one clock is
an integer multiple of the other, here the
minimum phase difference between the
two clocks can be very small- small
enough to cause metastability.
14
1/27/2022
Static
Timing
Analysis
Asynchronous Clock Domain
Crossing
• Clocks which do not have a known phase
or frequency relationship between them
are known as asynchronous clocks.
• Whenever there is a clock crossing
between two asynchronous clocks, their
active edges can arrive very close
together leading to metastability. Here
the phase difference between the clocks
can be variable and unlike synchronous
clocks it is unpredictable.
15
1/27/2022
Static
Timing
Analysis
Simulation and STA is not enough
for clock domain crossing
• Within one clock domain, proper static
timing analysis (STA) can guarantee
that data does not change within clock
setup and hold times. When signals
pass from one clock domain to another
asynchronous domain, there is no way
to avoid such scenario since data can
change at any time.
1
6
1/27/2022
Static
Timing
Analysis
Issues with Clock Domain Crossing
1. Metastability
2. Data Loss
3. Data Incoherency
17
1/27/2022
Static
Timing
Analysis
Meta-stability
• i.e. unstable or intermediate state
• For digital circuits, it means that a FF
can enter a state where output might
not have reached to its final expected
value and can oscillate between 0 or 1.
• The signal will stabilize after some
time but that depends on FF type and
the PVT conditions.
18
1/27/2022
Static
Timing
Analysis
Metastability
19
1/27/2022
Static
Timing
Analysis
Metastability
20
1/27/2022
Static
Timing
Analysis
The consequences of Metastability
1. If the unstable data is fed to several other
places in the design, it may lead to a high
current flow and even chip burnout in the
worst case.
2. Different fan-out cones may read different
values of the signal, and may cause the
design to enter into an unknown functional
state, leading to functional issues in the
design.
3. The destination domain output may settle
down to the new value or may return to the
old value. However, the propagation delay
could be high leading to timing issues.
21
1/27/2022
Static
Timing
Analysis
Metastability is unavoidable in CDC
• In a multi-clock design, meta-stability
is inevitable, but there are certain
design techniques that help to avoid
the chance of getting meta-stable.
2
2
1/27/2022
Static
Timing
Analysis
Synchronizer
• Synchronizer allows sufficient time for the
oscillations to settle down and ensure that a
stable output is obtained in the destination
domain.
• Types of Synchronizers
• Multiflop synchronizer
• For single and multi-bit control signals
and single bit data signals
• MUX recirculation
• Handshake
• FIFO
• All above three for multi-bit data signals
23
1/27/2022
Static
Timing
Analysis
2-flop
Synchronizer
24
1/27/2022
Static
Timing
Analysis
What if signal does not get settled in
one clock cycle?
• In a 2-FF synchronizer, the first flip-flop
samples the asynchronous input signal into the
destination clock domain and waits for a full
destination clock cycle to permit any meta-
stability on the stage-1 output signal to decay,
then the stage-1 signal is sampled by the same
clock into a second stage flip-flop, with the
intended goal that the stage-2 signal is now a
stable and valid signal synchronized into the
destination clock domain. It is theoretically
possible for the stage-1 signal to still be
sufficiently meta-stable by the time the signal is
clocked into the second stage to cause the
stage-2 signal to also go meta-stable.
25
1/27/2022
Static
Timing
Analysis
Mean Time Between Failure (MTBF) of Metastability
• Note that the meta-stability is a probabilistic phenomenon.
• The meta-stable output converges to a stable value with time.
Therefore, even if the input to the stage-2 FF still remains
meta-stable, the probability that the output of the stage-2 FF
will remain meta-stable for a full destination clock cycle is
asymptotically close to zero.
• This calculation of the probability of the time between
synchronization failures (MTBF) is a function of multiple
variables including the clock frequencies used to generate the
input signal and to clock the synchronizing flip-flops.
• For most synchronization applications, a 2-FF synchronizer is
sufficient to remove all likely meta-stability.
• However for certain very high speed clock frequencies, the
MTBF can be increased more by either using special cells
provided in technology libraries or/and using more than 2
stages of the FFs as synchronizers (3 or 4 stages of FFs).
26
1/27/2022
Static
Timing
Analysis
Limitation of 2FF Synchronizer
• These 2 FF synchronizer circuits work
very well for most of the applications that
involve single bit control signals and
where the input toggle rate is less than
the destination clock frequency
• There will be no data loss if destination
clock frequency is more than 1.5 times
of source clock frequency.
• If the source and destination clock
frequency are almost same or destination
clock frequency is slow, then source
must keep its value stable for destination
to capture it, before changing to next
value or the data will be lost.
27
1/27/2022
Static
Timing
Analysis
Data Loss
• As long as each transition on the source signal is
captured in the destination domain, data is not
lost.
• Whenever a new source data is generated, it may
not be captured by the destination domain in the
very first cycle of the destination clock because of
metastability.
• In order to ensure this, the source data should
remain stable for some minimum time, so that
the setup and hold time requirements are met
with respect to at least one active edge of
destination clock.
• There may not be a cycle by cycle correspondence
between the source and destination domain data.
Whatever the case, it is important that each
transition on the source data should get captured
in the destination domain.
28
1/27/2022
Static
Timing
Analysis
Input Data Stability to Avoid Data
Loss
• Every transition on the input signal needs to be
correctly propagated to the destination domain.
• 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 (No
setup/hold violation)
2
9
1/27/2022
Static
Timing
Analysis
• If there is sufficient time between the transition on
data A and the active edge of clock C2, the data is
captured in the destination domain in the first cycle
of C2.
• But if the active clock edges of C1 and C2 arrive
close together, the first clock edge of C2, which
comes after the transition on source data A, is not
able to capture it. The data finally gets captured by
the second edge of clock C2 30
1/27/2022
Static
Timing
Analysis
Example of Data loss
• C1= 2 X C2,
• Data sequence A generated on +ve edge of C1 is
00110011
• Data captured on +ve edge of C2 is 0101.
• Overall all transitions captured so no data loss
31
1/27/2022
Static
Timing
Analysis
Example of Data loss
• C1= 2 X C2,
• Data sequence A generated on +ve edge of C1 is
00101111
• Data captured on +ve edge of C2 is 0011.
• Overall all transitions captured so no data loss
32
1/27/2022
Static
Timing
Analysis
Data Incoherency
• Consider a case where multiple signals (e.g.
data bus, vector) are being transferred from
one clock domain to another and each signal
is synchronized separately using a multi-flop
synchronizer.
• If all the signals are changing simultaneously
and the source and destination clock edges
arrive close together, some of the signals may
get captured in the destination domain in the
first clock cycle while some others may be
captured in the second clock cycle by virtue of
Metastability.
• This may result in an invalid combination of
values on the signals at the destination side.
Data coherency is said to have been lost in
such a case.
33
1/27/2022
Static
Timing
Analysis
Data incoherency
34
1/27/2022
Static
Timing
Analysis
3
5
The natural way to transfer a vector control signal is
to model each bit of the vector to be separately
synchronized by a FF synchronizer
Sig wants to change its value from "000" to "101" (both indicate valid
states). However, it ends up in invalid state “100”.
Example : Data Incoherency
1/27/2022
Static
Timing
Analysis
Solution to Data Incoherency
• The problem results because all the bits are not
changing to a new state in the same cycle of destination
clock.
• If all the bits either retain their original value or change
to the new value in the same cycle, then the design
either remains in the original state or goes to a correct
new state.
• Now, if the circuit is designed in such a way that while
changing the design from one state to another, only one
bit change is required, then either that bit would change
to a new value or would retain the original value.
• Since all the other bits have the same value in both the
states, the complete bus will either change to the new
value or retain the original value in this case.
• This in turn implies that if the bus is Gray-encoded, the
problem would get resolved and an invalid state would
never be obtained.
36
1/27/2022
Static
Timing
Analysis
Gray Encoding
• Use Gray code when crossing a clock
domain boundary.
• A Gray code ensures that only a single
bit changes as the bus counts up or
down or for two successive states.
37
1/27/2022
Static
Timing
Analysis
Gray Encoding
38
1/27/2022
Static
Timing
Analysis
Limitations of Gray Code for Data
incoherency
• The Gray code technique is applicable
only for control busses.
• The individual bits of a data bus can
change randomly while changing clock
boundaries. It may not be possible to
Gray-encode the data busses.
• Using synchronizers/gray code to
handle the passing of data bus is
generally unacceptable
39
1/27/2022
Static
Timing
Analysis
Synchronization Methods for Data
Signals over clock domain
• Using MUX based synchronizers.
• Using Handshake signals.
• Using FIFOs (First In First Out memories)
to store data with one clock domain and to
retrieve data with another clock domain.
4
0
1/27/2022
Static
Timing
Analysis
MUX Recirculation Synchronizer
41
1/27/2022
Static
Timing
Analysis
1. A EN control signal generated into source domain
is sent to destination domain first and is being
synchronized in the destination domain using a
multi-flop synchronizer.
2. The synchronized EN (EN_Sync) signal is applied
to MUX to allow the source data bus values A[1:0]
to transfer to destination flipflops.
3. Individual bits of the bus are not synchronized
separately, and hence there is no data incoherency
4. A[1:0] should be held constant while EN is being
synchronized.
42
1/27/2022
Static
Timing
Analysis
Handshaking
• In handshake technique, the source domain sends the
“request” signal to destination domain which uses a 2-
FF synchronizer. Once the destination domain receives
the request, it sends an “ack” signal to the source
domain which uses 2-FF synchronizer to synchronize it.
The ack signal indicates to the source that destination
has received the value and source can update its value.
There are many implementation versions of the
handshake mechanism, but the principle remains the
same – synchronizing the request and ack signals. The
same technique can be applied to do a data bus transfer
from source clock domain to destination clock domain.
The request will indicate a new value on the bus where
as ack will indicate that data bus can be updated.
43
1/27/2022
Static
Timing
Analysis
Handshaking Data between Clock
Domains
4
4
1/27/2022
Static
Timing
Analysis
Limitation of Handshaking
• The above mechanism does have one
drawback in terms of bandwidth usage of
the interface. For handshaking
mechanism, the data bus cannot be
updated while receiving the ack signal.
For applications where this is a
bottleneck, this can be solved by using
Dual Clock Asynchronous FIFO.
Correctly designed FIFOs can increase
bandwidth across the interface while still
maintaining reliable communication
across channels.
45
1/27/2022
Static
Timing
Analysis
Passing Data by FIFO between Clock Domains
4
6
1/27/2022
Static
Timing
Analysis
User-defined Synchronizers
4
7
1/27/2022
Static
Timing
Analysis
Structural Analysis to Identify CDC
Signals
• The most important task of any CDC
structural analyzer is to find out all
the signals (CDC) that cross clock
boundaries.
4
8
1/27/2022
Static
Timing
Analysis
Convergence in the Crossover Path
4
9
1/27/2022
Static
Timing
Analysis
Divergence in the Crossover Path
• Design styles which allow divergent
logic on a CDC signal to multiple
synchronization paths, may cause
functional errors.
5
0
1/27/2022
Static
Timing
Analysis
Divergence of Meta-stable Signal
• Using a meta-stable signal in a design
can be erroneous. Therefore multiple fan-
out of the output of the first FF of a FF
synchronizer can cause functional
errors.
5
1
1/27/2022
Static
Timing
Analysis
convergence of Synchronized Signals
• When a signal goes meta-stable, a
synchronizer settles it down, but
cannot guarantee the precise number
of cycles before the valid signal is
available in the receiving clock
domain.
5
2
1/27/2022
Static
Timing
Analysis
Conclusion
• A CDC signal is a signal latched by a flip-
flop (FF) in one clock domain and
sampled in another asynchronous clock
domain.
• Transferring signals between
asynchronous clock domains may lead to
setup or hold timing violations of flip-
flops.
• These violations may cause signals to be
meta-stable.
5
3
1/27/2022
Static
Timing
Analysis
Conclusion
• Even if synchronizers could eliminate the meta-
stability, incorrect use, such as convergence of
synchronized signals or improper synchronization
protocols, may also result in functional CDC errors.
• Functional validation of such SoC designs is one of
the most complex and expensive tasks.
• Simulation on register transfer level (RTL) is still
the most widely used method. However, standard
RTL simulation can not model the effect of meta-
stability.
5
4
1/27/2022
Static
Timing
Analysis
CDC Tips
1. Eliminate the combinatorial paths between two
clock domains when signal is transferred from
one clock domain to another clock domain.
2. FFs forming the synchronizer circuits must be
placed closed to each other to allow smallest
possible clock skew between them.
3. Never synchronize the same signal in more than
one place.
4. Do not use Dual FF synchronizer scheme for a
bus of data. Use handshaking technique.
5. It is good to invest time in good CDC design
techniques rather than spending time in debug.
CDC issues are very hard to debug to start with
55
Thanks!
56

More Related Content

What's hot

Timing closure document
Timing closure documentTiming closure document
Timing closure documentAlan Tran
 
Synchronous and asynchronous reset
Synchronous and asynchronous resetSynchronous and asynchronous reset
Synchronous and asynchronous resetNallapati Anindra
 
2019 3 testing and verification of vlsi design_sta
2019 3 testing and verification of vlsi design_sta2019 3 testing and verification of vlsi design_sta
2019 3 testing and verification of vlsi design_staUsha Mehta
 
4 verification flow_planning
4 verification flow_planning4 verification flow_planning
4 verification flow_planningUsha Mehta
 
10 static timing_analysis_1_concept_of_timing_analysis
10 static timing_analysis_1_concept_of_timing_analysis10 static timing_analysis_1_concept_of_timing_analysis
10 static timing_analysis_1_concept_of_timing_analysisUsha Mehta
 
sta slide ref.pdf
sta slide ref.pdfsta slide ref.pdf
sta slide ref.pdfquandao25
 
Implementing Useful Clock Skew Using Skew Groups
Implementing Useful Clock Skew Using Skew GroupsImplementing Useful Clock Skew Using Skew Groups
Implementing Useful Clock Skew Using Skew GroupsM Mei
 
Sta by usha_mehta
Sta by usha_mehtaSta by usha_mehta
Sta by usha_mehtaUsha Mehta
 
Testing and Verification of Electronics Circuits : Introduction
Testing and Verification of Electronics Circuits : IntroductionTesting and Verification of Electronics Circuits : Introduction
Testing and Verification of Electronics Circuits : IntroductionUsha Mehta
 
3 test economic_test_equipments_yield
3 test economic_test_equipments_yield3 test economic_test_equipments_yield
3 test economic_test_equipments_yieldUsha Mehta
 
Synopsys Fusion Compiler-Comprehensive RTL-to-GDSII Implementation System
Synopsys Fusion Compiler-Comprehensive RTL-to-GDSII Implementation SystemSynopsys Fusion Compiler-Comprehensive RTL-to-GDSII Implementation System
Synopsys Fusion Compiler-Comprehensive RTL-to-GDSII Implementation SystemMostafa Khamis
 
Design-for-Test (Testing of VLSI Design)
Design-for-Test (Testing of VLSI Design)Design-for-Test (Testing of VLSI Design)
Design-for-Test (Testing of VLSI Design)Usha Mehta
 
2019 1 testing and verification of vlsi design_introduction
2019 1 testing and verification of vlsi design_introduction2019 1 testing and verification of vlsi design_introduction
2019 1 testing and verification of vlsi design_introductionUsha Mehta
 
Verification flow and_planning_vlsi_design
Verification flow and_planning_vlsi_designVerification flow and_planning_vlsi_design
Verification flow and_planning_vlsi_designUsha Mehta
 

What's hot (20)

Major project iii 3
Major project  iii  3Major project  iii  3
Major project iii 3
 
Timing closure document
Timing closure documentTiming closure document
Timing closure document
 
Synchronous and asynchronous reset
Synchronous and asynchronous resetSynchronous and asynchronous reset
Synchronous and asynchronous reset
 
2019 3 testing and verification of vlsi design_sta
2019 3 testing and verification of vlsi design_sta2019 3 testing and verification of vlsi design_sta
2019 3 testing and verification of vlsi design_sta
 
4 verification flow_planning
4 verification flow_planning4 verification flow_planning
4 verification flow_planning
 
10 static timing_analysis_1_concept_of_timing_analysis
10 static timing_analysis_1_concept_of_timing_analysis10 static timing_analysis_1_concept_of_timing_analysis
10 static timing_analysis_1_concept_of_timing_analysis
 
sta slide ref.pdf
sta slide ref.pdfsta slide ref.pdf
sta slide ref.pdf
 
Implementing Useful Clock Skew Using Skew Groups
Implementing Useful Clock Skew Using Skew GroupsImplementing Useful Clock Skew Using Skew Groups
Implementing Useful Clock Skew Using Skew Groups
 
Sta by usha_mehta
Sta by usha_mehtaSta by usha_mehta
Sta by usha_mehta
 
Testing and Verification of Electronics Circuits : Introduction
Testing and Verification of Electronics Circuits : IntroductionTesting and Verification of Electronics Circuits : Introduction
Testing and Verification of Electronics Circuits : Introduction
 
3 test economic_test_equipments_yield
3 test economic_test_equipments_yield3 test economic_test_equipments_yield
3 test economic_test_equipments_yield
 
Synopsys Fusion Compiler-Comprehensive RTL-to-GDSII Implementation System
Synopsys Fusion Compiler-Comprehensive RTL-to-GDSII Implementation SystemSynopsys Fusion Compiler-Comprehensive RTL-to-GDSII Implementation System
Synopsys Fusion Compiler-Comprehensive RTL-to-GDSII Implementation System
 
Design-for-Test (Testing of VLSI Design)
Design-for-Test (Testing of VLSI Design)Design-for-Test (Testing of VLSI Design)
Design-for-Test (Testing of VLSI Design)
 
Uvm dac2011 final_color
Uvm dac2011 final_colorUvm dac2011 final_color
Uvm dac2011 final_color
 
Scan insertion
Scan insertionScan insertion
Scan insertion
 
STA.pdf
STA.pdfSTA.pdf
STA.pdf
 
2019 1 testing and verification of vlsi design_introduction
2019 1 testing and verification of vlsi design_introduction2019 1 testing and verification of vlsi design_introduction
2019 1 testing and verification of vlsi design_introduction
 
Timing analysis
Timing analysisTiming analysis
Timing analysis
 
UVM TUTORIAL;
UVM TUTORIAL;UVM TUTORIAL;
UVM TUTORIAL;
 
Verification flow and_planning_vlsi_design
Verification flow and_planning_vlsi_designVerification flow and_planning_vlsi_design
Verification flow and_planning_vlsi_design
 

Similar to 14 static timing_analysis_5_clock_domain_crossing

Timing synchronization F Ling_v1
Timing synchronization F Ling_v1Timing synchronization F Ling_v1
Timing synchronization F Ling_v1Fuyun Ling
 
Inter-controller Traffic in ONOS Clusters for SDN Networks
Inter-controller Traffic in ONOS Clusters for SDN Networks Inter-controller Traffic in ONOS Clusters for SDN Networks
Inter-controller Traffic in ONOS Clusters for SDN Networks Paolo Giaccone
 
Reset Metastability Issues.pptx
Reset Metastability Issues.pptxReset Metastability Issues.pptx
Reset Metastability Issues.pptxssuserfb39fe
 
Timing synchronization F Ling_v1.2
Timing synchronization F Ling_v1.2Timing synchronization F Ling_v1.2
Timing synchronization F Ling_v1.2Fuyun Ling
 
Asynchronous and synchronous
Asynchronous and synchronousAsynchronous and synchronous
Asynchronous and synchronousAkhil .B
 
TDM Transport over mpls v 1.1
TDM Transport over mpls v 1.1TDM Transport over mpls v 1.1
TDM Transport over mpls v 1.1A Achyar Nur
 
why time synchronization is important in power generation, transmission and ...
 why time synchronization is important in power generation, transmission and ... why time synchronization is important in power generation, transmission and ...
why time synchronization is important in power generation, transmission and ...Mohd Amir
 
Timing issues in digital circuits
Timing issues in digital circuitsTiming issues in digital circuits
Timing issues in digital circuitsaroosa khan
 
Design of -- Two phase non overlapping low frequency clock generator using Ca...
Design of -- Two phase non overlapping low frequency clock generator using Ca...Design of -- Two phase non overlapping low frequency clock generator using Ca...
Design of -- Two phase non overlapping low frequency clock generator using Ca...Prashantkumar R
 
Precision Time Synchronization
Precision Time SynchronizationPrecision Time Synchronization
Precision Time SynchronizationKrishna Sankar
 
Sonet fall2011
Sonet fall2011Sonet fall2011
Sonet fall2011kongara
 
OPTICAL BURST SWITCHING
OPTICAL BURST SWITCHINGOPTICAL BURST SWITCHING
OPTICAL BURST SWITCHINGJigyasa Singh
 
WSN-IEEE 802.15.4 -MAC Protocol
WSN-IEEE 802.15.4 -MAC ProtocolWSN-IEEE 802.15.4 -MAC Protocol
WSN-IEEE 802.15.4 -MAC ProtocolArunChokkalingam
 
Synchronization and timing loop presentation -mapyourtech
Synchronization and timing loop presentation -mapyourtechSynchronization and timing loop presentation -mapyourtech
Synchronization and timing loop presentation -mapyourtechMapYourTech
 

Similar to 14 static timing_analysis_5_clock_domain_crossing (20)

Timing synchronization F Ling_v1
Timing synchronization F Ling_v1Timing synchronization F Ling_v1
Timing synchronization F Ling_v1
 
Synchronisation
SynchronisationSynchronisation
Synchronisation
 
Inter-controller Traffic in ONOS Clusters for SDN Networks
Inter-controller Traffic in ONOS Clusters for SDN Networks Inter-controller Traffic in ONOS Clusters for SDN Networks
Inter-controller Traffic in ONOS Clusters for SDN Networks
 
Reset Metastability Issues.pptx
Reset Metastability Issues.pptxReset Metastability Issues.pptx
Reset Metastability Issues.pptx
 
Timing synchronization F Ling_v1.2
Timing synchronization F Ling_v1.2Timing synchronization F Ling_v1.2
Timing synchronization F Ling_v1.2
 
Intro
IntroIntro
Intro
 
SoC Power Reduction
SoC Power ReductionSoC Power Reduction
SoC Power Reduction
 
VLSI Power Reduction
VLSI Power ReductionVLSI Power Reduction
VLSI Power Reduction
 
Asynchronous and synchronous
Asynchronous and synchronousAsynchronous and synchronous
Asynchronous and synchronous
 
TDM Transport over mpls v 1.1
TDM Transport over mpls v 1.1TDM Transport over mpls v 1.1
TDM Transport over mpls v 1.1
 
why time synchronization is important in power generation, transmission and ...
 why time synchronization is important in power generation, transmission and ... why time synchronization is important in power generation, transmission and ...
why time synchronization is important in power generation, transmission and ...
 
Timing issues in digital circuits
Timing issues in digital circuitsTiming issues in digital circuits
Timing issues in digital circuits
 
Design of -- Two phase non overlapping low frequency clock generator using Ca...
Design of -- Two phase non overlapping low frequency clock generator using Ca...Design of -- Two phase non overlapping low frequency clock generator using Ca...
Design of -- Two phase non overlapping low frequency clock generator using Ca...
 
Tsn lecture vol 3
Tsn lecture vol 3Tsn lecture vol 3
Tsn lecture vol 3
 
Precision Time Synchronization
Precision Time SynchronizationPrecision Time Synchronization
Precision Time Synchronization
 
Resynchronisation or reconnection or transition of microgrid with the utility...
Resynchronisation or reconnection or transition of microgrid with the utility...Resynchronisation or reconnection or transition of microgrid with the utility...
Resynchronisation or reconnection or transition of microgrid with the utility...
 
Sonet fall2011
Sonet fall2011Sonet fall2011
Sonet fall2011
 
OPTICAL BURST SWITCHING
OPTICAL BURST SWITCHINGOPTICAL BURST SWITCHING
OPTICAL BURST SWITCHING
 
WSN-IEEE 802.15.4 -MAC Protocol
WSN-IEEE 802.15.4 -MAC ProtocolWSN-IEEE 802.15.4 -MAC Protocol
WSN-IEEE 802.15.4 -MAC Protocol
 
Synchronization and timing loop presentation -mapyourtech
Synchronization and timing loop presentation -mapyourtechSynchronization and timing loop presentation -mapyourtech
Synchronization and timing loop presentation -mapyourtech
 

More from Usha Mehta

Basic Design Flow for Field Programmable Gate Arrays
Basic Design Flow for Field Programmable Gate ArraysBasic Design Flow for Field Programmable Gate Arrays
Basic Design Flow for Field Programmable Gate ArraysUsha Mehta
 
Field Programmable Gate Arrays : Architecture
Field Programmable Gate Arrays : ArchitectureField Programmable Gate Arrays : Architecture
Field Programmable Gate Arrays : ArchitectureUsha Mehta
 
Programmable Logic Devices : SPLD and CPLD
Programmable Logic Devices : SPLD and CPLDProgrammable Logic Devices : SPLD and CPLD
Programmable Logic Devices : SPLD and CPLDUsha Mehta
 
Programmable Switches for Programmable Logic Devices
Programmable Switches for Programmable Logic DevicesProgrammable Switches for Programmable Logic Devices
Programmable Switches for Programmable Logic DevicesUsha Mehta
 
2_DVD_ASIC_Design_FLow.pdf
2_DVD_ASIC_Design_FLow.pdf2_DVD_ASIC_Design_FLow.pdf
2_DVD_ASIC_Design_FLow.pdfUsha Mehta
 
3_DVD_IC_Fabrication_Flow_designer_perspective.pdf
3_DVD_IC_Fabrication_Flow_designer_perspective.pdf3_DVD_IC_Fabrication_Flow_designer_perspective.pdf
3_DVD_IC_Fabrication_Flow_designer_perspective.pdfUsha Mehta
 
7_DVD_Combinational_MOS_Logic_Circuits.pdf
7_DVD_Combinational_MOS_Logic_Circuits.pdf7_DVD_Combinational_MOS_Logic_Circuits.pdf
7_DVD_Combinational_MOS_Logic_Circuits.pdfUsha Mehta
 
5_DVD_VLSI Technology Trends.pdf
5_DVD_VLSI Technology Trends.pdf5_DVD_VLSI Technology Trends.pdf
5_DVD_VLSI Technology Trends.pdfUsha Mehta
 
8_DVD_Sequential_MOS_logic_circuits.pdf
8_DVD_Sequential_MOS_logic_circuits.pdf8_DVD_Sequential_MOS_logic_circuits.pdf
8_DVD_Sequential_MOS_logic_circuits.pdfUsha Mehta
 
9_DVD_Dynamic_logic_circuits.pdf
9_DVD_Dynamic_logic_circuits.pdf9_DVD_Dynamic_logic_circuits.pdf
9_DVD_Dynamic_logic_circuits.pdfUsha Mehta
 
13_DVD_Latch-up_prevention.pdf
13_DVD_Latch-up_prevention.pdf13_DVD_Latch-up_prevention.pdf
13_DVD_Latch-up_prevention.pdfUsha Mehta
 
9 semiconductor memory
9 semiconductor memory9 semiconductor memory
9 semiconductor memoryUsha Mehta
 
6 verification tools
6 verification tools6 verification tools
6 verification toolsUsha Mehta
 
5 verification methods
5 verification methods5 verification methods
5 verification methodsUsha Mehta
 
2 when to_test_role_of_testing
2 when to_test_role_of_testing2 when to_test_role_of_testing
2 when to_test_role_of_testingUsha Mehta
 
Introduction of testing and verification of vlsi design
Introduction of testing and verification of vlsi designIntroduction of testing and verification of vlsi design
Introduction of testing and verification of vlsi designUsha Mehta
 
BUilt-In-Self-Test for VLSI Design
BUilt-In-Self-Test for VLSI DesignBUilt-In-Self-Test for VLSI Design
BUilt-In-Self-Test for VLSI DesignUsha Mehta
 
Automatic Test Pattern Generation (Testing of VLSI Design)
Automatic Test Pattern Generation (Testing of VLSI Design)Automatic Test Pattern Generation (Testing of VLSI Design)
Automatic Test Pattern Generation (Testing of VLSI Design)Usha Mehta
 

More from Usha Mehta (20)

Basic Design Flow for Field Programmable Gate Arrays
Basic Design Flow for Field Programmable Gate ArraysBasic Design Flow for Field Programmable Gate Arrays
Basic Design Flow for Field Programmable Gate Arrays
 
Field Programmable Gate Arrays : Architecture
Field Programmable Gate Arrays : ArchitectureField Programmable Gate Arrays : Architecture
Field Programmable Gate Arrays : Architecture
 
Programmable Logic Devices : SPLD and CPLD
Programmable Logic Devices : SPLD and CPLDProgrammable Logic Devices : SPLD and CPLD
Programmable Logic Devices : SPLD and CPLD
 
Programmable Switches for Programmable Logic Devices
Programmable Switches for Programmable Logic DevicesProgrammable Switches for Programmable Logic Devices
Programmable Switches for Programmable Logic Devices
 
2_DVD_ASIC_Design_FLow.pdf
2_DVD_ASIC_Design_FLow.pdf2_DVD_ASIC_Design_FLow.pdf
2_DVD_ASIC_Design_FLow.pdf
 
3_DVD_IC_Fabrication_Flow_designer_perspective.pdf
3_DVD_IC_Fabrication_Flow_designer_perspective.pdf3_DVD_IC_Fabrication_Flow_designer_perspective.pdf
3_DVD_IC_Fabrication_Flow_designer_perspective.pdf
 
7_DVD_Combinational_MOS_Logic_Circuits.pdf
7_DVD_Combinational_MOS_Logic_Circuits.pdf7_DVD_Combinational_MOS_Logic_Circuits.pdf
7_DVD_Combinational_MOS_Logic_Circuits.pdf
 
5_DVD_VLSI Technology Trends.pdf
5_DVD_VLSI Technology Trends.pdf5_DVD_VLSI Technology Trends.pdf
5_DVD_VLSI Technology Trends.pdf
 
8_DVD_Sequential_MOS_logic_circuits.pdf
8_DVD_Sequential_MOS_logic_circuits.pdf8_DVD_Sequential_MOS_logic_circuits.pdf
8_DVD_Sequential_MOS_logic_circuits.pdf
 
9_DVD_Dynamic_logic_circuits.pdf
9_DVD_Dynamic_logic_circuits.pdf9_DVD_Dynamic_logic_circuits.pdf
9_DVD_Dynamic_logic_circuits.pdf
 
13_DVD_Latch-up_prevention.pdf
13_DVD_Latch-up_prevention.pdf13_DVD_Latch-up_prevention.pdf
13_DVD_Latch-up_prevention.pdf
 
9 semiconductor memory
9 semiconductor memory9 semiconductor memory
9 semiconductor memory
 
6 verification tools
6 verification tools6 verification tools
6 verification tools
 
5 verification methods
5 verification methods5 verification methods
5 verification methods
 
2 when to_test_role_of_testing
2 when to_test_role_of_testing2 when to_test_role_of_testing
2 when to_test_role_of_testing
 
1 why to_test
1 why to_test1 why to_test
1 why to_test
 
1 why to_test
1 why to_test1 why to_test
1 why to_test
 
Introduction of testing and verification of vlsi design
Introduction of testing and verification of vlsi designIntroduction of testing and verification of vlsi design
Introduction of testing and verification of vlsi design
 
BUilt-In-Self-Test for VLSI Design
BUilt-In-Self-Test for VLSI DesignBUilt-In-Self-Test for VLSI Design
BUilt-In-Self-Test for VLSI Design
 
Automatic Test Pattern Generation (Testing of VLSI Design)
Automatic Test Pattern Generation (Testing of VLSI Design)Automatic Test Pattern Generation (Testing of VLSI Design)
Automatic Test Pattern Generation (Testing of VLSI Design)
 

Recently uploaded

Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .Satyam Kumar
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learningmisbanausheenparvam
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)dollysharma2066
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLDeelipZope
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2RajaP95
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 

Recently uploaded (20)

Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learning
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCL
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 

14 static timing_analysis_5_clock_domain_crossing

  • 1. Clock Domain Crossing Prof. Usha Mehta Professor, PG-VLSI Design, EC, Institute of Technology, Nirma University, Ahmedabad usha.mehta@nirmauni.ac.in usha.mehta@ieee.org Courtesy: 1. https://anysilicon.com/clock-domain-crossing-cdc/ 2. https://www.eetimes.com/understanding-clock-domain- crossing-issues/
  • 3. 1/27/2022 Static Timing Analysis Single Clock Circuit • The digital circuits with FFs are very normal for digital circuits. • The synchronous circuit has FFs and a common clock connected with them all. • The entire design using single clock is for learning purpose and very elementary. • Modern System-on-Chip (SoC) designs continue to face increasing size and complexity challenges • The SoC contains number of different blocks/IP working at different frequencies 3
  • 4. 1/27/2022 Static Timing Analysis Clock Domain Crossing • The modern SoCs, with so many dedicated data processing islands usually need to transfer data between these multiple clock domains (islands). •When data needs to be transferred between two different clock domains, it will appear to be asynchronous to the new clock domain. • CDC is “The process of passing a signal or vector (multi bit signal) from one clock domain to another clock domain.” 4
  • 5. 1/27/2022 Static Timing Analysis A Clock Domain • A part of the design that is driven by either one clock or more clocks that have related to each other • Constant phase relationship between two clocks • A clock and its variant generated by frequency divider circuit • A clock and its inverted clock • CLK, its inversion, and D1 (derived from CLK) are synchronous to each other. 5
  • 6. 1/27/2022 Static Timing Analysis • Clock Domain Crossing design is a design that has one clock asynchronous to, or has a variable phase relation with, another clock. 6
  • 7. 1/27/2022 Static Timing Analysis Different Clock Domain • 50MHz and 37MHz clocks (whose phase relationship changes over time) define two separate clock domains. • Designs which have two unrelated clocks (different clock frequencies) or clocks from two different sources (even with same frequency) are treated as multiple clock domain designs. 7
  • 8. 1/27/2022 Static Timing Analysis Synchronous Clock Domain Crossing • Clocks which have a known phase and frequency relationship between them are known as synchronous clocks. • These are essentially the clocks originating from the same clock-root. • A clock crossing between such clocks is known as a synchronous clock domain crossing. 8
  • 9. 1/27/2022 Static Timing Analysis Categories of Synchronous clocks • Clocks with the same frequency and zero phase difference • Clocks with the same frequency and constant phase difference • Clocks with different frequency and variable phase difference •Integer multiple clocks •Rational multiple clocks 9
  • 10. 1/27/2022 Static Timing Analysis Clocks with the same frequency and zero phase difference 10
  • 11. 1/27/2022 Static Timing Analysis Clocks with the same frequency and constant phase difference • Example: clock and its inverted clock with gate delay 11
  • 12. 1/27/2022 Static Timing Analysis Clocks with different frequency and variable phase difference • Integer multiple clocks 12
  • 13. 1/27/2022 Static Timing Analysis Clocks with different frequency and variable phase difference • For the case of slow to fast crossings : no data loss • For fast to slow clock crossing Data loss • The source data should be held constant for at least one cycle of the destination clock. • This can be ensured by using some control circuit, for example, a simple finite state machine (FSM) would work in this case. 13
  • 14. 1/27/2022 Static Timing Analysis Clocks with different frequency and variable phase difference • Rational multiple clocks • In this case, the frequency of one clock is a rational or non-integer multiple of the other clock and the phase difference between the active clock edges is variable. • Unlike the situation where one clock is an integer multiple of the other, here the minimum phase difference between the two clocks can be very small- small enough to cause metastability. 14
  • 15. 1/27/2022 Static Timing Analysis Asynchronous Clock Domain Crossing • Clocks which do not have a known phase or frequency relationship between them are known as asynchronous clocks. • Whenever there is a clock crossing between two asynchronous clocks, their active edges can arrive very close together leading to metastability. Here the phase difference between the clocks can be variable and unlike synchronous clocks it is unpredictable. 15
  • 16. 1/27/2022 Static Timing Analysis Simulation and STA is not enough for clock domain crossing • Within one clock domain, proper static timing analysis (STA) can guarantee that data does not change within clock setup and hold times. When signals pass from one clock domain to another asynchronous domain, there is no way to avoid such scenario since data can change at any time. 1 6
  • 17. 1/27/2022 Static Timing Analysis Issues with Clock Domain Crossing 1. Metastability 2. Data Loss 3. Data Incoherency 17
  • 18. 1/27/2022 Static Timing Analysis Meta-stability • i.e. unstable or intermediate state • For digital circuits, it means that a FF can enter a state where output might not have reached to its final expected value and can oscillate between 0 or 1. • The signal will stabilize after some time but that depends on FF type and the PVT conditions. 18
  • 21. 1/27/2022 Static Timing Analysis The consequences of Metastability 1. If the unstable data is fed to several other places in the design, it may lead to a high current flow and even chip burnout in the worst case. 2. Different fan-out cones may read different values of the signal, and may cause the design to enter into an unknown functional state, leading to functional issues in the design. 3. The destination domain output may settle down to the new value or may return to the old value. However, the propagation delay could be high leading to timing issues. 21
  • 22. 1/27/2022 Static Timing Analysis Metastability is unavoidable in CDC • In a multi-clock design, meta-stability is inevitable, but there are certain design techniques that help to avoid the chance of getting meta-stable. 2 2
  • 23. 1/27/2022 Static Timing Analysis Synchronizer • Synchronizer allows sufficient time for the oscillations to settle down and ensure that a stable output is obtained in the destination domain. • Types of Synchronizers • Multiflop synchronizer • For single and multi-bit control signals and single bit data signals • MUX recirculation • Handshake • FIFO • All above three for multi-bit data signals 23
  • 25. 1/27/2022 Static Timing Analysis What if signal does not get settled in one clock cycle? • In a 2-FF synchronizer, the first flip-flop samples the asynchronous input signal into the destination clock domain and waits for a full destination clock cycle to permit any meta- stability on the stage-1 output signal to decay, then the stage-1 signal is sampled by the same clock into a second stage flip-flop, with the intended goal that the stage-2 signal is now a stable and valid signal synchronized into the destination clock domain. It is theoretically possible for the stage-1 signal to still be sufficiently meta-stable by the time the signal is clocked into the second stage to cause the stage-2 signal to also go meta-stable. 25
  • 26. 1/27/2022 Static Timing Analysis Mean Time Between Failure (MTBF) of Metastability • Note that the meta-stability is a probabilistic phenomenon. • The meta-stable output converges to a stable value with time. Therefore, even if the input to the stage-2 FF still remains meta-stable, the probability that the output of the stage-2 FF will remain meta-stable for a full destination clock cycle is asymptotically close to zero. • This calculation of the probability of the time between synchronization failures (MTBF) is a function of multiple variables including the clock frequencies used to generate the input signal and to clock the synchronizing flip-flops. • For most synchronization applications, a 2-FF synchronizer is sufficient to remove all likely meta-stability. • However for certain very high speed clock frequencies, the MTBF can be increased more by either using special cells provided in technology libraries or/and using more than 2 stages of the FFs as synchronizers (3 or 4 stages of FFs). 26
  • 27. 1/27/2022 Static Timing Analysis Limitation of 2FF Synchronizer • These 2 FF synchronizer circuits work very well for most of the applications that involve single bit control signals and where the input toggle rate is less than the destination clock frequency • There will be no data loss if destination clock frequency is more than 1.5 times of source clock frequency. • If the source and destination clock frequency are almost same or destination clock frequency is slow, then source must keep its value stable for destination to capture it, before changing to next value or the data will be lost. 27
  • 28. 1/27/2022 Static Timing Analysis Data Loss • As long as each transition on the source signal is captured in the destination domain, data is not lost. • Whenever a new source data is generated, it may not be captured by the destination domain in the very first cycle of the destination clock because of metastability. • In order to ensure this, the source data should remain stable for some minimum time, so that the setup and hold time requirements are met with respect to at least one active edge of destination clock. • There may not be a cycle by cycle correspondence between the source and destination domain data. Whatever the case, it is important that each transition on the source data should get captured in the destination domain. 28
  • 29. 1/27/2022 Static Timing Analysis Input Data Stability to Avoid Data Loss • Every transition on the input signal needs to be correctly propagated to the destination domain. • 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 (No setup/hold violation) 2 9
  • 30. 1/27/2022 Static Timing Analysis • If there is sufficient time between the transition on data A and the active edge of clock C2, the data is captured in the destination domain in the first cycle of C2. • But if the active clock edges of C1 and C2 arrive close together, the first clock edge of C2, which comes after the transition on source data A, is not able to capture it. The data finally gets captured by the second edge of clock C2 30
  • 31. 1/27/2022 Static Timing Analysis Example of Data loss • C1= 2 X C2, • Data sequence A generated on +ve edge of C1 is 00110011 • Data captured on +ve edge of C2 is 0101. • Overall all transitions captured so no data loss 31
  • 32. 1/27/2022 Static Timing Analysis Example of Data loss • C1= 2 X C2, • Data sequence A generated on +ve edge of C1 is 00101111 • Data captured on +ve edge of C2 is 0011. • Overall all transitions captured so no data loss 32
  • 33. 1/27/2022 Static Timing Analysis Data Incoherency • Consider a case where multiple signals (e.g. data bus, vector) are being transferred from one clock domain to another and each signal is synchronized separately using a multi-flop synchronizer. • If all the signals are changing simultaneously and the source and destination clock edges arrive close together, some of the signals may get captured in the destination domain in the first clock cycle while some others may be captured in the second clock cycle by virtue of Metastability. • This may result in an invalid combination of values on the signals at the destination side. Data coherency is said to have been lost in such a case. 33
  • 35. 1/27/2022 Static Timing Analysis 3 5 The natural way to transfer a vector control signal is to model each bit of the vector to be separately synchronized by a FF synchronizer Sig wants to change its value from "000" to "101" (both indicate valid states). However, it ends up in invalid state “100”. Example : Data Incoherency
  • 36. 1/27/2022 Static Timing Analysis Solution to Data Incoherency • The problem results because all the bits are not changing to a new state in the same cycle of destination clock. • If all the bits either retain their original value or change to the new value in the same cycle, then the design either remains in the original state or goes to a correct new state. • Now, if the circuit is designed in such a way that while changing the design from one state to another, only one bit change is required, then either that bit would change to a new value or would retain the original value. • Since all the other bits have the same value in both the states, the complete bus will either change to the new value or retain the original value in this case. • This in turn implies that if the bus is Gray-encoded, the problem would get resolved and an invalid state would never be obtained. 36
  • 37. 1/27/2022 Static Timing Analysis Gray Encoding • Use Gray code when crossing a clock domain boundary. • A Gray code ensures that only a single bit changes as the bus counts up or down or for two successive states. 37
  • 39. 1/27/2022 Static Timing Analysis Limitations of Gray Code for Data incoherency • The Gray code technique is applicable only for control busses. • The individual bits of a data bus can change randomly while changing clock boundaries. It may not be possible to Gray-encode the data busses. • Using synchronizers/gray code to handle the passing of data bus is generally unacceptable 39
  • 40. 1/27/2022 Static Timing Analysis Synchronization Methods for Data Signals over clock domain • Using MUX based synchronizers. • Using Handshake signals. • Using FIFOs (First In First Out memories) to store data with one clock domain and to retrieve data with another clock domain. 4 0
  • 42. 1/27/2022 Static Timing Analysis 1. A EN control signal generated into source domain is sent to destination domain first and is being synchronized in the destination domain using a multi-flop synchronizer. 2. The synchronized EN (EN_Sync) signal is applied to MUX to allow the source data bus values A[1:0] to transfer to destination flipflops. 3. Individual bits of the bus are not synchronized separately, and hence there is no data incoherency 4. A[1:0] should be held constant while EN is being synchronized. 42
  • 43. 1/27/2022 Static Timing Analysis Handshaking • In handshake technique, the source domain sends the “request” signal to destination domain which uses a 2- FF synchronizer. Once the destination domain receives the request, it sends an “ack” signal to the source domain which uses 2-FF synchronizer to synchronize it. The ack signal indicates to the source that destination has received the value and source can update its value. There are many implementation versions of the handshake mechanism, but the principle remains the same – synchronizing the request and ack signals. The same technique can be applied to do a data bus transfer from source clock domain to destination clock domain. The request will indicate a new value on the bus where as ack will indicate that data bus can be updated. 43
  • 45. 1/27/2022 Static Timing Analysis Limitation of Handshaking • The above mechanism does have one drawback in terms of bandwidth usage of the interface. For handshaking mechanism, the data bus cannot be updated while receiving the ack signal. For applications where this is a bottleneck, this can be solved by using Dual Clock Asynchronous FIFO. Correctly designed FIFOs can increase bandwidth across the interface while still maintaining reliable communication across channels. 45
  • 46. 1/27/2022 Static Timing Analysis Passing Data by FIFO between Clock Domains 4 6
  • 48. 1/27/2022 Static Timing Analysis Structural Analysis to Identify CDC Signals • The most important task of any CDC structural analyzer is to find out all the signals (CDC) that cross clock boundaries. 4 8
  • 50. 1/27/2022 Static Timing Analysis Divergence in the Crossover Path • Design styles which allow divergent logic on a CDC signal to multiple synchronization paths, may cause functional errors. 5 0
  • 51. 1/27/2022 Static Timing Analysis Divergence of Meta-stable Signal • Using a meta-stable signal in a design can be erroneous. Therefore multiple fan- out of the output of the first FF of a FF synchronizer can cause functional errors. 5 1
  • 52. 1/27/2022 Static Timing Analysis convergence of Synchronized Signals • When a signal goes meta-stable, a synchronizer settles it down, but cannot guarantee the precise number of cycles before the valid signal is available in the receiving clock domain. 5 2
  • 53. 1/27/2022 Static Timing Analysis Conclusion • A CDC signal is a signal latched by a flip- flop (FF) in one clock domain and sampled in another asynchronous clock domain. • Transferring signals between asynchronous clock domains may lead to setup or hold timing violations of flip- flops. • These violations may cause signals to be meta-stable. 5 3
  • 54. 1/27/2022 Static Timing Analysis Conclusion • Even if synchronizers could eliminate the meta- stability, incorrect use, such as convergence of synchronized signals or improper synchronization protocols, may also result in functional CDC errors. • Functional validation of such SoC designs is one of the most complex and expensive tasks. • Simulation on register transfer level (RTL) is still the most widely used method. However, standard RTL simulation can not model the effect of meta- stability. 5 4
  • 55. 1/27/2022 Static Timing Analysis CDC Tips 1. Eliminate the combinatorial paths between two clock domains when signal is transferred from one clock domain to another clock domain. 2. FFs forming the synchronizer circuits must be placed closed to each other to allow smallest possible clock skew between them. 3. Never synchronize the same signal in more than one place. 4. Do not use Dual FF synchronizer scheme for a bus of data. Use handshaking technique. 5. It is good to invest time in good CDC design techniques rather than spending time in debug. CDC issues are very hard to debug to start with 55