v1.0
22- 1
Application Note AC312
22 – Metastability Characterization Report for Actel
Flash FPGAs
Introduction
Whenever asynchronous data is registered by a clocked flip-flop, there is a probability of setup or
hold time violation on that flip-flop. In applications such as synchronization or data recovery, due
to the asynchronous nature of the data input to the flip-flops, the data transition time is
unpredictable with respect to the active edge of the clock. The susceptibility of a circuit to reaching
this metastable state can be described using a probabilistic equation. Setup or hold violations cause
the output of the flip-flop to enter a symmetrically balanced transient state, called a metastable
state. The metastable state is manifested in a bistable device by the outputs glitching, going into
an undefined state somewhere between 1 and 0, oscillating, or by the output transition being
delayed for an indeterminable time. Once the flip-flop has entered the metastable state, the
probability that it will still be metastable later has been shown to be an exponentially decreasing
function of time. Because of this property, a designer should simply wait for additional time after
the specified propagation delay before sampling the flip-flop output so that the designer can be
assured that the likelihood of metastable failure is remote enough to be tolerable. The additional
time of waiting becomes shorter, even though still more than zero, as the technology improves and
semiconductor devices reach higher ranges of speed.
This document discusses a description of metastability equations followed by metastability
characterization of ProASIC, ProASICPLUS, ProASIC3, and ProASIC3E FPGAs. This application note
also provides examples on the usage of metastability equations.
Theory of Metastability
In general, the mean time between failures (MTBF) should be defined statically.
Figure 22-1 onpage 22-2 depicts a simple circuit, used to synchronize asynchronous data with the system clock.
EQ 22-1 shows the relation between MTBF and the clock-to-out settling time of a flip-flop:
MTBF = e (Ts / τ) / (To × fd × fc)
EQ 22-1
Ts = Tco + Tmet
EQ 22-2
Ts
= Total flip-flop output settling time
Tco
= Flip-flop clock-to-out delay
Tmet = Additional settling time added to the normal clock-to-out delay of the flip-flop before
sampling the output of the flip-flop
t
= Metastable decay constant.
T0
= Metastability aperture at Tco = 0 ns (this parameter represents the likelihood that a flip-
flop will enter a metastable state)
fd
= Data transition rate (twice the data frequency for periodic signals, since there are two
transitions per period)
fc
= Clock frequency