Every electronic signal takes a certain amount of time to travel along a conductor and reach its destination. Due to dispersion and losses in your board, PCB trace length matching in high speed boards needs to be enforced in certain situations. When you know how to identify the sections of a board that require length matching, you can take important steps to ensure your signals arrive at a receiver on time.
If the link between signal velocity and any trace length mismatch is not obvious, the allowed trace mismatch can be determined as a time difference (for digital signals) or a phase difference (for analog signals). PCB trace length matching is normally discussed in terms of differential pairs, but it also applies to nets and buses with single-ended signals and differentially-driven buses. As computer peripherals and other digital systems require successively faster operating speeds, the propagation delay in a computer network places tight tolerances on the allowed trace length in a conductor carrying digital signals. Here are some best practices for applying PCB trace length matching in different types of systems.
PCB trace length matching is exactly as its name suggests: you are matching the lengths of two or more PCB traces as they are routed across a board. These traces could be one of the following:
PCB traces carrying digital signals do not need to be perfectly length matched. There will always be some amount of jitter on the rising edge, so signals routed in parallel can never be perfectly length matched. The goal is to reduce the length or timing mismatch below some limiting value. The allowed length mismatch and timing mismatch are related by the signal velocity:
Relationship between length mismatch and timing mismatch.
If you don’t know the allowed trace length mismatch in your system, don’t fret. Just check your signalling standard, interface standard, or component datasheet. With so much standardization of computer peripherals, most components use one of many high-speed signalling standards, and you can easily find the routing specifications, required impedance, and allowed length mismatch in the specs.
A length mismatch can also be converted to a timing mismatch using the signal velocity (see above), although be extremely careful when selecting the velocity of a digital signal. This is because modern digital signals, generally running with edge rates much less than 1 ns, will have bandwidths reaching into the high GHz and will only tolerate very small mismatches. Dispersion in the PCB substrate causes the signal velocity to vary with frequency. For example, FR4 exhibits normal dispersion below ~1 GHz, so lower frequencies will arrive at the receiver earlier than higher frequencies.
The goal in trace length matching is to prevent skew on a parallel data bus. Skew simply refers to a timing mismatch between the rising edges of two or more digital signals (see below). In a parallel bus, the signal propagating on the shortest trace will arrive earliest, so it will trigger a downstream gate before the other signals on the bus. Industry-standard PCB design software will allow you to define buses and differential pairs in your schematic, but you’ll need to enforce trace length matching in your layout to bring skew within allowed limits.
Length matching in multiple single-ended nets is rather simple; just add tuning structures to ensure all traces on the bus are the same length. Tuning structures will be discussed in more detail below. For differential pairs, each end of an individual differential pair should be length matched. The diagram below shows an example where PCB trace length matching would be applied to differential pairs.
A driver sending signals down two differential pairs to two different receivers.
The differential pairs shown above are routed between a single driver (e.g., an FPGA) and two different receivers. The receivers each read the differential signals on D1 and D2, respectively. Here, each end of differential pair D1 would need to be length matched. Similarly, each end of differential pair D2 would need to be length matched. However, D1 and D2 do not need to be matched with each other as they are not carrying data parallel. Each of these differential pairs transfers a single bit at a time, and we only need to length-match to ensure common-mode noise is cancelled in each pair.
If you have multiple differential pairs carrying parallel data, each differential pair needs to be matched, and the pairs then need to be matched to each other. This is shown below, where a single driver is sending parallel data to a single receiver. This ensures each differential pair can sufficiently cancel common-mode noise, and it ensures parallel data will be received without skew between bits.
Example of a driver with 2 differential pairs driving a single receiver. All traces should be matched to the longest differential pair.
The natural next question to ask relates to clock signals: how should signals from a system clock be length matched throughout a digital system with multiple daisy-chained ICs? In the example above, a clock signal needs to come from somewhere in order for the receivers to latch. The answer is: system clock signals aren’t used in this topology!
Using a system clock to trigger every IC in a chain of components is extremely difficult in large digital systems. This is because each IC can have different logic gate delay, rise time, and overall signalling standard. For this reason, modern digital components use source-synchronous clocking or embedded clocking. In the former, a clock signal is routed in a trace alongside the parallel data traces, and this clock trace needs to be length-matched to the other data traces.
Example of a driver with 3 outputs and source-synchronous clocking. All traces should be matched to the longest trace in the bus.
In the case of embedded clocking, there is no clock trace. Embedded clocking is used in serial communication (e.g., SerDes channels) Instead, the clock signal is encoded as the first few bits in the serial data stream. If you’re designing a SerDes channel with differential pairs (e.g., LVDS), the differential pairs still need to be length matched using the techniques shown above.
There are three common PCB trace length tuning structures, each of which could be discussed in its own article. These are accordion, trombone, and sawtooth tuning. Some other names for these structures are switchback routing and serpentine routing. Each of these different structures can have some interesting effects on transmission line impedance and FEXT, which I’ve discussed in one of my articles on Altium’s PCB Design Blog.
If you’re looking to length match groups of differential pairs, each of these is a good option to lengthen a differential pair. Anytime these structures are applied, you should try to keep the length tuning section symmetric, although Ben Jordan has shown that common-mode noise will still be sufficiently cancelled if the structures lack symmetry.
When escaping a via or if a length mismatch is very short, you should try to apply one of these structures to the source end of the net, rather than at the receiver end. If you apply the structure at the receiver end, any common-mode noise received earlier in the trace may not be sufficiently canceled. For short mismatches near a via, a small delay can be applied at the source end (called phase matching). This is shown on the vias in the above image.
PCB trace length matching when escaping a via.
The ideas discussed above apply to digital signals, but analog signals can also be routed as differential pairs. This is rather uncommon in many systems, even at very high frequencies. However, it is possible to route analog signals as differential pairs using differential op-amps. Companies like Texas Instruments offer high bandwidth (~GHz bandwidth) differential op-amp components that are ideal for routing analog differential pairs. You could easily route your analog signals around a board with these components, and you could convert back to a single-ended analog signal when you need to interface with a single-ended analog IC.
Analog differential signals require precise length matching, just like digital differential signals. The difference is that analog differential signals resemble 3-phase AC wiring, where an adjacent analog ground plane is used as a reference for both ends of the pair. While digital signals do not explicitly need a ground plane, placing a ground plane adjacent to the digital differential pair is advantageous for the reasons outline above.
The PCB trace length matching guidelines shown above also need to be used with analog differential pairs as they can accumulate skew, just like differential signals. They also require very precise phase matching and are susceptible to phase noise. The same PDN design points for minimizing jitter also apply to analog components for preventing phase noise. However, you are fortunate in that you are working in a smaller bandwidth when designing your analog PDN, making it much easier to minimize your analog PDN impedance.
At NWES, we’ve built plenty of high speed designs and we know how to get the most out of industry-standard EDA software. We work with electronics companies to design modern PCBs and create cutting-edge technology. We've also partnered directly with EDA companies and several advanced PCB manufacturers, and we'll make sure your next layout is fully manufacturable at scale. Contact NWES for a consultation.