Skip to content
RFrftools.io
Signal IntegrityMarch 1, 20266 min read

Eye Diagram Analysis: Validating 10 Gbps SerDes

How much insertion loss a 10 Gbps SerDes lane can take: a Touchstone S21 through the Eye Diagram tool, with eye height, width and jitter against data rate.

Contents

You've just routed a 10 Gbps SerDes lane — PCIe, XAUI, 10GBASE-KR — across 20–25 cm of FR-4 with a couple of vias and edge-mount connectors. Impedance is controlled at 100 Ω differential and DRC is clean. DRC can't tell you whether the receiver will see an open eye.

At 10 Gbps the Nyquist frequency is 5 GHz, and FR-4 is lossy there. Dielectric loss alone is

αd≈27.3 εeff tan⁡δλ0 dB per unit length\alpha_d \approx 27.3\,\frac{\sqrt{\varepsilon_{eff}}\,\tan\delta}{\lambda_0}\ \text{dB per unit length}

For standard FR-4 (εeff≈4\varepsilon_{eff} \approx 4, tan⁡δ≈0.02\tan\delta \approx 0.02) at 5 GHz (λ0\lambda_0 = 6 cm) that is about 0.18 dB/cm, and conductor loss on a narrow trace adds a comparable amount. A 20–25 cm route therefore loses several dB at Nyquist before vias and connectors are counted.

The way to know whether that's too much is to push a bit sequence through the channel's measured or simulated S-parameters and look at the eye.

Getting the Data

The Eye Diagram tool takes a 2-port Touchstone file (or a 4-port file, from which it extracts the differential SDD21). What it needs from that file:

  • Frequency range from as close to DC as your VNA goes up to at least the data rate. Above the file's highest frequency the tool extends the channel with a 1/f roll-off and says so on the result — fine for a margin estimate, but real data is better.
  • Enough points to resolve the channel's structure. The tool's sample files use 20 points because they describe smooth, simulated channels; a measured channel with vias, connectors and resonances needs hundreds.
  • S21 is what drives the eye; S11 tells you where reflections come from.

The tool ships with three sample channels you can load from the page. This walkthrough uses the Backplane Channel sample — a simulated 10-inch (25 cm) FR-4 microstrip with two vias and edge-mount SMA connectors.

What the Tool Does

The tool has three inputs besides the file: data rate, PRBS length and samples per UI. It then:

  1. Generates one full period of a standard pseudo-random bit sequence (ITU-T O.150 polynomials: PRBS-7 is 127 bits, PRBS-15 is 32,767). PRBS-31 is too long to simulate whole, so 32,768 bits are run after the channel has settled.
  2. Passes the NRZ waveform through the channel in the frequency domain, keeping the whole impulse response however long the channel's delay.
  3. Aligns the received waveform to the transmitted bits and slices it into unit intervals.
  4. Measures the metrics over every bit, not just the traces drawn: eye height is the worst-case gap between received ones and zeros at the sampling instant, eye width the horizontal opening at the decision threshold, jitter the spread of the threshold crossings.

The waveform is normalized to ±1 V (2 Vpp). The channel is linear, so for a real transmitter scale the heights by its swing — an 800 mVpp driver gives 0.4× the reported height.

When the received waveform never crosses the threshold, width and jitter are reported as not measured, with the reason, rather than as a default.

Watching the Eye Close

Run the 25 cm sample channel at increasing data rates, PRBS-15, 64 samples/UI:

Data rateLoss at NyquistEye heightEye widthJitter (p-p)
6 Gb/s3.9 dB1.48 V (74 %)0.97 UI5.3 ps
8 Gb/s6.0 dB1.19 V (60 %)0.95 UI6.8 ps
10 Gb/s8.4 dB0.86 V (43 %)0.88 UI12.3 ps
12.5 Gb/s11.8 dB0.48 V (24 %)0.77 UI18.4 ps
16 Gb/s17.1 dB0.06 V (3 %)0.50 UI31.2 ps
Percentages are of the 2 V swing. At 10 Gb/s this channel still delivers 43 % of the transmitted swing with 0.88 UI of width — a comfortably open eye before any equalization. At 16 Gb/s the unequalized eye is essentially shut: 17 dB at Nyquist is more than an NRZ link survives without equalization.

The tool's shorter PCIe Gen3 sample (6-inch trace plus a via) loses 5.5 dB at 5 GHz and gives a 1.30 V eye (65 %) at 10 Gb/s — a useful reminder that length, not "FR-4" as such, sets the loss.

PRBS-7 or PRBS-15?

At 10 Gb/s on the 25 cm channel:

PatternEye heightEye widthJitter (p-p)
PRBS-70.88 V0.89 UI11.4 ps
PRBS-150.86 V0.88 UI12.3 ps
The longer sequence contains longer runs of identical bits, which excite more of the channel's slow tail and close the eye a little further. The difference grows as the channel gets lossier — at 16 Gb/s PRBS-15's eye is 38 % smaller than PRBS-7's. Use PRBS-15 or longer for sign-off.

Judging the Result

There is no universal "good eye" number. Compare against the receiver mask of the standard you're implementing, referred to the receiver input and — for anything above a few Gb/s — after the equalization the PHY actually applies. The unequalized eye tells you how much work that equalizer has to do:

  • Loss at Nyquist under about 10 dB with an open eye: a basic CTLE handles it easily.
  • 10–20 dB: normal territory for 10–25 Gb/s links, relying on CTLE plus DFE. Check the PHY's specified channel-loss budget.
  • Beyond the PHY's budget or a closed eye with no crossings: shorten the route, change the laminate, or move up to a better connector before relying on equalization.

Fixing a Closed Eye

Shorten the trace. Loss scales with length. On the sample channel, going from 25 cm to 15 cm cuts roughly 40 % of the trace loss. Upgrade the laminate. A mid-loss material with tan⁡δ\tan\delta around 0.008–0.01 roughly halves the dielectric term. Recheck impedance with the Controlled Impedance calculator — the new stack-up changes the trace geometry. Use the PHY's equalization. CTLE and DFE exist to recover exactly this kind of channel. The simulation here is unequalized, so treat its eye as the input to the equalizer, not the final answer. Back-drill or shorten via stubs (next section).

The Via Stub Problem Nobody Talks About

A through-hole via leaves an unused stub below the layer you exit on, and that stub resonates at a quarter wavelength:

fstub=c4 lstubεrf_{stub} = \frac{c}{4\,l_{stub}\sqrt{\varepsilon_r}}

A 0.8 mm stub in εr\varepsilon_r = 4 resonates near 47 GHz — far above a 5 GHz Nyquist frequency. A 3.2 mm stub in a thick backplane drops to about 12 GHz, close enough to carve a notch in the channel response and a bite out of the eye. S-parameter simulation shows it; DRC doesn't. The Via Stub Resonance calculator tells you where yours lands before you capture any data.

The Bottom Line

Upload the channel's S-parameters, set the data rate and PRBS, and read four numbers: loss at Nyquist, eye height, eye width and jitter. If the unequalized eye is open with margin, the PHY has an easy job. If it isn't, you know which lever to pull before you commit to a board spin.

Updated 2026-09-19. The tool now simulates a full PRBS period, keeps the whole impulse response and reports width and jitter as unmeasured when there are no crossings. The examples above come from its sample channels; an earlier version of this article described inputs the tool does not have and overstated FR-4 loss. Run the Eye Diagram simulation

Frequently Asked Questions

Without equalization, a channel losing about 8 dB at 5 GHz still gave a clearly open eye in the example — 43 % of the transmitted swing and 0.88 UI of width. Links at 10 Gbps and above normally rely on CTLE and DFE and specify a channel-loss budget; compare against the budget and receiver mask of your standard.
Dielectric loss is about 27.3·√ε_eff·tanδ/λ₀ per unit length — roughly 0.18 dB/cm for standard FR-4 (ε_eff ≈ 4, tanδ ≈ 0.02) at 5 GHz — and conductor loss on a narrow trace adds a similar amount. A 25 cm trace with vias and connectors lost 8.4 dB at 5 GHz in the tool's sample channel.
Yes. Longer sequences contain longer runs of identical bits that excite more of the channel's slow response. On the sample channel at 10 Gb/s, PRBS-15 gave a 2 % smaller eye than PRBS-7; at 16 Gb/s it was 38 % smaller. Use PRBS-15 or longer for sign-off.
The received waveform never crossed the decision threshold, so there are no crossings to measure width or jitter from. The tool reports that with the reason instead of printing a default width.

Related Articles