SIPI

Fundamentals / 11

Jitter Components: RJ, DJ, DCD, PJ, and TJ

Jitter describes variation in an edge's arrival time. Some causes are bounded — they have a worst case — while others are modeled as unbounded, so increasingly rare excursions appear over longer observations. These two kinds require different treatment. A total-jitter value therefore needs its associated bit error rate to be interpreted correctly.

The dual-Dirac model · two impulses convolved with a Gaussian analytical TJ RJ multiplier at BER of a 62.5 ps UI
Edge arrival time, as a probability density
distributionthe two Diracs (DJ)TJ at the target BER
1.0 ps
Unbounded — quoted RMS
12 ps
Bounded — quoted peak-to-peak
1e-12
1e-6 · 1e-9 · 1e-12 · 1e-15

Two kinds of wrong, and why they cannot be added

Jitter, at its simplest, is the signal arriving early or late. A receiver expects an edge at a specific instant; jitter is the deviation from that expectation. If you have ever watched a clock signal on a scope with persistence turned on and noticed the edge looking fuzzy — not a crisp line but a band of transitions smeared across a few picoseconds — you have seen jitter.

The reason signal integrity cares so much about jitter is that timing budgets at modern data rates are extraordinarily tight. At 32 GT/s (PCIe Gen 5), the entire bit period is 31.25 ps. If jitter consumes 10 ps of that, a third of the timing budget is gone before you account for loss, ISI, or anything else. The taxonomy on this page exists because different causes of jitter have fundamentally different statistical properties — and you cannot fix what you cannot name.

Suppose an edge is supposed to arrive at time zero and does not. Ask one question about the cause: is there a worst case?

Sometimes there is. Duty-cycle distortion moves an edge by a fixed amount. The ISI from a channel has a worst data pattern, and once you have found it, no pattern is worse. These are bounded, and a peak-to-peak number describes them completely.

Sometimes there is not. Thermal noise in a receiver's input stage is Gaussian, and a Gaussian has tails that go on forever. There is no displacement so large that it is impossible — only displacements that are increasingly unlikely. Wait long enough and you will see one. These are unbounded, so a peak-to-peak number needs an observation interval or BER: it would be a statement about how long you happened to watch.

That is why the taxonomy exists, and why the two halves are quoted in different units — DJ in picoseconds peak-to-peak, RJ as an RMS value σ. They are different kinds of quantity, and adding them requires deciding how far into the Gaussian's tail you care to go. Which is a decision about bit error rate.

The split that matters

Every serial interface spec decomposes jitter the same way, because the two halves combine differently and one of them has no maximum at all.

Why the BER has to be in the answer

Because RJ is unbounded, “total jitter” only means something once you say how often you are willing to be wrong. The dual-Dirac model — which is what the specs standardise on — collapses all the bounded jitter into two impulses separated by DJ, convolves that with the Gaussian, and gives you:

DJ(δδ) is a fitting parameter, not a measured width This is the part most worth internalising. The two impulses are a model, chosen so the resulting curve matches the observed tails — they are not a claim that the real deterministic jitter has two values. The DJ that comes out is whatever separation makes the fit work, and for a distribution that is not actually bimodal it will generally differ from the true peak-to-peak width of the deterministic part.

Two consequences. A DJ(δδ) from one instrument, fitting convention or extrapolation range is not automatically comparable with another. And because the fit is anchored in the tails, how many points you measured, how far out, and how transitions were weighted all move the answer. Quote the convention alongside the number, or it is not reproducible.
TJ(BER) = DJpp + 2·Q(BER)·RJrms Q = 7.034 at BER 10⁻¹², so the multiplier on RJ is 14.07σ. At 10⁻¹⁵ it is 15.88σ. Three extra decades of reliability cost you less than two extra sigma — the Gaussian tail is that steep.

Two consequences follow directly. First, quoting TJ without its BER is an error, not shorthand — the same link has a different TJ at every BER. Second, RJ and DJ are not interchangeable picoseconds: at 10⁻¹², one picosecond of RMS random jitter costs you fourteen picoseconds of budget, while one picosecond of DJ costs one. Chasing a small RJ improvement is often worth more than a much larger DJ improvement.

Where the decomposition goes wrong The dual-Dirac model assumes the deterministic part is genuinely bounded and the random part is genuinely Gaussian. Crosstalk from many uncorrelated aggressors starts looking Gaussian and gets absorbed into the RJ estimate — where it is then multiplied by 14, over-stating its cost. A periodic tone that is not quite periodic does the same. When measured and extrapolated numbers disagree, a mis-classified jitter component is the usual reason.

Why this decides how your board behaves

What to do about it

Classify before you fix. Almost all jitter debug is identification, and the sub-types announce themselves if you look for the right signature. Alternate edges moving in opposite directions is DCD. Displacement that correlates with the data pattern is DDJ, and it belongs to the channel. A periodic wobble names its own source once you measure its frequency. Displacement that appears only when a neighbour is active is crosstalk.

Attack the deterministic part first. It is bounded, identifiable and usually the larger share on a real channel — and each decade of BER multiplies the random part but leaves the deterministic part exactly where it was. Removing 5 ps of DJ removes 5 ps at every BER. Removing 1 ps of RJ removes 14 ps at 10−12.

For the random part, look at the supply before the silicon. Power-supply induced jitter is often the largest contributor and the one most under your control — it is a PDN problem wearing a timing costume. See PDN-induced jitter.

Using this to find a fault
  • TJ that keeps rising the longer you measure. Random-dominated. Stop hunting for a coupled source and look at noise, supply and receiver sensitivity.
  • TJ that plateaus quickly. Deterministic-dominated. There is a cause to find, and the sub-type tells you where.
  • Jitter that changes with the test pattern. DDJ, so it is the channel. Correlate against run length — long runs followed by an isolated bit is the classic worst case.
  • A clean spectrum except one spur. Periodic jitter. Read the frequency and go find what runs at it. A switching regulator is the single most common answer.
  • Jitter that appears at the receiver and not the transmitter. Either the channel added it, or the receiver's own reference is noisy. Measure the recovered clock against a clean reference to tell those apart.
Go deeper — the dual-Dirac model, its Q multiplier, and what the fit hides

The specification model collapses all bounded jitter into two impulses separated by DJ, convolves that pair with the Gaussian representing RJ, and reads the total width at the target error rate:

TJ(BER) = DJpp + 2 · Q(BER) · RJrms Q is the number of standard deviations for that BER — 7.03 at 1e-12, 7.94 at 1e-15

The factor of two is there because both edges of the eye are closing, each by Q·σ. That is also why the multiplier on RJ is about 14 at 10−12: one part of σ each side, seven deviations deep.

The part most worth internalising: DJ(δδ) is a fitting parameter, not a measured width. The two impulses are a model chosen so the resulting curve matches the observed tails — not a claim that the real deterministic jitter has two values. For a distribution that is not actually bimodal, the DJ that comes out will generally differ from the true peak-to-peak width of the deterministic part.

Two consequences follow. A dual-Dirac DJ from one instrument is not necessarily comparable with one from another unless they fit over the same range. And a distribution with a genuinely non-Gaussian tail — a large periodic component, say, whose distribution is arcsine-shaped rather than bell-shaped — will be fitted badly, and the extrapolation will be wrong in a direction the fit cannot warn you about.

Where Q comes from. Q(BER) inverts the Gaussian tail integral: the probability that a Gaussian exceeds Q standard deviations is ½·erfc(Q/√2), and setting that equal to the target BER and solving gives Q. Nothing in that derivation is about jitter; it is a property of the Gaussian, which is exactly why it only applies to the part of jitter that genuinely is one.

A caution about quadrature addition. RJ sources add as √(σ₁² + σ₂²) only if they are independent. Two jitter contributions driven by the same supply noise are not independent, and adding them in quadrature understates the total. This is a common and quiet error in budgets that list PSIJ contributions from several blocks on one rail.

In the real world

The single most useful habit in jitter work is refusing to accept a jitter number without three things attached: the BER it is quoted at, the clock-recovery bandwidth it was measured with, and the reference plane. Without those it is not comparable to anything — not to a specification, not to a simulation, not to last week's measurement.

The second habit is treating the decomposition as a hypothesis. An instrument will happily report a DJ and an RJ for any distribution you give it, including ones where the model does not apply. When the numbers look strange, look at the histogram itself before trusting the split it was reduced to.

Related