TT Lab
Get started
Learn Learning paths Courses

My Cable Has an Echo

Matching lengths still leaves a timing budget

Continue in TT Lab

In one line

A differential signal reads the difference of two voltages, but that does not mean the two voltages may arrive at any time. If the arrival times of the complementary signals are misaligned, the transition of the differential voltage lengthens, and the average of the two voltages also moves during the transition. Whether the average, the common mode, is stable and whether the desired differential threshold is reached in time are separate questions. This time you calculate the sign of the wiring skew, the common-mode deviation, and the receive time one at a time, turning the vague conclusion "a good signal" into concrete evidence.

Why this was needed

If both lines are delayed together by 0.5ns, the arrival difference between them stays the same but the receive time is later. Conversely, if only one line is delayed, the relative delay and the average voltage change. If you do not distinguish the two situations, you mistakenly think that the measure of matching the lengths also solved the whole timing problem. After the signal has long settled, both cases can show the same final differential voltage, so checking just one end point misses the problem. You must look at the two voltages together along the time axis.

Here the real ngspice engine calculates a numerical circuit. But that circuit is two ideal transmission lines that do not couple to each other. The coupling of a real differential PCB, odd-mode impedance, vias, connectors, frequency-dependent loss, and radiated noise are not included. That the engine ran does not mean every physical phenomenon was included. With this simplification you isolate the effect of a delay imbalance alone.

How it works

P and N at the same time decomposed into the differential value and the common mode

The figure above is not a plot of a real waveform but a structure diagram showing by what operations the two voltages at the same time are decomposed. You check the whole picture of the transition in progress with the raw waveforms in the lab.

The source resistance on both sides, the line characteristic impedance, and the ground-referenced termination are each 50Ω. The two sources start their transitions at 2ns. P is a linear ramp from 0 to 2V and N from 2 to 0V, of the same time length. Both sides are matched, so the receive-end amplitude is half, 0↔1V, each, and there is no need to analyze the returning reflection. Do not generalize the two resistors of this model as always equivalent to the 100Ω termination of a real differential pair. The circuit conditions for the common mode can differ as well.

Let the P line's one-way delay be Tp and the N line's delay be Tn, and define the skew as Tn−Tp. Positive means N is late, and negative means N is early. When rise is the whole ramp time, the received P is clip((t−2−Tp)/rise, 0, 1) and the received N is 1−clip((t−2−Tn)/rise, 0, 1). The times in the formulas are all unified in ns. The time in the waveform file is in seconds, so the analysis function must multiply by 1e9. Also confirm that the delay is a one-way time, not a round-trip time.

From the same sample, calculate Vdiff=Vp−Vn and Vcm=(Vp+Vn)/2. The normal start is Vdiff=−1V, the normal end is +1V, and the common-mode reference is 0.5V in both states. When evaluating the common-mode problem, if you take the maximum of the absolute value of Vcm, you count even the normal 0.5V as an error. What you need is the maximum of the absolute deviation from the reference, |Vcm−0.5|. Dividing Vdiff by 2 again, or forgetting the division in Vcm, is also a mistake of mixing different physical quantities.

Relative delay and absolute time

You find the time P crosses 0.5V upward and the time N crosses 0.5V downward, each. If the threshold lies between samples, you linearly interpolate the two points. If you ignore the crossing direction, you can pick the later opposite transition. A flat interval that stays at the threshold from the start is not a crossing that entered in that direction. In grading, not only a single transition but also a small table with re-crossings is used to check that you find the first correct crossing.

For example, with Tp=1ns, Tn=1.2ns, and rise=0.4ns, the two 50% crossings are at 3.2ns and 3.4ns. The difference is +0.2ns. An interval arises in which P has gone up first and N is still high, so Vcm reaches a maximum of 0.75V. The deviation from the reference is 0.25V. If N comes down earlier by the same amount, the average moves below the reference and the skew sign also becomes negative. So that you do not wrongly point to the late line by looking only at the absolute value, you report the signed skew together with the common-mode deviation, which is an absolute value.

The continuous-time maximum common-mode deviation of an ideal ramp is min(0.5, |skew|/(2×rise)) V. This is a formula for cross-checking the analysis result and is not the answer number to write in the report in place of the raw waveform. The engine's time grid may not pass exactly through the sharp peak, so the sample maximum can be slightly lower than the theory. You must preserve the raw data's peak and explain the model approximation and the numerical error together. Do not say you measured a peak you did not see.

What it looks like in the field

This learning specification is a common-mode deviation of 0.15V or less while reaching a differential voltage of +0.8V within 4ns. It is not a certification number of a board or a communication standard but a condition for separating the two constraints. The earlier example reaches +0.8V at 3.52ns, so it passes the timing but fails the common mode. If you increase rise to 0.8ns, the common-mode deviation shrinks to 0.125V and the receive is delayed to 3.84ns. You see, in the same circuit, a slow edge reducing one problem while consuming another margin.

With Tp=Tn=1.5ns and rise=0.8ns, the skew and the common-mode deviation are nearly 0. Yet the differential threshold is reached at 4.22ns, which exceeds the time budget. You cannot let it pass just because there is no skew. Conversely, if you shift both signals up by 0.02V together, the differential voltage stays the same but the common mode changes. If you check only the differential voltage when comparing the original with the model, you miss this mismatch. This is why you cross-check every voltage sample of both lines separately.

What you will do in the next lab

You write, in order, the prediction model, the mode decomposition, directional crossing, observation metrics, specification judgment, original comparison, and a multi-condition campaign. The provided helper takes care of only running ngspice and parsing waveforms. The failed conditions are also left in the report, and you preserve the requested settings, the circuit, the engine log, and the two original voltages. measured in the final report is false. Mark numerical experiments and real measurements as distinct, and do not claim to have solved the coupling or radiation problems omitted from the model.

Basis for the model syntax: the lossless transmission line and PWL voltage source in the ngspice 42 official manual. The mode decomposition and the learning judgment criteria are defined by this lab and are not the certification specification of any particular product.