Calculating Trace Length Tolerances in High-Speed PCB Design

I’m working on a design where I need to interface a video format converter with an ADC that converts analog RGB data to digital. The data connection between them involves a 20-bit bus running at approximately 170MHz. Due to space limitations on the PCB, I can’t get the trace lengths to match perfectly. I’ve heard that there are acceptable tolerances for trace length mismatches based on frequency, which shouldn’t interfere with signal integrity at the receiving end. Could anyone explain how to calculate the trace length tolerance for high-speed PCB designs, particularly when dealing with differential pair routing and high-speed data buses?

1 Like

To determine how tightly you need to match trace lengths, it’s crucial to understand the timing budget of your interface. The signals leaving your source and arriving at your destination must maintain a specific timing relationship for the receiver to interpret them correctly. This is typically described in terms of setup and hold times, which define how long the data needs to be stable before and after the clock edge.

Several factors affect this timing budget, and one of them is trace length differences. In some cases, manufacturers will provide timing information, but other times you may need to derive it from the transmitter and receiver’s input/output timing specifications. While it may seem easier to aim for perfectly matched trace lengths to avoid these considerations, it’s not always necessary to be that precise.

Let’s break it down: At 170 MHz, the clock period is approximately 5.88 ns. If there’s a 1-inch difference in trace lengths, with a typical propagation delay of about 150 ps per inch for a microstrip (top layer trace), this would introduce a delay of +/- 150 ps. Compared to the 5.88 ns clock period, this difference is quite small. In fact, at 170 MHz, the timing requirements aren’t as stringent as they are at higher frequencies. If you have access to the output skew from your transmitter and the setup/hold times for your receiver, you can calculate the acceptable trace length tolerance for your specific design. Other factors like clock jitter and IS) should also be considered, but understanding these basics gives you a solid starting point for length matching in high-speed PCB design.

2 Likes

Regarding a bus where data and clock have to be distributed, setup and hold time parameters determine your length tolerance. If the signal is a differential pair the maximum intra pair skew is determined by the receiver, but you can take a look at this article where you can see some recommendations for different interfaces.

Roughly the maximum skew is 15% time bit but it is recommended 5% .Keep in mind you can get some skew even if both tracks have the same length. What it is important is the electrical length not the physical length. If the dielectric cte varies from one track to the other you will get some skew. Also don´t forget that some intra skew creates signal integrity issues (the eye is getting closer) but also some EMC problems because the common mode, and common mode is prone to radiate.

1 Like

In cases where no specific timing specs are available for the bus or receiver, a good rule of thumb is to keep trace skew below 5% of the clock period as mentioned. Signals on an FR4 PCB travel at roughly half the speed of light, the maximum trace length difference should be no more than 44 mm between the longest and shortest traces. Ideally, the clock trace length should be somewhere between these two.
Additionally, be mindful of potential issues with analog signal integrity. In designs, where both analog and digital components coexist, it’s crucial to prevent digital switching noise from coupling into the analog input signals, which could cause greater problems than minor trace length mismatches.

1 Like