Electronic – differential pair impedance and length matching

differentialimpedancelength-matchingserpentine-trace

I'm designing a high speed circuit (MIPI-DSI) so I have to carefully layout the tracks. Correct track impedance is the first point usually made in various online sources I've found on the subject, so I tried to get the microstrip impedance calculator to get as close the desired 100 Ohm. For budgetting reasons I'm tied to a stock pooling layer stackup, so I went for OSHpark's 4-layer stackup (35um copper – 0.17mm FR408 – 17um copper …). With a track width of 12mil and a 6mil track spacing, I get 101 Ohm, so far so good.

Next step is routing the tracks. Most guides mention that any length differences can be negated by adding serpentine patterns in the shorter track like this:

enter image description here
(grid is 6mil)

It is mentioned in many guides that the maximum trace distance when doing serpentine tracks is twice the normal track distance, so 2 x 6mil = 12mil, so I kept to this recommendation.

So far so good, but looking at the picture, isn't it more likely for the signal in the serpentined track to cut corners and just go straight through, basically following the grid lines?

I'm now considering increasing the track spacing to 12, so I get a differential impedance of 110 Ohm (just within the 10% margin), but I get to make my serpentines larger, so A) I force the signal to take the corner and B) I need less bends to make up for the length differences.

Alternatively I could break the distance rule of the serpentine with the same 12/6 width/spacing to a max. distance of 24 mil. Which is better?

Best Answer

You will want to control impedance with smaller variations in gap.

enter image description here

Note the differential pairs above that look like a strand of intestine have a constant gap between the pairs. The differential skew is adjusted with a tiny blip on one line towards the bottom of this image.