In digital electronic design a clock domain crossing (CDC), or simply
clock
A clock or a timepiece is a device used to measure and indicate time. The clock is one of the oldest human inventions, meeting the need to measure intervals of time shorter than the natural units such as the day, the lunar month and the ...
crossing, is the traversal of a signal in a
synchronous
Synchronization is the coordination of events to operate a system in unison. For example, the conductor of an orchestra keeps the orchestra synchronized or ''in time''. Systems that operate with all parts in synchrony are said to be synchronou ...
digital circuit In theoretical computer science, a circuit is a model of computation in which input values proceed through a sequence of gates, each of which computes a function. Circuits of this kind provide a generalization of Boolean circuits and a mathematical ...
from one
clock
A clock or a timepiece is a device used to measure and indicate time. The clock is one of the oldest human inventions, meeting the need to measure intervals of time shorter than the natural units such as the day, the lunar month and the ...
domain into another. If a signal does not assert
long enough and is not registered, it may appear
asynchronous
Asynchrony is the state of not being in synchronization.
Asynchrony or asynchronous may refer to:
Electronics and computing
* Asynchrony (computer programming), the occurrence of events independent of the main program flow, and ways to deal with ...
on the incoming clock boundary.
A synchronous system is composed of a single
electronic oscillator
An electronic oscillator is an electronic circuit that produces a periodic, oscillation, oscillating electronic signal, often a sine wave or a square wave or a triangle wave. Oscillation, Oscillators convert direct current (DC) from a power supp ...
that generates a
clock signal
In electronics and especially synchronous digital circuits, a clock signal (historically also known as ''logic beat'') oscillates between a high and a low state and is used like a metronome to coordinate actions of digital circuits.
A clock sign ...
, and its
clock domain
In electronics, metastability is the ability of a digital electronic system to persist for an unbounded time in an unstable equilibrium or metastable state.
In digital logic circuits, a digital signal is required to be within certain voltage or ...
—the memory elements directly clocked by that signal from that oscillator, and the
combinational logic
In automata theory, combinational logic (also referred to as time-independent logic or combinatorial logic) is a type of digital logic which is implemented by Boolean circuits, where the output is a pure function of the present input only. This i ...
attached to the outputs of those memory elements.
Because of
speed-of-light
The speed of light in vacuum, commonly denoted , is a universal physical constant that is important in many areas of physics. The speed of light is exactly equal to ). According to the special theory of relativity, is the upper limit fo ...
delays,
timing skew Clock skew (sometimes called timing skew) is a phenomenon in synchronous digital circuit systems (such as computer systems) in which the same sourced clock signal arrives at different components at different times due to gate or, in more advanced s ...
, etc., the size of a clock domain in such a synchronous system is inversely proportional to the frequency of the clock.
In early computers, typically all the digital logic ran in a single clock domain. Because of
transmission line
In electrical engineering, a transmission line is a specialized cable or other structure designed to conduct electromagnetic waves in a contained manner. The term applies when the conductors are long enough that the wave nature of the transmis ...
loss and distortion it is difficult to carry digital signals above 66 MHz on standard
PCB
PCB may refer to:
Science and technology
* Polychlorinated biphenyl, an organic chlorine compound, now recognized as an environmental toxin and classified as a persistent organic pollutant
* Printed circuit board, a board used in electronics
* ...
traces (the clock signal is the highest frequency in a synchronous digital system), CPUs that run faster than that speed invariably are
single-chip CPUs with a
phase-locked loop
A phase-locked loop or phase lock loop (PLL) is a control system that generates an output signal whose phase is related to the phase of an input signal. There are several different types; the simplest is an electronic circuit consisting of a ...
(PLL) or other on-chip oscillator, keeping the fastest signals on-chip. At first, each CPU chip ran in its own single clock domain, and the rest of the digital logic of the computer ran in another slower clock domain. A few modern CPUs have such a high speed clock, that designers are forced to create several different clock domains on a single CPU chip.
Different
clock
A clock or a timepiece is a device used to measure and indicate time. The clock is one of the oldest human inventions, meeting the need to measure intervals of time shorter than the natural units such as the day, the lunar month and the ...
domains have clocks which have a different
frequency
Frequency is the number of occurrences of a repeating event per unit of time. It is also occasionally referred to as ''temporal frequency'' for clarity, and is distinct from ''angular frequency''. Frequency is measured in hertz (Hz) which is eq ...
, a different
phase
Phase or phases may refer to:
Science
*State of matter, or phase, one of the distinct forms in which matter can exist
*Phase (matter), a region of space throughout which all physical properties are essentially uniform
* Phase space, a mathematic ...
(due to either differing clock latency or a different clock source), or both. Either way the relationship between the clock edges in the two domains cannot be relied upon.
Synchronizing a single bit signal to a clock domain with a higher frequency can be accomplished by registering the signal through a
flip-flop that is clocked by the source domain, thus holding the signal long enough to be detected by the higher frequency clocked destination domain.
CDC metastability issues can occur between asynchronous clock domains; this is in contrast to reset domain crossing metastability, which can occur between synchronous & asynchronous clock domains. To avoid issues with CDC
metastability
In chemistry and physics, metastability denotes an intermediate Energy level, energetic state within a dynamical system other than the system's ground state, state of least energy.
A ball resting in a hollow on a slope is a simple example of me ...
in the destination clock domain, a minimum of 2 stages of re-synchronization flip-flops are included in the destination domain. Synchronizing a single bit signal traversing into clock domain with a slower frequency is more cumbersome. This typically requires a register in each clock domain with a form of feedback from the destination domain to the source domain, indicating that the signal was detected.
Other potential clock domain crossing design errors include
glitch
A glitch is a short-lived fault in a system, such as a transient fault that corrects itself, making it difficult to troubleshoot. The term is particularly common in the computing and electronics industries, in circuit bending, as well as among ...
es and data loss.
SemiEngineering: Clock Domain Crossing (CDC)
/ref>
In some cases, clock gating
Clock gating is a popular technique used in many synchronous circuits for reducing dynamic power dissipation, by removing the clock signal when the circuit is not in use or ignores clock signal. Clock gating saves power by pruning the clock tree, ...
can result in two clock domains where the "slower" domain changes from one second to the next.
See also
* Crosstalk (electronics)
In electronics, crosstalk is any phenomenon by which a signal transmitted on one circuit or channel of a transmission system creates an undesired effect in another circuit or channel. Crosstalk is usually caused by undesired capacitive, induc ...
* Metastability in electronics
In electronics, metastability is the ability of a digital electronic system to persist for an unbounded time in an unstable equilibrium or metastable state.
In digital logic circuits, a digital signal is required to be within certain voltag ...
* Globally asynchronous, locally synchronous
* Source-synchronous Source-Synchronous clocking refers to a technique used for timing symbols on a digital interface. Specifically, it refers to the technique of having the transmitting device send a clock signal along with the data signals. The timing of the unidirec ...
* Gray code
The reflected binary code (RBC), also known as reflected binary (RB) or Gray code after Frank Gray, is an ordering of the binary numeral system such that two successive values differ in only one bit (binary digit).
For example, the representati ...
* asynchronous array of simple processors
Asynchrony is the state of not being in synchronization.
Asynchrony or asynchronous may refer to:
Electronics and computing
* Asynchrony (computer programming), the occurrence of events independent of the main program flow, and ways to deal with ...
* The topic is duplicated in
References
Further reading
* (10 pages)
* (17 pages)
* {{cite web , title=1: Clock Domain Crossing , author-first=Peter M. , author-last=Athanas , work=LEDA , series=Course 4514 , publisher=Bradley Department of Electrical and Computer Engineering, Virginia Tech
Virginia Tech (formally the Virginia Polytechnic Institute and State University and informally VT, or VPI) is a Public university, public Land-grant college, land-grant research university with its main campus in Blacksburg, Virginia. It also ...
, location=Blacksburg, Virginia, USA , date=2015 , url=https://filebox.ece.vt.edu/~athanas/4514/ledadoc/html/pol_cdc.html , access-date=2020-08-06 , url-status=live , archive-url=https://web.archive.org/web/20150511034154/https://filebox.ece.vt.edu/~athanas/4514/ledadoc/html/pol_cdc.html , archive-date=2015-05-11
Telecommunication theory
Electronic circuit verification