A clock-domain crossing transfers information between circuits with different clock timing. The appropriate method depends on whether the information is a single-bit level, an event, a coherent multi-bit value or a continuous data stream. Choosing a protocol is part of the design.
Worked example
A stable request level can pass through a synchronizer. A short event may need pulse stretching, a toggle protocol or a handshake. A multi-bit data transfer can hold data stable while synchronizing request and acknowledgment. A sustained stream often uses an asynchronous FIFO.
What to watch for
Synchronizing each bit of a changing bus separately does not guarantee a coherent word: different bits can be captured from different source values.
Try it yourself
Why can a one-cycle source pulse be missed by a slower destination clock?
Answer: The pulse may rise and fall entirely between destination edges. The crossing protocol must preserve the event long enough to be observed.
How to study this topic
Draw the launch edge, capture edge and data transition on one timeline. Use guaranteed limits for real timing checks. Identify the clock domain and signal type before choosing a synchronizer or crossing protocol.
Explore related programmes
These recorded programmes are upcoming. This article is general educational content, not a syllabus or course sample.
Digital Electronics