Metastable Synchronizer Circuit

This example shows a synchronizer, which is a circuit that stabilizes an input signal that may produce a metastable output. If possible, the registers in a synchronization chain need to be placed close to each other. Efinix recommends that you use the async_reg synthesis attribute for synchronizer registers.

In the following figure, FF1 and FF2 should be close together. Use the async_reg synthesis attribute for the FF1 and FF2 registers in the RTL netlist., which tells the software to keep those registers close together during place-and-route.

Figure 1. Metastability Synchronizer Example