Practical Design For Transferring Signals Between Clock Domains
Practical Design For Transferring Signals Between Clock Domains
Practical Design For Transferring Signals Between Clock Domains
DATA_VALID TAKE_IT_PL
SOURCE- DESTINATION-
SOURCE CLK_SCR CLOCK CLOCK DESTINATION
MODULE SYNCHRONIZER MODULE
HANDSHAKE HANDSHAKE
GOT_IT_PL MODULE MODULE CLK_DST
DATA_SCR
INTERFACE MODULE
Figure 1
A simple circuit employing a synchronizer and handshake protocol can help overcome limitations and errors inherent in asynchronous design.
SYNCHRONIZER TOGGLE2PULSE
TAKE_IT_TG TAKE_IT_PL
Figure 4
START_PL CLK_DST
CLK_SRC
GOT_IT_TG
GOT_IT_PL
In the basic double-stage synchronization-and-toggle protocol, the transitional—not the logical—level acts as a means of communication across clock
domains.