oThey are used when signal crosses asynchronous clock domains.
Sync Flop added between two flops operating on asynchronous clocks to avoid metastability.
The main responsibility of a synchronizer is to allow sufficient time such that any meta-sable output can settle down to a stable value in the destination clock domain.
Generally 2 stage synchronizer is sufficient to remove all likely meta-stability.
Sync flops operating on destination clock domain.

