A clock domain crossing occurs whenever data is transferred from a flop driven by one clock to a flop driven by another clock. Fig : Clock domain Crossing Two Flop Synchronizer Two flop synchronizer is used for synchronizing a single bit level signal. It converts the signal from source clock domain to destination clock domain. Two stage flop synchronizer is shown below: Fig : Two flop synchronizer Slow to Fast Pulse Synchronizer Fast to Slow Pulse Synchronizer Handshake Synchronizer