Electronic – Trace Length Tolerance Calculation – High Speed PCB Design

high frequencyhigh speedpcbpcb-design

I have to interface a video format converter with a ADC IC, which converters RGB analog data to digital. The connection between this ADC and Converter is a 20 bit data bus which clocks at about 170MHz. Since I have the PCB area constraints I cannot perfectly match the trace length of this data bus. I heard that there are matched trace length tolerances depending on frequency so that it will not damage the signal acquisition by the destination.

My question is how to calculate trace length tolerances in a High Speed PCB design? (in differential pair routing and high speed data bus routing)

Best Answer

Length matching is about timing so if you want to know how tightly you have to length match you have to understand the timing budget for your interface. Signals will leave your source, and arrive at your destination with some timing relationship. Your receiver requires a certain timing relationship between clock and data in order to be guaranteed to function correctly. This is usually defined as setup and hold time, or how long before the clock edge your data needs to be valid, and how long after it must stay valid.

There are several things in a system which eat into this budget, one of which will be your routing. Sometimes a manufacturer will tell you this information, other times you must derive it from the input and output timing data of your transmitter and receiver. Of course it's easy to just say well I must match exactly, because then you don't have to think about it :)

But let's think about it for a minute. You have a 170Mhz signal? That's a period of 5.882ns. What would happen if you routed all your data to within one inch of clock. What would be the worst case timing difference. Propagation time for a top layer trace, a microstrip is about 150ps/in. So a 1 inch difference will skew a data signal from clock +/- 150ps. That's really not bad at all considering your 5.882ns clock period. In fact 170Mhz is really not that fast.

If you understood the output skew from your transmitter, and your setup and hold times for your receiver you could come up with a number for the acceptable routing delay. Of course there are other factors, clock jitter, ISI, etc, but this should give you a good idea of what you can do.