Eye Diagram Analysis: Validating 10 Gbps SerDes
A PCB designer routes a 10 Gbps SerDes lane across a 20 cm FR-4 trace with two connectors. Learn how to use S-parameter data and an eye diagram simulation to.
Contents
- Why Your Layout Tool Doesn't Know If Your Link Will Work
- Getting the Data: Measuring Your Channel with a VNA
- Configuring the Eye Diagram Simulation
- What a Good Eye Looks Like (and What a Bad One Looks Like)
- Fixing a Closed Eye: Your Options
- The Via Stub Problem Nobody Talks About
- The Bottom Line: Measure, Simulate, Then Commit
Why Your Layout Tool Doesn't Know If Your Link Will Work
So you've just finished routing a 10 Gbps SerDes lane — maybe it's PCIe Gen 3, maybe XAUI — and it looks pretty clean. Twenty centimeters of FR-4, two edge-mount SMA connectors, differential impedance locked at 100 Ω, and your DRC passed without a single violation. The trace is straight, you kept vias to a minimum. Feels like a win.
Except here's the thing: at 10 Gbps, you're dealing with a Nyquist frequency of 5 GHz, and FR-4 is bleeding signal like crazy up there. Depending on what grade of FR-4 you picked (and let's be honest, most of us just take whatever the board house offers), you're losing somewhere between 0.5 and 1 dB per centimeter at that frequency. Do the math on a 20 cm run and you're already down 10 to 20 dB before the signal even hits a connector. Tack on another 1–2 dB per connector — and you've got two of them — and suddenly you're staring at 12 to 24 dB of total insertion loss at Nyquist.
That's enough to completely collapse the eye. Your receiver won't see clean ones and zeros anymore; it'll see a blurry mess.
The only way to actually know if your channel works, short of spinning the board and praying, is to simulate the eye diagram using real S-parameters. Let me walk you through how to do that.
Getting the Data: Measuring Your Channel with a VNA
First things first: you need a 2-port S-parameter file from a vector network analyzer. If you're doing this right, here's what that file should look like:
- Format: Standard Touchstone .s2p file
- Frequency sweep: Start at 10 MHz, go up to at least 15 GHz (I like to use 3× the data rate as a rule of thumb)
- Number of points: 1001 or more — doesn't really matter if you use log spacing or linear spacing, both work fine
- Reference impedance: 50 Ω single-ended (if you're measuring a differential pair properly, you'd want a 4-port .s4p file or at least a 2-port capture of the mixed-mode S21, but for a quick check, 50 Ω single-ended gets you in the ballpark)
| S-parameter | What It's Telling You | What You Want to See (10 Gbps) |
|---|---|---|
| S21 magnitude at 5 GHz | How much signal you're losing at Nyquist | Better than −15 dB |
| S11 magnitude from DC to 5 GHz | Return loss, impedance matching | Better than −10 dB |
| Group delay variation | Whether you're going to get nasty ISI | Less than 50 ps peak-to-peak |
Configuring the Eye Diagram Simulation
Alright, you've got your .s2p file. Head over to the Eye Diagram tool and punch in these settings:
| Parameter | What to Enter | Why |
|---|---|---|
| Data Rate | 10e9 bps (10 Gbps) | This is your SerDes link speed |
| PRBS Length | PRBS-15 | Industry standard for bit error rate testing; long enough to really stress intersymbol interference |
| Samples per UI | 64 | Gives you decent time resolution without making your computer hate you |
| Input voltage swing | 800 mVpp differential | Pretty typical for a 10G transmitter |
| Rise/fall time | 35 ps (10–90%) | What you'd expect from a standard 10G TX driver |
What a Good Eye Looks Like (and What a Bad One Looks Like)
When you're running at 10 Gbps, a healthy eye should give you:
The tool spits these numbers out directly, which is nice because you don't have to squint at the plot trying to measure things by hand. Here's a quick cheat sheet for interpreting what you see:
| Eye Height | Eye Width | What It Means |
|---|---|---|
| Over 200 mV | Over 0.5 UI | You're golden — plenty of margin |
| 100–200 mV | 0.35–0.5 UI | Marginal territory — you'll probably need equalization |
| Under 100 mV | Under 0.35 UI | Failed link — channel is too lossy |
Fixing a Closed Eye: Your Options
So the simulation came back and the eye's shut tight. Now what? You've got a few levers you can pull.
Shorten the trace. This is the easiest fix if your layout allows it. Cut that 20 cm run down to 12 cm and you immediately recover something like 4 to 8 dB of insertion loss. Run the simulation again and see if that's enough to open things up. Upgrade your laminate. Standard FR-4 is killing you at high frequencies. Switch to a mid-loss material — Isola 370HR, Panasonic Megtron 6, something in that class — and you'll cut your loss at 5 GHz by 30 to 50 percent. Just make sure you recheck your impedance with the Controlled Impedance calculator because the new stack-up will change your trace geometry. Turn on equalization. Most 10 Gbps SerDes PHYs have a continuous-time linear equalizer (CTLE) built in, usually with adjustable peaking. If you can dial in 6 dB of boost at 5 GHz, you can rescue channels with insertion loss as bad as −22 dB. Some tools let you apply the CTLE transfer function directly in the simulation so you can see the equalized eye before you commit. De-embed your test fixtures. If your VNA measurement included launch structures or connector pads that won't actually be in the final design, you can de-embed those out. Even recovering 1 dB of artificial loss can sometimes push a marginal eye into passing territory. Most engineers skip this step and regret it later when they're debugging a board that should have worked.The Via Stub Problem Nobody Talks About
Here's a failure mode that S-parameter simulation catches but your layout DRC will completely miss: via stub resonance.
Let's say you've got a through-hole via on a standard 1.6 mm board, and you're left with a 0.8 mm stub. That stub is going to resonate at roughly:
Okay, 47 GHz is way above your 5 GHz Nyquist frequency, so you're fine there. But now imagine you're routing through the middle of a thick backplane and you end up with a 3.2 mm stub. Suddenly that resonance drops to around 12 GHz — close enough to your signal bandwidth that it carves a nasty notch in your frequency response. That notch shows up as a bite taken out of your eye diagram, and you won't see it coming until you measure the board.
If you want to check this ahead of time, the Via Stub Resonance calculator will tell you exactly where your resonance lands before you even bother capturing S-parameters.
The Bottom Line: Measure, Simulate, Then Commit
Look, the eye diagram tool turns what used to be a gut-feel layout decision into something you can actually quantify. You upload your measured .s2p file, punch in your link parameters, and you get two critical numbers back: eye height and eye width. If both are comfortably in the green zone, great — send the Gerbers to fab and move on with your life. If they're not, you know exactly which knob to turn before you waste money on a board spin that was never going to work.
This isn't about being paranoid. It's about not being surprised when you power up the board and the link won't train. At 10 Gbps, the margins are thin enough that you can't afford to guess.
Run the Eye Diagram simulationRelated Articles
PDN Impedance: Taming Resonances With Genetic Algorithm
A 1.0 V / 30 A FPGA power rail needs flat impedance from 100 kHz to 1 GHz. Cavity resonances between the power and ground planes create impedance spikes that.
Mar 4, 2026
Signal IntegrityS-Parameter De-embedding: Remove VNA Fixture Effects
A practical walkthrough of the S-parameter analysis pipeline: viewing raw VNA data, identifying connector response, applying time gating to isolate a PCB trace.
Mar 1, 2026
SignalBER vs SNR: Understanding Digital Communication Performance
Understand the relationship between Bit Error Rate (BER) and Signal-to-Noise Ratio (SNR). Compare BPSK, QPSK, and QAM modulation performance with Eb/N0 curves and worked examples.
Apr 11, 2026