Eye Diagram Simulator Back
Electrical & Communications

Eye Diagram Simulator

Reproduce the "eye diagram" that shows the quality of a high-speed digital signal at a glance. Adjust the bit rate, rise time, jitter and amplitude noise and watch the eye — built by overlaying many unit intervals — open and close in real time, with eye height, eye width and Q-factor read out instantly.

Parameters
Bit rate
Mbps
Bits sent per second. UI = 1 / bit rate
Rise / fall time
ps
Time taken by an edge transition. Slower edges erode the eye from the sides
Timing jitter (RMS)
ps
Spread of the edge times. Squeezes the eye horizontally
Amplitude noise (RMS)
%
Voltage noise as a fraction of the full swing. Squeezes the eye vertically
Results
Eye height (%)
Eye width (% of UI)
Unit interval UI (ps)
Peak-to-peak jitter (ps)
Quality factor Q
Eye verdict
Eye diagram — overlaid unit intervals

Many unit intervals (UI) overlaid on top of one another. The open region in the centre is the eye opening — its height is the amplitude margin and its width the timing margin. Colour: green = wide open / amber = narrow / red = closed.

Eye opening vs timing jitter
Eye height vs amplitude noise
Theory & Key Formulas

$$\text{UI}=\frac{1}{\text{bit rate}},\qquad Q=\frac{\mu_1-\mu_0}{\sigma_1+\sigma_0}$$

UI is the bit period (unit interval). Q is the quality factor — the level separation divided by the spread of the noise. The eye height is the amplitude noise margin and the eye width the timing margin.

$$\text{eye height}=\frac{\min(\text{1-rail})-\max(\text{0-rail})}{\text{full swing}}\times 100\,\%$$

The gap between the lowest 1 and the highest 0 among the overlaid traces at the sampling instant, divided by the full swing. The larger it is, the more amplitude noise the link can tolerate.

$$\text{BER}\approx\frac{1}{2}\,\text{erfc}\!\left(\frac{Q}{\sqrt{2}}\right),\qquad J_{pp}\approx 6.6\,\sigma_{\text{jitter}}$$

The bit error rate BER follows from the Q-factor; Q≈6 gives BER≈10⁻⁹. The peak-to-peak jitter J_pp is estimated as about 6.6 times the RMS jitter.

What is the Eye Diagram Simulator?

🙋
An "eye diagram" — that's the one that shows a pattern shaped like an eye, right? What is it actually showing?
🎓
Exactly — it's called an eye diagram because, just as it looks, an "eye" shape appears. What it does is simple: take the received digital waveform, slice it into one-bit periods, and draw hundreds of those slices on the same spot. Trigger an oscilloscope on the bit clock and it does this automatically. After overlaying them all, an open region appears in the centre. How open it is — that is the signal quality itself.
🙋
So open is good and closed is bad. But why does just overlaying them tell you the quality?
🎓
Good question. The receiver decides "is this a 1 or a 0?" near the middle of the bit period. When hundreds of waveforms are overlaid, if the bundle of 1s and the bundle of 0s are clearly separated at that decision instant, the waveform can wander a bit without a wrong decision. The vertical opening of the eye is that margin — the amplitude noise margin. Raise the amplitude-noise slider on the left and you will see the eye squashed top and bottom, turning from green to amber to red.
🙋
You're right — at 40% noise the eye closed completely. So what does the horizontal opening represent?
🎓
The horizontal opening is the timing margin. The receiver samples at a "here it is" instant set by its clock, but that clock wobbles a little, and the signal edges themselves scatter due to jitter. A wide horizontal eye means a slightly off sample position is still in the safe zone; a narrow one means a small shift puts the decision out. Push the jitter slider to 200 ps and you'll see the eye squeezed from the sides until it closes horizontally too. Only when both vertical and horizontal are open is it a "good link".
🙋
There's also a rise-time slider. How does that affect the eye?
🎓
Rise time is how long the waveform takes to climb from 0 to 1. If it is slow, the next bit arrives before the waveform has finished climbing — the "still rising" tail of the previous bit lingers into the next decision. That is inter-symbol interference, ISI. ISI eats the eye from the left and right slopes, narrowing the eye width. So the faster the link, the more important it is to keep edges sharp with a fast driver, short traces and low loss.
🙋
And the last thing, the "Q-factor" — what is that? Is it different from the eye opening?
🎓
Think of the Q-factor as the eye opening boiled down to a single number. It is the ratio of how far apart the signal's 1 and 0 are, divided by the spread of the noise: Q = (μ1−μ0)/(σ1+σ0). It matters because the bit error rate (BER) follows directly from Q. Roughly, Q≈6 means not one error in a thousand bits but one in a billion, and Q≈7 means one in a trillion. So in practice a link passes or fails not just because the eye "looks open" but on whether the Q-factor exceeds 6 or 7.

Frequently Asked Questions

An eye diagram (eye pattern) is built by cutting a received digital waveform into one-bit periods (unit intervals, UI) and overlaying hundreds to thousands of them on top of one another. When an oscilloscope is triggered on the bit clock and successive unit intervals are drawn on the same area, an open region shaped like an eye appears in the centre. A wide-open eye means good signal quality; a closed eye means the receiver will make bit errors. It is the single most important visual tool in signal integrity for judging the health of a high-speed digital link.
Eye height is the vertical opening at the centre of the eye — the voltage gap between the lowest "1" and the highest "0" at the sampling instant. It is the amplitude margin (noise margin): how much amplitude noise the receiver can tolerate before mistaking a 1 for a 0. Eye width is the horizontal opening, derived from the spread of the zero-crossing times and expressed as a percentage of the UI. It is the timing margin: how far the sampling clock can drift, or how much jitter the signal can carry, before the receiver samples at the wrong moment.
The Q-factor is a dimensionless ratio of the level separation to the spread of the noise, defined as Q ≈ (μ1−μ0)/(σ1+σ0), where μ1 and μ0 are the mean 1 and 0 levels and σ1 and σ0 their noise standard deviations. The Q-factor is directly linked to the bit error rate (BER): for Gaussian noise, BER ≈ 0.5·erfc(Q/√2). Q≈6 corresponds to BER≈10⁻⁹ and Q≈7 to BER≈10⁻¹². High-speed link compliance typically targets a Q-factor of 6 to 7 or more.
Three impairments close the eye. First, a slow rise time causes inter-symbol interference (ISI): the waveform has not finished a transition before the next bit arrives, so the eye is eroded from the sides. Second, amplitude noise (thermal noise, crosstalk, supply variation) squeezes the eye vertically and reduces the eye height. Third, timing jitter scatters the edge times and squeezes the eye horizontally, reducing the eye width. Once the eye is fully closed, the receiver will inevitably make bit errors.

Real-World Applications

High-speed serial link compliance: High-speed interfaces such as USB, PCI Express, Ethernet (10G/25G/100G), SATA, HDMI and DisplayPort each define an eye-diagram mask (template) in their standard. Passing interoperability means the received eye must not touch this mask and must meet the specified eye height and width. Compliance testing captures eye diagrams over millions of bits on a dedicated oscilloscope and judges conformance to the standard.

DDR memory interface verification: In high-speed parallel memory such as DDR4/DDR5, the timing relationship between the data signal (DQ) and the strobe signal (DQS) is evaluated with eye diagrams. The eye width maps directly onto the setup/hold-time margin, and an insufficient opening causes read/write errors. Board designers match trace lengths and optimize termination to maximize the eye.

Quality control of optical communication systems: In optical fiber communication, the eye diagram of the received optical signal after conversion to electrical form is used to assess transmitter quality and link degradation. The Q-factor and eye opening reflect the optical signal-to-noise ratio (OSNR) and the effect of dispersion. Because large chromatic or modal dispersion closes the eye, the effectiveness of dispersion compensation is also checked with the eye.

Working with signal-integrity analysis (CAE): The transmission characteristics (S-parameters) of a board or interconnect can be imported into a circuit simulator to compute the eye diagram after the channel. Building intuition with a simple model like this tool — for "how much rise time or jitter closes the eye" — makes it much easier to read the results of detailed link simulations using IBIS-AMI models.

Common Misconceptions and Pitfalls

A common misconception is that "if the eye looks open, it passes". An eye built from a few thousand overlaid bits on an oscilloscope may indeed look open, but it was only open "within the observed range". Guaranteeing a bit error rate of 10⁻¹² requires observing on the order of a trillion bits, which is impossible in practice. So in real work the eye opening — including the very rarest worst-case bit — is estimated using the Q-factor and statistical extrapolation (BER contours, the bathtub curve). The eye that looks open from a few waveforms and the eye a standard requires are different things.

Next, the assumption that "all jitter is the same". This tool treats jitter as a single RMS value and estimates the peak-to-peak value as about 6.6 times it. That is reasonable for random jitter — the thermal-noise-driven, Gaussian-distributed component — but real jitter also contains deterministic jitter (ISI, duty-cycle distortion, periodic jitter — bounded components). Deterministic jitter has a peak-to-peak value that does not grow with the number of observed bits, whereas random jitter looks larger the longer you observe. Without separating the two you will misjudge the jitter budget you need.

Finally, the trap of "looking only at eye height and neglecting eye width". Even with ample amplitude, the link fails if the timing margin is short. Especially in recent high-speed links, edge degradation from trace loss and ISI dominate, and it is not unusual for the horizontal eye to close before the vertical one. Furthermore, in multi-level modulation such as PAM4 several eyes are stacked on a single signal, and each eye's height is only a third of a two-level (NRZ) eye. How you read the eye itself changes with the modulation scheme.

How to Use

  1. Set bit rate (brNum) between 1–100 Gbps using brRange slider to define the unit interval (UI)
  2. Adjust rise time (rtNum) in 10–500 ps increments to model transmitter output slew rate
  3. Configure jitter (jtNum) from 0–50% of UI and noise power (npNum) as peak-to-peak voltage to simulate channel degradation
  4. Run simulation to generate eye diagram overlay showing all bit transitions at scaled UI periods
  5. Review Eye height (%), Eye width (% of UI), Quality factor Q, and Pass/Fail verdict

Worked Example

For a 25 Gbps serial link: set brNum=25 (UI=40 ps), rtNum=8 ps rise time, jtNum=8% jitter (3.2 ps p-p), npNum=15 mV noise. Simulator overlays 2^15 pseudo-random bit sequences. Result: Eye height 62%, Eye width 78% UI, Q=4.8, verdict PASS. Reducing rise time to 5 ps improves Q to 6.1; adding 5% more jitter drops Q below 4.0 (FAIL). This matches 25G Ethernet PAM2 receiver requirements (Q_min≈4.0 for 10^-12 BER).

Practical Notes

  1. UI shrinks inversely with bit rate: 10 Gbps→100 ps, 56 Gbps→17.9 ps; jitter tolerance degrades nonlinearly at higher rates
  2. Rise time dominates eye closure at short channels; jitter and noise dominate at longer distances or with equalization
  3. Q factor approximation Q ≈ (Eye_height/2) / sqrt(sigma_noise² + sigma_jitter²) predicts BER; values below 4.0 indicate marginal links
  4. Use to validate transmitter compliance (JEDEC, IEEE 802.3) before silicon tape-out or evaluate clock recovery margins in receivers