Differential pairs on different layers

Hi,

Firstly let me congrulate you all on developing a wonderfully easy to use and powerful product. I tried learning Altium a few years ago and gave up after two weeks. KiCad has been a joy to work with.

I do a lot of layouts with differential pairs for VITA 57 Mezzanine development. The boards end up usually being 12 layers where T,2,4,7,9,B are for signals, 1,3,6,8,10 are for ground planes and 5 is used for power planes. Usually the differential pairs are 100R. My PCB fab house tells me that the track widths and gaps for different layers should be different depending on what layer is used.

i.e. Layer width gap
Top/Bottom 0.092 0.208
2/9 0.075 0.120
4/7 0.075 0.135

At the moment, I set the net class for top and bottom then tweak the other layers when the board is routed.

I have been a software programmer for the last 30 years. If I get a chance, I will look into implementing layer specific widths/gaps in KiCad. I will also look into improving the built in coupled microstrip calculator. My fab house use Solaris Polar Si8000 for impedance calcs - it always give a slightly different answer to the built in calculator but also takes more input parameters.

Dave

2 Likes

Layer-specific diff pair rules can be implemented using the custom rules feature. For example:

(rule dp_inner
	(layer inner)
	(condition "A.inDiffPair('*')")
	(constraint diff_pair_gap (opt 0.25mm))
	(constraint track_width (opt 0.25mm)))
2 Likes

Thanks craftyjon. Looks like it’s already been visited. I’ll look into it in more detail.

Dave

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.