T27.AI

Blog

Timing margin grows as the square root of a logarithm, and nothing accumulates

2026-08-11 · 7 min read

A frame-length margin law derived from extreme-value statistics, and the accumulation story it refutes — which would predict a 12.9x eye violation on frames that pass.

FPGAEthernetRGMIITimingStatistics

A gigabit link carries frames of very different lengths. A common intuition says the long ones are harder because sampling error accumulates across the frame. That intuition predicts something measurable, and what it predicts does not happen.

The law

Let each sampling edge carry phase error X_i, i.i.d. with symmetric CDF F and standard deviation sigma. A frame is received correctly exactly when |X_i| < m for all N edges — every edge, not on average.

P(frame OK) = ( 1 - 2(1 - F(m)) )^N

For a target frame-error rate eps:
  m(N) = F^-1( 1 - eps/(2N) )

Gaussian:
  m(N) = sigma * Phi^-1( 1 - eps/(2N) )  ~  sigma * sqrt( 2 ln(2N/eps) )
The margin grows as the square root of a logarithm. This is an extreme-value effect over N independent draws. Nothing integrates.

The requirement is not that the average error stays small. It is that the worst of N draws stays inside the eye — and the worst of N draws grows very slowly.

What the accumulation story predicts

If the receive clock were independent, phase error would integrate as sigma_N = sigma*sqrt(N). Applied to real frames on a working link:

framesigma*sqrt(N)vs half-eye
ARP5.32 ns2.7× over
ICMP6.58 ns3.3× over
MTU25.86 ns12.9× over

A full-MTU frame would exceed half the eye by nearly thirteen times. Those frames pass. The accumulation model is not conservative here — it is wrong, and wrong by an order of magnitude on the case that matters most.

Why the difference is structural

Accumulation assumes the errors add along the frame, so the requirement is on a sum and a sum of N terms grows as sqrt(N). The correct requirement is on a maximum, and the maximum of N draws from a fixed distribution grows as sqrt(log N). Those two functions diverge fast: at N = 12,000 edges, sqrt(N) is about 110 and sqrt(2 ln N) is about 4.3.

The recovered clock is not independent of the data — that is what a source-synchronous interface means — so there is no random walk to accumulate. Each edge gets a fresh draw, and the question is only whether the unluckiest one clears the eye.

What to do with it

If a long frame fails and a short one passes, the length is not the cause and looking for an accumulation mechanism will not find one. Look for something that changes with frame content or duration instead — a FIFO depth, a thermal effect, a pattern-dependent supply droop. The margin needed for the longest frame you carry is a few percent more than for the shortest, not an order of magnitude more.

What this does not settle

Receipts

Every figure above is measured, and the limits are named with it.