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.
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.
- Random jitter (RJ) — thermal and shot noise, Gaussian, unbounded. Quoted as an RMS value (σ) because an unconstrained peak-to-peak figure does not converge: wait long enough and you will see any excursion you like.
- Deterministic jitter (DJ) — bounded, repeatable, caused by something
identifiable. Quoted peak-to-peak. It has real sub-types, and naming the right one is most of
a debug:
- DCD — duty cycle distortion, from an offset threshold or an asymmetric driver. Alternate edges move in opposite directions.
- DDJ / ISI jitter — the pattern-dependent kind, straight out of channel loss.
- PJ — periodic jitter, from a coupled tone: a switching regulator, a neighbouring clock, a spur on the PLL reference.
- BUJ — bounded uncorrelated jitter, typically crosstalk from an aggressor with no relationship to your data.
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:
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.
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.
Why this decides how your board behaves
- It decides what your fix should be. Bounded jitter has a cause you can find and remove. Unbounded jitter is noise, and the only levers are more signal, less bandwidth, or a better front end. Misclassify and you will spend weeks looking for a source that does not exist.
- It decides how the numbers combine. Two random sources add in quadrature — σtotal = √(σ₁² + σ₂²) — because independent Gaussians do. Two deterministic sources add directly, worst case to worst case. Adding a DJ to an RJ in quadrature understates your jitter; adding two RJs linearly wildly overstates it.
- It decides whether more measurement helps. Watching longer reveals more of the random tail and nothing new about the deterministic part. If your measured TJ keeps growing with capture length, you are watching RJ; if it plateaus, you have found the DJ bound.
- The CDR changes the answer. A clock-recovery loop tracks slow wander and rejects it, so jitter below the loop bandwidth is largely invisible to the receiver. Jitter numbers are only comparable at the same loop bandwidth.
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.
- 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:
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.