I am doing single rank ddr3 routing in a 6 layer board with the following stackup:-
Signal(L1) -> Gnd(L2) -> Signal(L3) -> Pwr(L4) -> Gnd(L5) -> Sig(L6)

(I am using Saturn PCB Toolkit for calculations)
Add Table
Signal Propagation Speed
Top/Bottom 145 ps/in
Inner Layer 175 ps/in
I am confused which parameter to consider for length matching. Physical length or the Timing.
Lets say i have a 1.4 in trace in inner layer(L3) with two vias of length 12 mils each from Top layer to L3.
Total Length = Trace Length + 2 * Via Length
(I am not including Fan out Stub here)
Flight Time = length * propagation delay => 1.4*175 = 245ps
Note: on top layer there is only clock differential pair without any Via. That's why i made it 10 mils longer to compensate. Also signal travels much faster in diff pair.
So in all the above cases the difference in Physical Length is 30 mils while the timing difference is 40ps. If i try to match according to the length then i have a bigger flight time difference and vice versa.
I would like to know that with the above calculations am i going in the right direction for ddr3 routing. I am curious to know which factor to take into account if going for much higher speed in GHz range. I know the tolerance depends on the timing budget. But excluding all these things which is the correct way for matching, Physical Trace Length or the Flight time.
I am a newbie. So sry if i asked something stupid.
thanks and regards
Signal(L1) -> Gnd(L2) -> Signal(L3) -> Pwr(L4) -> Gnd(L5) -> Sig(L6)
(I am using Saturn PCB Toolkit for calculations)
Add Table
Via(L1-L6) | Via(L1-L3) | |
Height | 38 mils | 12 mils |
Step Response | 15.8 ps | 4.1 ps |
Signal Propagation Speed
Top/Bottom 145 ps/in
Inner Layer 175 ps/in
I am confused which parameter to consider for length matching. Physical length or the Timing.

Lets say i have a 1.4 in trace in inner layer(L3) with two vias of length 12 mils each from Top layer to L3.
Total Length = Trace Length + 2 * Via Length
(I am not including Fan out Stub here)
Flight Time = length * propagation delay => 1.4*175 = 245ps
Length (inch) | Via (mils) | Via mils | Total | |
L3(DQ) | ||||
Length (in) | 1.4 | 0.01 | 0.01 | 1.42 |
Flight Time (ps) | 245 | 4.1 | 4.1 | 253.2 |
L1-6(Addr/Cmd/Control) | 0 | |||
Length (in) | 1.36 | 0.04 | 0.04 | 1.44 |
Flight Time (ps) | 197.2 | 15.8 | 15.8 | 228.8 |
L1(clk) | ||||
Length (in) | 1.45 | 0 | 0 | 1.45 |
Flight Time (ps) | 210.25 | 0 | 0 | 210.25 |
So in all the above cases the difference in Physical Length is 30 mils while the timing difference is 40ps. If i try to match according to the length then i have a bigger flight time difference and vice versa.
I would like to know that with the above calculations am i going in the right direction for ddr3 routing. I am curious to know which factor to take into account if going for much higher speed in GHz range. I know the tolerance depends on the timing budget. But excluding all these things which is the correct way for matching, Physical Trace Length or the Flight time.
I am a newbie. So sry if i asked something stupid.
thanks and regards
Comment