In our previous tutorial, we demonstrated how to place components in KiCad. Now, we will show you how to route differential pairs. So we assume that you know how to import components from your netlist and place them.
What is routing?
Routing is simply the process of wiring between the components placed in the PCB design while following all the design rules. The design rules vary depending on the type of signals traversing in traces and sometimes rules vary layer to layer.
You can check 11 best high-speed PCB routing practices.
How to route differential pairs in KiCad
The most critical tracks in routing are the differential pair lines. Both wires in the differential pair should be identical in length and width. We need to make sure that they are routed properly and are separated by any other high-frequency signal. But if there are multiple differential pairs then there must be at least a 5W gap between them. 5W is five times the width of the differential pair.
Before routing, let’s take a look at these three circles. These are called fiducials.
Fiducials are normally not connected in the circuit, but they are required as a reference during manufacturing to indicate the proper orientation of the board. It will also help you when you place components in KiCad. Click them and place them in three corners.
Select each fiducial > drag and place them in three corners.
Let’s start the routing process by planning the layers. In the PCB stack-up, we have used Layer 1 and Layer 4 as signal layers, which will be used for proper track routing. And Layer 2 and Layer 3 are power planes, so they won’t have any tracks. We will fill the complete area with copper. Layer 2 will be ground so we can route the differential pair on the first layer. And even then, after the first layer, the reference for the differential pair should be ground.
We need to make sure that the differential tracks are covered by the reference ground over their entire length. There shouldn’t be any cut in Layer 2. If there is a discontinuity, the overall impedance of this 90-ohm differential pair will mismatch and it might affect the signals.
Now, let’s place our plane layers.
How to pour ground in Kicad
There are two types of grounds here: there is GND for ground and there is GND PWR for ground power, which are connected to the shield of the USB connector.
So, we will require two types of planes, ground and ground power. But the ground power is not going anywhere in the circuit. In Layer 2, we will pour ground for only in the GND PWR portion and we will keep the remaining portion in the ground. For pouring ground, on the right-hand side, there is an option called Add filled zones.
Go to toolbar on the right-hand side > click on Add filled zones icon > click on where you want to start > a window will pop up.
Click where you want to start. A window pops up with various nets. Select which net you want to pour. We will select the ground power and indicate on which layer we want to pour, which is Layer 2. You can see the clearance is 20 mils. So, when you pour, there will be a distance of 20 mils from any other component in the circuit.
For corner smoothing, select Chamfer and mention 5 mils so when you draw a square or a rectangle with 90-degree angles, it will automatically make them 45 degrees with a chamfer of 5 mils. Click Ok and draw your shape while making sure to do a complete loop.
Now you can see the portion around GND PWR is connected over here but it is not completely connected. This is basically a thermal connection. To make it solid:
Go to Copper Zone Properties > Pad Connections > choose solid.
Now it is completely connected and we have poured this ground. If you select on the right-hand side GND or Layer 2, you can see the poured layer.
The next step is to pour the remaining portion with your component ground. Repeat the same pr but this time choose the ground (GND) net instead of GND PWR.
Draw on the required portion for the GND section and click icon to save the file. Now you have routed the ground layer. It looks like the one shown in the below picture.
Like this, we have to pour the power layer. There are two types of power here one coming from the regulator and from the USB. In the USB portion, we have used the VCC connection, and we can use the remaining portion for the +5V. That will be in Layer 2. Now, we will route the differential pair first.
Differential pair length tuning
Now, let us see the routing of the differential pair. Any net defined with ending as ‘+‘ and ‘–‘ are considered as differential pairs. Here it is already defined in the schematic that this is D+ and D-.
You need to set up certain rules. Here, we have set the differential tracks and spacing as 8 mils. Let’s start to route differential pairs in KiCad.
Go to Route option > choose Differential Pair > click on any of the differential tracks > drag to draw the track.
Go to Route at the top and choose Differential Pair. As you can see, the line on the top layer is not above the ground plane, so we will have to adjust that later. You can see the tracks are above the ground on Layer 2. Draw the complete track, make sure the tracks are above the ground layer 2. If the track lines go out of the ground plane, you have to adjust it.
And one more thing you need to make sure is that all these tracks have an equal length. For that,
Go to Route > click tune differential pair skew/phase > click on any of the track.
When you click on the track, you can see the length of skew. Length of both tracks should be the same. If it is different, you need to increase the length of shorter track to match with the longer track. To change the length of the track,
Right-click on the track > select Length tunning setting > a window will pop up.
There will be a bump in the shorter track in order to increase its length, so we have to set the dimensions of skew in this pop-up.
The spacing between the differential pair is set up to 8 mils. Set the minimum space to 8 mils as well. The spacing should be three times the width, hence, 24 mils. Once you’re done, drag your cursor over the differential pair and if the tuned skew is green, the tracks have an equal length. Repeat this action for all the pairs you have.
You can see over here, this differential pair we have already routed. When we click it, it says that it is tuned. The differential routing is done.
This is how the completed design looks like.
This is how we route differential pairs in KiCad. You should do routing for one more layer if you are using a double-sided PCB. One thing we must tell you is to follow the schematic while you do the routing. It can help you to route differential pairs in KiCad.
Sierra Circuits has developed a KiCad PCB plugin that can be integrated into the design tool and enables you to get your quote instanty without exiting the KiCad UI.
KiCad Design Guide8 Chapters - 98 Pages - 110 Minute Read
- Creating a component symbol library
- Setting up board parameters and rules
- How to route differential pairs
- How to place of components