Mean time between failures (MTBF) answers one question: if this crossing runs forever, how often does an unresolved flop escape into the design? The standard model says the answer is dominated by a single exponential in the resolution time.
Term | Meaning |
|---|---|
t_r | Resolution time: how long the first flop has to settle before the second stage samples it (about one destination clock period, minus clock-to-Q and setup). |
τ | Regeneration time constant of the flop: how fast its feedback pushes a balanced state apart. A flop property, smaller is better. |
T_W | Width of the vulnerable window around the clock edge. A flop property. |
f_clk | Destination clock frequency: how often the flop samples. |
f_data | Average rate of data changes arriving at the flop. |
The numerator is everything. Each extra τ of settling time multiplies MTBF by e (about 2.72), so one more clock period of resolution time multiplies MTBF by an enormous factor. The denominator matters only linearly: doubling the clock or the data rate merely halves MTBF.
That asymmetry drives every synchroniser decision. You cannot change τ or T_W from RTL; they belong to the chosen flop and its operating conditions. What RTL controls is t_r: the number of destination clock periods the first flop gets before its output is used, which is exactly the number of synchroniser stages minus one.
A structural tool generally does not compute your MTBF, and no reviewer expects a number. The review checks the qualitative consequences of the model: enough settling time for the clock speed (the stage count policy), a synchroniser flop with good regeneration behaviour from the library, and data activity within what the analysis assumed.
The busier crossing has one tenth the MTBF. Data rate sits in the denominator, so its effect is linear, not exponential.
No, it falls far more: t_r shrinks by nearly 20% of a period, which is many τ, so the exponential numerator collapses. The denominator's 20% rise is negligible beside it.