Matching/calculating propagation delay of internal traces and external traces

(1/2) > >>

Northy:
I'm routing a board where I need to match some internal traces and external traces. I know ideally they should be on the same layer, they I could just match the lengths, no. of vias etc, but the routing just isn't viable.

I'm trying to match 'time' here, or I guess propagation delay is a better term. As signals travel faster on external layers, is there a calculator somewhere that I can use to work out what length the external traces need to be to match the internal traces? What other variables do I need from my PCB supplier?

Many thanks,

G

metrologist:
There's some formulas in this wiki

https://en.wikipedia.org/wiki/Group_delay_and_phase_delay

Feynman:
First of all you should make sure that you really need matched time/delay. Often times a little skew is totally fine.

But as a rough rule of thumb signal speed on inner layers is about 1,5x10^8 m/s² and signal speed on outer layers is about 1,7x10^8 m/s² (assuming some sort of FR4 board). So one thing you can do is to simply make the inner conductors ~10-15% percent shorter than the outer conductors.

If you need a little more accuracy:
Since propagation speed depends on the relative dielectric constant (and the relative permeability) of the materials around the conductor (usually air, solder mask or some sort of FR4 material), you need those values from your PCB supplier (or the data sheet of the material they are using). The relative dielectric constant for FR4 is usually around 3.8 to 4.5. The tricky part are the outer conductors, because their surrounding material is not uniform. That's where the "effective dielectric constant" comes into play. I think the Saturn PCB Toolkit hat some tools to estimate signal speed on inner and outer layers based on approximation formulas.

For even more accuracy a decent PCB supplier can tell you the propagation speed of each layer. Usually they throw their process knowledge (tolerances, ...) and material properties into a field solver and come up with more accurate values.

But my suspicion is that you don't need this kind of accuracy for matching your trace delay times :)

Northy:
Thanks for the replies, very helpful.  :-+

This is a DDR3 connected to a processor, so it's fairly high speed, so I'm just trying to do the best job that I can on it. I have lots of caveats like: the trace length isn't very long to start with, it won't be run 'flat out', etc, but my feeling is if I just take the time now to do the best job I can then that gives the design more margin and will help me sleep at night  :)

Thanks,

G

Northy:
Would anyone else have any feedback or suggestions for this? I'm just keen to get this as correct as I can.
I've been advised to try the Saturn Tool Kit, but as I work on a Mac it would be a pain to sort out if it doesn't help. Does anyone else here use it?

Thanks,
G