Synchronizer
From Computer History Wiki
A synchronizer is a device which interfaces between two groups of circuitry which are either:
- both synchronous, but using clocks which are not fixed relative to one another; or
- at least one of the two is asynchronous.
(A group of circuity all using a common clock forms a so-called 'clock domain'.)
Signals which pass across the boundary must be handled in such a way that they reliably appear to be in one state or another, to the circuitry inside the destination clock domain.
If the incoming signal, and the clock in the destination clock domain are aligned 'just right' (in other words, 'just wrong'), this process can be subject to meta-stability issues.
At a higher level, a bit string passing across a clock domain boundary must be the same on both sides.