Parent page: More about PCB Design
Working in harmony with the component placement, the routing is the other key factor in the success of your PCB design. Altium Designer includes a number of intuitive interactive routing features to help you efficiently and accurately route your board, from a simple double sided board all the way through to a high density, high speed, multi-layer board. It also includes a differential pair router, and interactive length tuning of both single-sided and differential routes. If your design is dense and has a high net count then you might like to explore ActiveRoute - it's not an autorouter, it is automated interactive routing technology that delivers efficient multi-net routing algorithms, applied to the specific nets or connections selected by you, the designer.
Before you commence routing, it is important that the board is ready. Use this article as a checklist to help you work out if your board is ready, then refer to the lower-level articles to learn more about the various approaches to routing.
There is a saying that PCB design is 90% placement and 10% routing. While you could argue about the percentage of each, it is generally accepted that good component placement is the most important aspect to good board design. Keep in mind that you may need to tune the placement as you route too, perhaps running a test autoroute on a dense area first to see if it is route-able. If the autorouter can complete more than 80% of the nets, then you should be able to interactively route it with that number of layers.
If the design includes high speed nets, then the component placement becomes even more critical. Now you must consider the separation of noisy nets, such as clocks, from quiet nets, such as data lines. You must also consider the distribution of power over the board - referred to as the Power Distribution Network (PDN) - and plan where those critical return paths for the high-speed signals will flow. As part of this process, the placement of bypass and decoupling capacitors is critical. For the routing in and out of the components, the manufacturers often include layout guidelines in the device datasheet - follow these when they are available.
Where to begin, you ask? An autorouter typically routes connections one by one, whereas a human can consider the impact of many connections simultaneously. For the autorouter to have any hope it must do a good job of ordering the connections for routing. It will use factors such as connection length, density of connections, assignment of direction to routing layers, alignment of the connection direction to routing directions, and so on. And if it is any good, it will review the order constantly as it routes. A human will consider these factors as well, but will also use higher-order skills, such as will this set of 16 routes pass between those two components, should these noisy nets be routed on a separate pair of layers from these sensitive nets, and so on.
First route or fan out the power nets. After the power nets, consider the critical signals, such as oscillators, differential pairs, high-speed interfaces, then the quiet nets.
An unrouted board can appear intimidating - a mass of connection lines crisscrossing all over the board. A good approach to routing is to work from the schematic, where you can easily locate important components and critical nets. You can cross-select and cross-probe directly from the schematic components and nets, highlighting the equivalent item on the PCB. To learn more, refer to the Working Between the Schematic and the Board article.
You can also control the display of the connection lines by masking or hiding the nets you are not interested in. Setting the color of important connection lines will also help you manage the routing process. The following sections discuss how to control the display and color of nets.
A valuable feature is the PCB Editor's ability to mask or dim objects in the workspace. This filtering feature will fade out everything, except the object(s) that pass through the filter. The image below shows a single net has been selected, with the filtering system set to Dim all objects that do not pass the filter.
To explore this, set the PCB panel to Nets mode, this will display a list of nets on the board. Use the dropdown to set the filter mode to Dim or Mask, then enable the Select and Zoom options, as shown in the image below.
As you click on a net name in the panel the workspace display will change, zooming to show the nodes in the net, and fading out everything except the pads and connection lines in the net - effectively pulling that net out from the rest of the board. Note that even when you click in the workspace the filter remains, the chosen net remains clearly visible, making it easy to examine or route.
Click the Clear button at the top of the PCB panel to clear the filter and restore the entire workspace to normal brightness (or press the Shift+C shortcut).
Note that as well as an individual net, you can filter out a class of nets (if any classes are defined) in the Net Classes section of the panel, and also interactively select multiple nets (hold CTRL as you click in the PCB panel to select a net name).
When the design is transferred from the schematic into the PCB workspace, default layer and color settings are applied. As part of this process, all of the connection lines are assigned the default Connection Lines color, as defined in the System Colors section of the Layers & Colors tab of the View Configuration panel (L shortcut). View configurations are available for use in both 2D and 3D workspaces, and can be saved and re-applied (View Options tab of the View Configuration panel).
An easy way to make important nets stand out during the routing process is to change the color of their connection lines. To do this, double-click the net name in the PCB panel to open the Edit Net dialog, where you can edit the connection line color (set the panel to Nets mode). Alternatively, to change the color of one or multiple nets, first select the required nets in the PCB panel, then right-click on a selected net and choose the Change Net Color command.
As well as assigning the connection line color for individual nets, you can also display the connection lines using the colors of the start and end layers that the connection line travels between. If a connection line travels from an object on one layer to an object on a different layer, the connection starts in the color of the layer of the first object, then morphs to the color of the layer it ends on, as it approaches the object on that layer (as shown in the image below).
This feature is helpful when you are routing a multi-layer board, as it indicates the target layer that the connection being routed, must go to. Note that color morphing is only applied to connections that travel from one layer to another, if the connection starts and ends on the same layer it retains the assigned net color.
To use the layer color feature, enable the Use Layer Colors for Connection Drawing option in the View Options tab of the View Configurations panel, as shown below.
A multi-layer board is visually dense, making it difficult to interpret what is going on. To help with this, you can easily switch the layer display from the enabled layers to Single Layer mode, by pressing the Shift+S shortcut.
Normally, when you do this, all connection lines that do not either start or end on the current layer are also hidden, as it is assumed that they are not relevant. To always display the connection lines, enable the All Connections in Single Layer Mode option in the View Options tab of the View Configurations panel, as shown below.
As an alternate to filtering nets via the PCB panel, you can completely hide one, many, or all of the connection lines. There are a number of commands to control the display of connection lines in the View » Connections submenu. You can also access these commands while you are working by pressing the N shortcut key.
You can also use the net color for routed nets, by enabling the Net Override Color feature.
To use the Net Color Override feature:
YOUTin the image below. The checkboxes can be toggled for multiple selected nets via the Right-click » Display Override » Selected On/Off commands.
How each net that has the Net Color Override checkbox enabled is displayed in the workspace, depends on the current Color Override settings, as shown above.
Before you start routing, you need to configure the applicable routing design rules. Select Design » Rules from the menus to display the PCB Rules and Constraints Editor dialog. The tree on the left of the dialog shows the 10 rule categories (Electrical, down to Signal Integrity). In each category there are a number of rule types, for example, there are eight different types of routing rules you can define.
Selecting a rule type will display all the rules of that type that are currently defined. The image below shows three routing width rules that have been defined for a board. Note the rule priority, this defines the precedence that the rules are applied, with 1 being the highest. The rules engine searches for the highest applicable rule when an object is being checked for rule compliance.
Click on an individual rule name in the tree on the left of the dialog to display the settings for that rule. There are two distinct parts to every design rule, the constraint - what are my requirements?, and the scope - what do I want this rule to target? Using the routing width design rule as an example, let's look at this in more detail.
Rule constraints specify the settings or limits you want applied to the objects targeted by this rule.
For the Width rule, constraints define the minimum, preferred and maximum widths of the track segments that make up the routing. Note that the min / preferred / max settings can also be defined for each of layer of the board, an important feature for controlled impedance routing. A handy feature is the ability to change the routing width as you route, between the minimum and maximum settings, you can read more about this in the Interactive Routing article.
Altium Designer has a powerful and flexible rule definition system, making it possible to exactly specify the design requirements, however complex they might be. Rather than defining routing requirements as attributes of the objects, design rules are defined separately, and then target the objects they apply to via the rule's scope - along the lines of 'I want this rule to apply to those objects'.
The rule scoping system uses the filtering engine that underlies the PCB editor, to target the objects that it applies to. Ultimately each rule scope becomes a query, but for many rule scopes you can define it by selecting options from dropdown lists. For example, in the image above the query is targeting the
GND net - this actually becomes a query, of the form
InNet('GND'). When there is no suitable option in the dropdown you choose the Custom Query option, and then use the Query Builder to walk through the process of creating a query, or write one directly yourself, using the Query Helper if needed.
It is this ability to exactly scope each rule, in combination with the ability to assign each rule's priority that gives you complete control over the PCB design requirements.
Rule reference: Width
The most basic routing rule is the Routing Width rule, which determines the width that the nets will be routed at. As a minimum, your design will have one width rule, targeting all nets on the board.
It is not good design practice to have only one width rule for a board, with the minimum width set to the smallest routing width you need on the board, and the maximum set to the widest route you need. A better approach is to have one rule that targets the largest number of nets, with a scope of All. You then add extra rules that target individual nets or classes of nets, such the GND net, or the PowerNets net class (if such a class has been created). Set these rules to have a higher priority, so whenever you start to route one of these nets the higher priority rule will override the All nets rule, giving you the correct routing width. Suitable Width rules need to be defined before you start routing.
Rules reference: Clearance Constraint
The partner to the width rule is the clearance constraint, which defines how close the net you are routing is allowed to get to other objects on the board. Again you can define multiple clearance constraints, to keep higher voltage nets or differential pair nets away from other routing, to keep polygon pours a specific distance from routing, and so on. Suitable Clearance Constraints need to be defined before you start routing.
Refer to the PCB Design Rules Reference to learn more about design rules.
Main article: Defining the Layer Stack
Routing layers, also referred to as signal layers, are set up in the Layer Stack Manager dialog (Design » Layer Stack Manager), as shown below. Use the dialog controls to add layers and set their location in the layer stack.
Check out the Layer Stack Manager dialog to learn more about configuring the fabrication layers.
The display of all layers, and the addition of mechanical layers, is controlled in the View Configurations panel (shortcut L) shown below.
Check out the View Configurations panel to learn more about configuring the display of layers.
You also might like to explore ActiveRoute, an automated interactive routing technology that delivers efficient multi-net routing algorithms, applied to the specific nets or connections selected by the designer. ActiveRoute also allows the designer to interactively define a route path or Guide, which then defines the river along which the new routes will flow.