SIPI

SI in practice / 02

Eye Closure: Loss, Reflections, Discontinuities, and Crosstalk

Four impairments close an eye, and they do it in four different ways. Insertion loss thins it symmetrically, a reflection lands as an echo whose damage depends on when it arrives, a discontinuity punches a notch no equaliser can undo, and crosstalk adds noise the equaliser amplifies along with the signal. Telling them apart is most of channel debug.

Best viewed on a laptop or desktop. These panels are built so you can move a slider and watch several charts answer at once. A phone has no room to put them side by side.

Four impairments · one eye · pick an interface analytical UI Nyquist eye height eye width worst RL echo returns
The eye, with everything applied
overlaid bitsmeasured opening
TDR — impedance against round-trip time
impedance profile50 ohm
Sensitivity — remove one, see what comes back
the dominant onethe others
18 dB
The one equalisation is for
48 ohm
Away from 50 and it reflects — but a round trip needs BOTH ends
47 ohm
A matched source cannot re-reflect — set it to 50 and the echo disappears
45 ohm
A via, a footprint, a connector
15 ps
Worst mismatch loss is 2/(r + 1/r) — a through-section cannot notch
2 aggressors
Independent data, so it reads as noise
2.0 %
A field solve gives you this
Fixes loss. Does nothing for a notch, and lifts crosstalk with the signal.

When you bring up a high-speed link in the lab and stare at a collapsed eye diagram on an oscilloscope, the immediate instinct is almost always: the channel has too much loss; we need a stronger equaliser or an ultra-low-loss laminate. But an eye diagram does not close for a single monolithic reason. An eye is simply the persistence display of thousands of successive bits overlapping across one or two unit intervals. If the opening at the center has vanished, it means voltage margin (vertical height) and timing margin (horizontal width) have been eaten by physical imperfections along the physical path.

The critical trap is treating all link penalties as if decibels were fungible. If an eye closes because smooth dielectric attenuation rounded off the bit edges, a continuous-time linear equaliser (CTLE) or a feed-forward equaliser (FFE) can boost the high-frequency harmonics and pop the eye right back open. But if that exact same eye closes because an un-backdrilled via stub created a sharp resonant notch, or because nearby differential pairs are spraying crosstalk into your lane, cranking up the receiver's high-frequency gain will actually make the eye worse — amplifying the crosstalk and noise floor right alongside the signal.

Debugging a failing SerDes link comes down to diagnosis before prescription: identifying which specific physical mechanism dominates your eye closure, because each one demands an entirely different engineering remedy.

Why four, and why they are not interchangeable

A channel budget adds decibels, and decibels are a useful common currency. But they hide something important: the same number of decibels does very different damage depending on what caused it.

Four mechanisms account for nearly all of it, and each has a distinct signature:

The panel above runs all four on one consistent channel, so the comparison is between impairments rather than between models.

The same eye, four different ways to ruin it

A budget adds decibels. It does not tell you which impairment is actually costing you margin, and the four in the panel above are not interchangeable — each closes the eye with a different signature and each responds to a different fix. The bars underneath re-run the whole channel with one impairment removed at a time, which is the question worth asking: if I could delete one of these, how much eye would I get back?

Read them as counterfactuals, not a decomposition. They will not sum to the total, because the impairments interact: loss changes what the equaliser does, which changes how much the crosstalk it amplifies costs you. Occasionally a bar goes negative — removing an impairment makes the eye slightly worse — which is a real result whenever the equaliser was tuned around the thing you deleted. The comparison holds the equaliser settings fixed; retuning after a change is a separate question, and usually a separate answer.

Insertion loss thins the eye symmetrically

Loss rises with frequency, so the channel smears every edge and the traces spread into ISI bands. This is the impairment equalisation was designed for, and the one that responds to it: a CTLE flattens the slope, a DFE cancels the post-cursor exactly. It is also the only one of the four that a material change fixes. Turn the equaliser off and on with the loss slider high, and the difference is the whole argument for having a receiver at all.

Reflections are an echo, and the delay changes what kind of problem it is

A mismatch sends energy back; a second mismatch sends it forward again. The echo arrives after the round trip, 2·Td, at roughly Γ² of the original — two reflections, so the coefficient is squared.

It is not attenuated the way you would guess The intuition that a lossy channel kills its own echoes is only half right. A transmission line has essentially no loss at DC, so the low-frequency content of an echo — a long run of identical bits — comes back almost unscathed even on a channel with 28 dB at Nyquist. Only the fast edges get crushed. Drag the termination away from 50 Ω on PCIe Gen 5 and the eye moves by about the same fraction as it does on LPDDR5X, despite fourteen times the loss.

What the delay really changes is what kind of problem the echo is:

This is also why return loss is a symptom, not a control. The panel deliberately has no RL slider — you set the physical causes, the termination and the discontinuity, and the readout reports the return loss they produce. On the presets the terminations are close to 50 Ω, which is exactly why on-die termination earns its place: it is the cheapest way to make Γ small enough that none of this matters.

A discontinuity reflects — which is not the same as a notch

The TDR trace shows what a mismatched section looks like from the launch: a dip in impedance lasting twice its own delay. Electrically it is a short mismatched through-line, and both its transmission and its reflection follow exactly from the impedance ratio r = Z₁/Z₀ and the electrical length θ = ωτ:

S21 = 2 / ( 2cos θ + j(r + 1/r) sin θ ) Worst case is θ = π/2, giving |S₂₁| = 2/(r + 1/r). For a 45 Ω section in a 50 Ω system that is 0.048 dB. Even a brutal 25 Ω section only costs about 1.9 dB. A finite positive impedance ratio has no transmission zero — it cannot produce a notch at all.
A through-section is not a stub, and the difference matters It is easy to conflate the two, and this page used to. A mismatched through-section passes the signal along; its worst mismatch loss is the number above, and the energy it turns away comes back as a reflection you can see on the TDR. An open shunt stub — the leftover barrel of a via — is a different structure entirely: at the frequency where it is a quarter wavelength it presents a short across the line and produces a genuine transmission zero, tens of decibels deep. The S-parameters panel models that case properly; the control above does not, because it is not that structure.

The distinction is practical. A reflection can in principle be cancelled by a long enough DFE, because it is deterministic channel memory. At the bottom of a real stub notch there is nothing to scale and no equaliser recovers it — which is what backdrilling exists to remove.

Crosstalk is the one equalisation makes worse

Each aggressor contributes a pulse that arrives with the victim's own edge, and with several neighbours running independent data the sum looks like noise. The DFE has no model of it. The CTLE amplifies it along with the signal, so relative to the wanted signal it does not improve at all — and past the point where a channel is crosstalk-limited, more equaliser boost makes the eye worse rather than better.

Representative numbers

The presets are starting points rather than spec citations — close enough for the trade-offs to land honestly, and a reasonable place to begin before real models arrive.

InterfaceUINyquistIL at NyquistEcho returns afterUsually limited by
LPDDR5X 8533 MT/s117 ps4.27 GHz~2.5 dB2.9 UIcrosstalk and SSN
UFS 4.0 HS-G543 ps11.6 GHz~8 dB12.7 UIthe escape
USB 3.2 Gen 2100 ps5 GHz~12 dB100 UIconnector and cable
PCIe Gen 462.5 ps8 GHz~18 dB55.6 UIinsertion loss
PCIe Gen 531.25 ps16 GHz~28 dB111 UIloss, then via stubs

Read down the last two columns together and the pattern is the useful one. A wide parallel bus is short by construction: barely any loss, echoes that come home inside a handful of UI, and a great many neighbours — so it is limited by crosstalk and by simultaneous switching. A serial link is long by construction: loss dominates, the neighbours are few, and its echoes arrive so far out that they act as noise rather than ISI. Almost everything about how the two are signed off follows from that single difference in length.

The habit this panel is for When an eye is short of margin, resist reaching for equaliser settings first. Zero each impairment in turn and see which one gives the margin back. If it is loss, equalisation and materials are on the table. If it is the discontinuity, no setting will help and the fix is mechanical. If it is crosstalk, the answer is geometry. If it is the echo, look at what the termination is actually doing at the far end.

Why this decides how your board behaves

What to do about it

Diagnose before you fix, and use the frequency domain to do it. A smooth downward slope is loss. Regular ripple is a reflection between two discontinuities, and its period in frequency tells you how far apart they are. A deep narrow null is a resonance, and its frequency tells you the stub length. Crosstalk does not appear in S21 at all — it appears when you turn the neighbours on.

Fix notches physically and early. This is the only one of the four with no electrical remedy. It is a stackup and exit-layer decision.

Check crosstalk with the equaliser enabled. Measuring it with the receiver bypassed understates it, because the interaction is the point.

Treat the counterfactual bars as guidance, not accounting. They answer "how much eye would I get back if this one vanished?" — which is the decision-relevant question — but they do not sum to the total, and occasionally one goes negative because the equaliser had tuned around the thing you deleted.

Using this to find a fault
  • Eye closes evenly, top and bottom, with visible banding. Loss and the ISI it causes. Check S21's slope across your band.
  • A distinct second trace displaced in time. An echo. Measure its delay and halve it to find where the reflecting pair is.
  • Equalisation barely helps. Look for a null before adding taps.
  • The eye changes when a neighbouring lane is enabled. Crosstalk, conclusively. This is the fastest discriminator available and costs one measurement.
  • Worse with more CTLE boost. Crosstalk- or noise-limited, not loss-limited.
Go deeper — why a reflection's timing matters, and what this model leaves out

An echo is a delayed copy, and delay decides the damage. A reflection makes a round trip, so it arrives 2Td later than the signal that caused it. If that delay happens to be close to a whole number of unit intervals, the echo lands near a sampling instant and does maximum damage. If it lands between samples it does much less.

Which means the same return loss can cost very different amounts of eye depending on where the discontinuity is along the channel — and it explains a result that otherwise looks like noise in the data: moving a connector a couple of inches can measurably change an eye without changing any S-parameter magnitude.

Why a notch is categorically different. Loss scales every frequency by something less than one; an equaliser can scale it back up. A resonance multiplies one frequency by approximately zero, and there is nothing to scale. A CTLE's response is smooth by construction — see equalisation — so it has no mechanism that could act at one frequency and not its neighbours.

What the model here leaves out. Worth stating plainly, because the panel is deliberately a teaching model rather than a sign-off one:

  • It is single-ended. No mode conversion, so nothing on this page shows the failure that SCD21 would catch.
  • The aggressors are identical and evenly skewed. Real crosstalk comes from neighbours with their own data and their own arrival times.
  • The receiver is a fixed CTLE and DFE, not an adapting one. A real receiver converges its settings per channel, which generally does better.
  • The eye is a few hundred symbols. The readout beside it says what that supports, which is nowhere near a compliance rate.

For the same four impairments on an exact cascaded network — with group delay, a TDR profile, and the bit-by-bit link between a post-cursor and the symbol that caused it — see Lab B.

In the real world

The instinct this page is trying to build is to stop asking "how much loss do I have?" and start asking "what kind of damage am I looking at?" Those are different questions, and only the second one has an action attached to it.

It is also why channel debug usually starts in the frequency domain even though the failure is always reported in the time domain. An eye tells you that something is wrong. S21 and S11 together tell you which of the four it is, and therefore who needs to fix it.

Related