3.4.13 · D5Sequential Circuits

Question bank — Metastability and synchronizers

1,543 words7 min readBack to topic

True or false — justify

A two-flip-flop synchronizer eliminates metastability.
False. It cannot eliminate the knife-edge event; it only gives the first flop nearly a full clock period to resolve, making the chance of a bad value propagating astronomically small (huge MTBF), not zero.
Metastability only happens when data violates setup time (not hold).
False. A change inside either the setup window (before the edge) or the hold window (after it) can trigger it — the danger zone is the whole interval around the edge. See Setup and Hold Time.
The resolution time of a metastable flip-flop has a fixed upper bound.
False. It is unbounded and probabilistic: the voltage grows as , and can be arbitrarily tiny, so no finite time guarantees resolution — only larger makes "still stuck" exponentially unlikely.
A synchronous signal (same clock domain, meeting timing) still needs a synchronizer.
False. If it already satisfies setup/hold relative to the sampling clock, it never enters the danger window, so no synchronizer is needed. Synchronizers are for asynchronous / cross-domain signals — see Clock Domain Crossing (CDC).
A slowly-changing async signal is safe because it rarely changes.
False. "Rarely" is not "never": the one time it happens to change near the edge it can still go metastable. Any signal crossing a clock domain must be synchronized regardless of its data rate.
Doubling the clock frequency roughly halves the MTBF.
False. MTBF ; doubling also shrinks (less of a clock period as slack), and the exponential term collapses far faster than the linear — MTBF plummets, it does not merely halve.
A faster (smaller ) flip-flop with almost no slack is still safe.
False. MTBF depends on the ratio . A tiny helps, but if the exponent is small and MTBF stays poor — you need adequate slack and fast resolution.
Adding a third flip-flop multiplies MTBF by roughly .
True. Each extra stage donates another whole clock period of resolution time, and MTBF scales as , so one more period multiplies MTBF by an exponential factor — often orders of magnitude.
Metastability is a manufacturing defect that better silicon removes.
False. It is a fundamental consequence of a bistable element with a continuous transfer curve and positive feedback — every real flip-flop has a balance point. Better silicon shrinks and but never abolishes the phenomenon.
The output of FF2 in a synchronizer can never be metastable.
False (rarely). If FF1 hadn't fully resolved by the time FF2 samples, FF2 can itself go metastable — that residual probability is exactly the tiny failure term left in the MTBF.

Spot the error

"I fed my async signal into two synchronizers (one per consumer) to be safe, since symmetry can't hurt."
Error: each synchronizer may resolve the same edge to a different value (one to 0, one to 1), producing an inconsistent state. Fix: synchronize once, then fan the clean output out.
"MTBF , so raising raises MTBF — pick a chip with a bigger window."
Error: is a susceptibility window in the denominator; a larger means the flop enters metastability more easily, so it lowers MTBF. You want small.
"I put the two synchronizer flip-flops on different clocks to catch the signal twice."
Error: both flops in a synchronizer must run on the destination clock so the full period between them becomes resolution time. Mixing clocks just creates a second clock-domain crossing and more metastability.
"Data goes metastable, so I'll gate the clock off until it settles."
Error: you cannot know when it has settled (resolution time is unbounded/probabilistic), and gating the clock breaks timing everywhere else. The correct tool is a synchronizer that simply waits a fixed extra clock period.
"Since MTBF came out to 9 million years, metastability is fully solved for this design."
Error: MTBF is a statistical mean, not a guarantee — a failure can occur tomorrow. It only means failures are so improbable they are acceptable; think in probabilities, never in "solved".
"The exponent is , so I'll increase to make it bigger."
Error: is the resolving time constant — a larger means slower regeneration, so shrinks and MTBF drops. You want small and large.

Why questions

Why is the marble-on-a-hilltop analogy accurate for metastability?
The hilltop is an unstable equilibrium: in theory the marble balances forever, but any infinitesimal nudge sends it into one valley (0 or 1). The regenerative loop amplifies that infinitesimal imbalance exponentially, exactly like gravity pulling the marble off the crest.
Why does giving the first flip-flop a full clock period help so much?
Because resolution is exponential (): the "still stuck" probability decays as . Trading a whole clock period for pushes the exponent large, turning a likely failure into a once-in-centuries event.
Why does a faster clock make metastability worse on two counts?
(1) More clock edges per second raise the entry rate ; (2) a shorter period leaves less slack , shrinking the exponent. Both effects push MTBF down, one linearly and one exponentially.
Why can't we just measure a flip-flop's worst-case resolution time and design for it?
There is no worst case — resolution time is unbounded because the initial imbalance can be arbitrarily small. You can only design for an acceptable probability of exceeding your slack, which is what MTBF captures.
Why does the failure probability scale with both and ?
A dangerous event needs a clock edge and a data change to nearly coincide. The chance of near-coincidence grows with how often each occurs, so the entry rate is proportional to the product (times the window ).
Why is positive feedback essential to how metastability eventually resolves?
The cross-coupled inverter loop has gain , so any deviation from balance feeds back and grows exponentially with time constant . Without that regeneration the node would linger at the midpoint indefinitely — see Positive Feedback and Regeneration.

Edge cases

What happens if the data edge lands exactly at the theoretical balance point ()?
In an idealised model resolution time goes to infinity, so it never resolves. In reality thermal noise supplies a tiny nonzero nudge, so it still eventually falls — but this is the worst-case, longest-resolution scenario.
If comes out negative, what does the synchronizer buy you?
Nothing — negative slack means FF2 samples before FF1 could even meet setup, so the whole clock period is unavailable for resolving. The exponent goes non-positive and MTBF collapses; the design is broken and needs a slower clock or a faster path.
For a purely synchronous signal already meeting timing, what is the entry probability?
Effectively zero: it never changes inside the danger window relative to its own clock, so it never enters metastability and needs no synchronizer. The whole apparatus targets asynchronous crossings only.
What is the MTBF as (a signal that never toggles)?
MTBF : with no data transitions there is nothing to catch mid-change, so no metastability can be entered. A truly constant signal is trivially safe.
In an ideal noiseless flip-flop sitting exactly at balance, what would happen?
It would remain metastable forever, because there is no imbalance for the positive-feedback loop to amplify. This limiting case shows resolution is not guaranteed — real devices only resolve thanks to noise and non-ideal offsets.
A FIFO passes a multi-bit pointer across domains — why sync it as Gray code, not binary?
Gray code changes only one bit per increment, so even if that single bit is caught metastable the pointer resolves to either the old or new value — both valid. A binary pointer could have several bits mid-flight resolving independently, giving a garbage value never intended.

Connections