Before we start, one table of the symbols we reuse, so nothing appears unexplained:
Below, one figure fixes the single most important behaviour — that MTBF rises exponentially with the settling time you grant. Study it before the exercises: the y-axis is logarithmic, yet the curve still shoots upward, which is the visual signature of exponential growth.
Reading the figure (s01): the horizontal axis is tr (settling time in ns), the vertical axis is MTBF on a log scale. The fixed parameters are printed on the plot itself — τ=0.25 ns, T0=0.2 ns, fclk=50 MHz, fdata=2 MHz — so you can reproduce every point. The dashed blue and pink lines mark tr=4 ns and tr=5 ns — just one extra nanosecond apart. Yet on the curve they are separated by a factor e1/τ=e1/0.25=e4≈55× in MTBF. That one-nanosecond jump for many orders of magnitude of safety is the entire economic argument for synchronizers.
State, in one sentence each, what τ and T0 physically represent, and say which of the two you'd want smaller to improve MTBF.
Recall Solution
τ = resolving time constant: how quickly the cross-coupled loop amplifies a tiny imbalance away from the knife-edge. Smaller τ helps (faster escape → larger etr/τ).
T0 = susceptibility window: the width of the time slot (setup-side + hold-side) in which a data change can trip metastability. Smaller T0 also helps (smaller failure prefactor), but it sits in the denominator, so its effect is only linear — nowhere near as powerful as shrinking τ, which sits in the exponent.
Answer: both smaller is better, but τ is the high-leverage one because it lives in the exponent.
Look at the master MTBF equation. Which single quantity, when increased, makes MTBF grow exponentially rather than linearly?
Recall Solution
tr, the resolution time available. It sits inside etr/τ. Every extra τ worth of tr multiplies MTBF by e1≈2.72. This is why a synchronizer works: it hands the metastable node an almost-full clock period of tr.
A synchronizer has τ=0.25 ns. You currently give it tr=5 ns. By what factor does MTBF change if you increase tr to 6 ns?
Recall Solution
MTBF ∝etr/τ, so the factor is
e5/0.25e6/0.25=e(6−5)/0.25=e4≈54.6.WHAT we did: took the ratio of the two exponentials so the prefactor cancels. WHY: only the change in tr matters, and it enters through Δtr/τ=1/0.25=4. Answer: MTBF grows by ≈54.6× for one extra nanosecond. Cheap insurance. (This is exactly the blue-to-pink jump you read off figure s01.)
Step 1 — prefactor (failure-rate scale):T0fclkfdata=(0.2×10−9)(50×106)(2×106)=0.2×10−9×1014=2×104s−1.Why: both a clock edge and a data change must nearly coincide, so multiply both rates by the window width (this is the independent-arrivals assumption in action).
Step 2 — exponent:tr/τ=15/0.5=30, so e30≈1.068×1013.
Step 3 — combine:MTBF=2×104e30≈2×1041.068×1013≈5.3×108s≈16.9years.
A design runs at Tclk=8 ns with tsu=0.6 ns and tpd=1.2 ns in a two-flop synchronizer. (a) Find tr. (b) The team doubles the clock frequency. Assuming tsu and tpd are unchanged, find the new tr and the factor by which MTBF changes from the tr term alone, given τ=0.3 ns.
Recall Solution
(a)tr=Tclk−tsu−tpd=8−0.6−1.2=6.2 ns.
(b) Doubling frequency halves the period: Tclk′=4 ns. Then
tr′=4−0.6−1.2=2.2ns.
The exponent term changes by
e(tr′−tr)/τ=e(2.2−6.2)/0.3=e−4/0.3=e−13.33≈1.6×10−6.Interpretation: the tr term alone collapses MTBF by a factor ≈1.6×10−6 (roughly 620,000× worse). And there's an extra hit: fclk in the denominator also doubles, worsening MTBF by another 2×. WHAT IT MEANS: doubling clock speed doesn't halve MTBF — it demolishes it, dominated by the exponential. This is exactly the parent note's "Forecast-then-Verify."
The next figure shows why stages multiply rather than add — look at it before solving L4.
Reading the figure (s02): three flip-flops (FF1, FF2, FF3) sit in series, all driven by the destination clock shown along the bottom. The async flag enters FF1 on the left. Between FF1→FF2 and again between FF2→FF3 sits one full clock period labelled tr, and above each gap is written ×etr/τ. The point the picture makes visually: each gap is an independent chance to settle, so their safety factors multiply — two gaps means the MTBF carries etr/τtwice.
Your two-flop synchronizer gives MTBF =104 s (about 2.8 hours — unacceptable). You may add a third flip-flop, which grants a second full resolution window of tr=7 ns. With τ=0.35 ns, what is the new MTBF, and is it acceptable (say, > 1000 years)?
Recall Solution
WHAT a third flop does: FF2's output now also gets a whole clock period (tr) to settle before FF3 samples it. Because that window is independent of FF1's window (the independence assumption from the top of the page), the survival probabilities multiply — so MTBF gains another exponential factor etr/τ.
MTBF3=MTBF2×etr/τ=104×e7/0.35=104×e20.e20≈4.85×108, so
MTBF3≈4.85×1012s≈1.54×105years.Answer: about 154,000 years — comfortably above 1000 years. Yes, acceptable. Each added flop multiplies MTBF by etr/τ; that's why depth (more flops) beats almost every other fix.
You must cross a 1-bit control flag from a 40 MHz domain into a 200 MHz domain. Device specs: τ=0.2 ns, T0=0.15 ns, tsu=0.4 ns, tpd=0.9 ns. The flag toggles at most fdata=5 MHz. Requirement: MTBF > 100 years.
(a) Which domain's clock governs the synchronizer, and why?
(b) Compute tr for a two-flop synchronizer.
(c) Compute MTBF. Does two flops suffice?
(d) If not, how many flops total are needed?
Recall Solution
(a) WHICH clock: the synchronizer lives in the destination domain — here 200 MHz — because the destination is the one sampling the asynchronous flag. The flag is async relative to the 200 MHz clock, so that clock's period is what buys the resolution time. Use Tclk=1/200 MHz=5 ns.
(b) tr:tr=Tclk−tsu−tpd=5−0.4−0.9=3.7ns.
(Sanity: tr=3.7>0, so the model applies — always check this first, per the L3 corner case.)
(c) MTBF (two flops):
MTBF2=1.5×105e18.5=1.5×1051.083×108≈722s≈12minutes.Two flops fail badly (≪ 100 years) — nowhere near the requirement.
(d) How many flops: each extra flop beyond the second multiplies MTBF by etr/τ=e18.5≈1.083×108.
Target: MTBF>100years=100×3.156×107≈3.156×109 s.
3 flops (one extra window): MTBF3=722×1.083×108≈7.8×1010 s ≈2480 years. ✓ (already clears 100 years)
(For contrast, 4 flops would give ≈7.8×1010×1.083×108≈8.5×1018 s — absurd overkill.)
Answer: a 3-flop synchronizer suffices (≈2480 years > 100 years, with large margin). Two flops do not; three do.Check:7.8×1010s>3.156×109s, so requirement met.
Recall One-line self-test
Why does adding a flip-flop multiply MTBF by etr/τ instead of adding to it?
Question ::: Because each stage grants an independent resolution window; survival probabilities across independent stages multiply, and each contributes its own exponential etr/τ factor.