Routing the PCB

Now reading version 20. For the latest, read: Routing the PCB for version 25

 

Parent page: More about PCB Design

Colorful image of PCB routing

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.

Is it Ready to Route?

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.

Prioritizing the Routing

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.

Finding a Net on the Board

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.

Using the PCB Panel to Identify the Net

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.

Use the filter feature to make it easier to find a net or net class.
Use the filter feature to make it easier to find a net or net class.

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).

At the top of the PCB panel there is a drop-down, which can be used to select Normal, Dim or Mask. Dim and Mask are display filter modes, where everything other than the object(s) of interest are faded, leaving only the chosen object(s) at normal display strength. The Dim mode applies the filter but still allows all workspace objects to be edited (dimmed objects retain their color), whereas the Mask mode filters out all other workspace objects, only allowing the unfiltered object(s) to be edited (masked objects are shown in gray scale).

The amount that the display is faded is controlled by the Dim and Mask slider controls, which are in the Mask and Dim Settings section of the View Options tab of the View Configuration panel. Press the L shortcut to display the panel.

To clear the filter, press the Shift+C shortcut. The filtering feature is very effective in a busy workspace, and can also be used in the PCB Rules and Violations panel and the PCB Filter panel.

Changing the Connection Line Color

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.

In the PCB panel, right-click on selected nets to change the color of their connection lines.
In the PCB panel, right-click on selected nets to change the color of their connection lines.

Displaying Connection Lines using the Layer Colors

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.

Connection lines can be displayed using their start-and-end layer colors. In the image on the right, a number of nets have had routing segments removed to show how the connection lines display.  Connection lines can be colored to show their starting and ending layers
Connection lines can be displayed using their start-and-end layer colors. In the image on the right, a number of nets have had routing segments removed to show how the connection lines display.

Displaying Connection Lines in Single Layer Mode

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.

Control the display of connection lines in Single Layer mode.
Control the display of connection lines in Single Layer mode.

Hiding/Displaying Connection Lines

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.

Net Color Override - Displaying the Net Color on Routed Nets

You can also use the net color for routed nets, by enabling the Net Override Color feature.

The color applied to the net can also be used to color the routing of that net
The panel is set to Mask with no selection, and 2 nets have been chosen in the panel. These nets are shown in the workspace, all other objects are masked.
Net YOUT has the override color feature enabled, resulting in the objects in that net being shown as a checkerboard.

To use the Net Color Override feature:

  1. Apply the required color to the net(s) - double-click on the net in the PCB panel (in Nets mode) to open the Edit Net dialog, where the Connection Color can be configured as required. Alternatively, right-click on the net (or selected nets) in the PCB panel and use the Change Net Color command, as explained earlier in the Changing the Connection Line Color section of this page.
  2. Enable Color Override for the net(s) - color override is enabled for each net using the checkbox next to its name in the PCB panel, as shown for the net YOUT in the image below. The checkboxes can be toggled for multiple selected nets via the Right-click » Display Override » Selected On/Off commands.
  3. Configure the Color Override options - the net color overrides the layer color in accordance with the Color Override settings configured in the PCB Editor - Board Insight Color Overrides page of the Preferences dialog, as shown below.
  4. Enable the Net Color Override feature - press F5 to globally toggle the Net Color Override feature on and off, or use the button in the View Options tab of the View Configurations panel.

Use the Color Override feature to help routed nets stand out.
Use the Color Override feature to help routed nets stand out.

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.

  • When zoomed in, any net with the Override Color checkbox enabled will display in the chosen Base Pattern. In the example image above it is a checkerboard mix of layer color and net color.
  • When zoomed out, the Zoom Out Behavior in the image above is for the override (net) color to dominate, as shown in the smaller image on the right.

Example of the Net Color Override feature on one layer of a complex board designAn excellent example of the net color override feature being used to easily identify classes of nets in a high speed design, hover to switch off the override feature.
(image courtesy FEDEVEL Open Source, www.fedevel.com)

The schematic editor also supports applying color to nets, and these color assignments can be passed to the PCB editor.

Learn more about Applying Color to the Nets

Are the Design Rules Defined?

Main articles: Constraining the Design - Design Rules, Design Rules Reference

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.

Three routing width rules have been defined for this board.
Three routing width rules have been defined for this board.

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.

Right-click on a rule type, for example Width, to add a new rule of that type

The Rule Constraints

Main article: Constraining the Design - Design Rules

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.

The Rule Constraints define what is allowed for objects targetted by that rule
The rule constraints define the requirements of this rule. This rule specifies that the routing width for the nets that this rule targets,
must be between 0.1mm and 3mm.

The Rule Scope

Main article: Scoping Design Rules

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 scope of the rule is specified by entering a query that defines what objects this rule will target.
The scope of the rule is specified by entering a query that defines what objects this rule will target.

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.

The Width Rule

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.

The Clearance Constraint

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.

Setting Up the Routing Layers

Main article: Defining the Layer Stack

Routing layers, also referred to as signal layers, are set up in the Layer Stack Manager (Design » Layer Stack Manager), as shown below. Use the right-click or main menu commands to add layers and set their location in the layer stack.

Electrical layers are added in the Layer Stack Manager dialog.
Electrical layers are added in the Layer Stack Manager dialog.

The display of all layers, and the addition of mechanical layers, is controlled in the View Configurations panel (shortcut L) shown below.

The display of all layers is controlled in the View Configurations panel.
The display of all layers is controlled in the View Configurations panel.

Where to Next?

Ready to route? Altium Designer includes a number of interactive routing capabilities, including interactive and differential pair routing tools.

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.

If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Note

The features available depend on your Altium product access level. Compare features included in the various levels of Altium Designer Software Subscription and functionality delivered through applications provided by the Altium 365 platform.

If you don’t see a discussed feature in your software, contact Altium Sales to find out more.

Content