Route differential pairs for BGA

Hello I am trying to place several differential trace pairs for BGA. But there are some problems :

  1. For same pair, I have tried several times to place the trace, sometimes it succeed and sometimes not. Personally I couldn’t tell the difference between each operations.

  2. For different pairs, at some pairs the route is possible, and others failed no matter how much times I tried. (Out2± succeed, OUT3± failed)


Is there any trick for the route that I didn’t notice ?
Thank you :slightly_smiling_face:

I will admit that even though user may see/read the pop-up message, it means very little without further guidance.

Video below may help… It’s your design so, the values will be different than those in video…

RESULTing Length

Using the NET_Inspector Tool

Hello,thank you for replying. But do it’s not about this topic right ?

I guess I don’t know what you mean…? Routing Differential-Pairs does Not depend on what you’re routing to/from - it’s about routing a ‘Pair of traces’. They could be to/from any Terminal/Connector/etc… Example shows it with two, 2-Pin connectors

Sorry, my point is that why for some BGA Pads is a differential pair trace possible, and others in a similar positionnot, I clicked one connector and tried to click the relevant BGA Pads, the route just couldn’t be achieved.
And for the same pair sometimes I could connect it to the connector with differential pairs and sometimes not.

It’s difficult for me to assess the problem without your posting the file.

I do see DRC arrow indicating a Clearance problem/? and Kicad may be ‘Walking-Around’ (per your settings…) Check your settings including DRC settings.

But, first do a simple test of connecting/Dif-pair to Pads with generous spacing… that should confirm your knowledge of using the diff-pair tool…

The yellow arrow is because of unconnected vias, I believe that is not so important. There are totally eight differential pairs which are to be connected, four of them are alreadz connected. And I am considering that spacing might be the issue. The wire width and clerarance is 0.2 mm, it’s demanded by the manufacturer.

And the spacing between BGA Pads is about 0,4 mm.

The values you posted are fine. But…

Be sure to check these three panels: DRC Settings panel, Board Setup panel and Interactive Router panel. Several settings will cause heartburn…

I guess you need some vias first before you can start differential routing.

Read first something about BGA Fanout like AMD Adaptive Computing Documentation Portal

After placing the vais correct you can start the diff routing in an inner or bottom layer.


1 Like

The company you select to make the PCB should have Information on their Website about the requirements for the PCB.

In addition to the links @Rabbit posted, here’s a link to JLCPCB’s info

The issue you appear to have is not about Kicad but, more about the BGA part you select and How you design the PCB (BGA Pad size, Via/Hole size, layers and clearances).

So, it’s important to know what the maker of the PCB needs.

Once you know, you’ll be able to set the Via geometry (and type) and Track-Widths and clearances… and DRC settings.

For the Diff-Pair, you need to place the Tracks on the same layer.

Image below shows inner Diff-Pair Tracks connected…

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