Altium Designer Documentation

ActiveRoute

Modified by Phil Loughhead on Oct 22, 2018

Parent page: The Routing

One of the most time consuming phases of board design is routing the nets. While the rules system handles the design constraints, such as the widths, via sizes, clearances, and so on, it is down to the designer to place the many thousands of track segments required to fully route a board.

Autorouters can ease this pain, but are generally regarded as inadequate, because:

  • They fail to correctly consider the myriad of subtle design constraints that a human designer instinctively applies as they route.
  • They take so long to fully configure that it is often more efficient to simply get on with routing the board interactively.
  • The cleanup can be such a long and difficult process that it is often more efficient to route the board interactively.

The holy grail of PCB routing is to quickly produce high quality results, that meet the design rules, under the control of the designer. This is the challenge that ActiveRoute sets out to achieve.

Complimenting, but separate to ActiveRoute are the Glossing and Retrace features. These can be used to improve the quality of any existing routing, regardless of how it was created.

What is ActiveRoute?

ActiveRoute is 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.

The key ActiveRoute features that make this approach significantly better than a combination of regular interactive routing and auto routing, include:

  1. Automatic optimization of the escape routes out of pin/via arrays - the most time consuming aspect of manual routing.
  2. High performance - signal nets routed < 1 second each.
  3. Obeys design rules for width, clearance, layers, topology & rooms by net and net class, observing priorities.
  4. Routes on multiple layers simultaneously and distributes the routes across those layers.
  5. An intuitive Route Guide that the designer can use to direct the placement of routes.
  6. Uses a River Route approach to give high completion rates without the need for vias.
  7. Able to route through polygon planes and re-pour them (if the re-pour option is enabled).
  8. Supports both single-ended and differential pair nets.
  9. Finishes with a powerful glossing tool that further reduces the number of corners and improves the overall look of the routing.

What ActiveRoute is Not

ActiveRoute is not an autorouter, it is a guided interactive router which focuses on clean, high-quality routing of a set of selected nets. Use ActiveRoute in the same way as you would approach the interactive routing task - choose the nets of interest, enable the layers you would like those nets routed on, think about the path they should follow, and route them.

If you select all of the nets on the board and ActiveRoute them, it is likely that you will be disappointed - ActiveRoute is not an autorouter, it cannot place vias and does not include power net routing strategies.

The PCB ActiveRoute Panel

Panel page: PCB ActiveRoute

ActiveRoute follows the criteria and restrictions defined by the PCB design rules, so using it is simply a matter of selecting the connections or nets of interest, and running it. It does have a number of specific control features, these are configured in the PCB ActiveRoute panel. It is highly recommend that the PCB ActiveRoute panel be opened prior to starting ActiveRoute.

To open the PCB ActiveRoute panel, when a PCB is the active document: 

  • Click the  button at the bottom-right of the work area, and select the PCB ActiveRoute menu option.
  • Click View » Panels » PCB ActiveRoute.

Use the PCB ActiveRoute panel to control the ActiveRoute process.

The PCB ActiveRoute panel is used to:

  • Enable the signal layers that ActiveRoute can route connections on.
  • Perform an ActiveRoute on the selected connections.
  • Enable a post-ActiveRoute Glossing pass.
  • Define a Route Guide.
    • Configure the track-to-track spacing you would like to be used within the Route Guide.
  • Configure and enable length tuning of the routes placed by ActiveRoute.
  • Configure the Meander option, allowing ActiveRoute to define a longer routing path, which may help increase the completion rate.
  • Configure and enable pin swapping. ActiveRoute can pin swap during routing to help improve the routing quality.

Additional ActiveRoute Features

ActiveRoute is an automated interactive router, using it is simple and straightforward - select the connections, then press Shift+A to ActiveRoute them, in accordance with the design rules. ActiveRoute includes a number of other features and controls, giving the designer greater control over certain features and abilities.

These include:

  • Define the routing path and track spacing, by placing a Route Guide
  • Allow a longer route path with the Meander control
  • Automatically match the route lengths with length tuning
  • Allow pin swapping to simplify the routing challenge

Let's look at each of these in more details.

Define the Path with the Route Guide

One of the primary objectives of ActiveRoute is to find the shortest overall set of route lengths, which may not be the desired path for every set of connections. The Route Guide provides the designer with a tool they can use to draft a specific path they would like the selected connections to flow along, even if that path is not the shortest.

  • Defining the Route Guide - first select the connections that are to be routed within the guide, click the  button in the PCB ActiveRoute panel, then click to define the guide start location, and continue to move the mouse and click to define the path. Once the path is defined, click the ActiveRoute button to route the selected connections along that path. Refer to the Define a Route Guide section later in this page for more details.

Avoid drawing the end-points of the Route Guide on top of the pads you want to route. The quality of the pad exits will be better if they are not included inside the Route Guide.

  • Changing the Route Guide Width - during Route Guide placement, the guide can be made wider or narrower by pressing the  or  keys. The default width is the sum of the applicable width+clearance design rules for the selected connections, divided by the number of layers, multiplied by 1.3. Press the Backspace key to unwind the Guide if you need to define a different path.
  • The Route Guide color - is determined by the layers made available for the ActiveRoute of the selected connections - if there is a single layer enabled it is drawn in that layer color, if there are multiple layers enabled it is drawn in the default Route Guide color.
  • The track spacing within the Route Guide - the default behavior is that ActiveRoute spaces the routes in accordance with the design rules, it does not attempt to spread, or use all of the space available within a Route Guide. To spread the routes within a Route Guide, use the Track-Track Space in Route Guide feature, as described later in this page.

A simple animation showing a Route Guide being placed, with the width being changed interactively during placement.

Route Guide Width

The default width is the sum of the applicable width+clearance design rules for the selected connections, divided by the number of layers, multiplied by 1.3. 

  • RouteGuideWidth = ((W+C)/#Layers)*1.3)
  • The Guide is expanded by a default value of 1.3, to ensure the routes will fit and enable them to wrap around obstacles, like vias, in the way of the path. The width is a hard boundary for the routing, if the routes do not fit then they are not placed.
  • During Guide placement, the width can be increased / decreased by pressing the  or  keys on the keyboard. The minimum size uses a multiplier of 1.0, the maximum size uses a multiplier of 10.0.

Editing the Guide

The Route Guide is a set of tracks, placed on a mechanical layer.

  • The track segments are locked by default, if you unlock them you can re-shape the Guide, using the standard track dragging techniques.
  • To remove the Guide, double-click on any segment to select it, then press the Delete key.

Track-Track Space Within the Route Guide

Using the Track-Track Space in Route Guide feature, you can instruct ActiveRoute to spread the routes across the width of the Route Guide. Use the slider to select a spacing value, or type a value into the edit box. The Route Guide will automatically be sized to take this setting into account, to achieve this you must configure the Track-Track Space in Route Guide setting before placing the Route Guide. You can further adjust the width of Route Guide during placement, by pressing the  and  down keys.

Use the Track-Track Space feature to spread the routes in the Route Guide.

Allow the Routes to Meander

ActiveRoute attempts to route the selected connections along the shortest possible path, or in other words, using the minimum amount of meandering. If the ActiveRoute completion rate is lower than expected, the new Meander control allows the designer to increase the amount of meander that ActiveRoute is allowed, which may help raise the completion rate. The default maximum Meander setting is 100%, meaning the routes are allowed to have a total route length of Manhattan Length + 100% of Manhattan Length. Use the slider to select a meander value, or type a percentage into the edit box.

Note that the meander setting is ignored when the Route Guide is used, because the Route Guide is intended to be used to define a path which may significantly increase the meander. 

Tuning the Route Lengths

ActiveRoute can apply length tuning to connections currently being routed, or to selected existing routes. ActiveRoute will attempt to meet the selected Matched Length design rule.

To configure ActiveRoute to length tune:

  • Enable the Tune Selected checkbox in the Action section of the panel.
  • Enable the required Matched Length design rule in the Tune section of the panel.
  • Configure the required Max Amplitude and Min Space settings (either Single Ended, or Differential Pair) in the Tune section of the panel.

Currently only the Mitered Lines tuning style is available, with a corner miter of approximately 20%. The accordions placed by ActiveRoute are also not Unions. ActiveRoute length tuning support is under ongoing development, with other tuning styles and accordion Unions being evaluated.

To learn more about the Length Tuning settings, refer to the Length Tuning section on the PCB ActiveRoute panel page.

Pin Swapping

The software includes a powerful pin and part swapping system, linked between the schematic and PCB editors. ActiveRoute can access the pin swap settings, and swap pins during routing if it reduces the overall route length and improves the route quality.

To use pin swapping:

  • Before any pin swapping can be performed (interactively or by ActiveRoute), the project must be compiled (Project menu) each time it is opened.
  • To configure and manage the pin swapping settings for components, run the Tools » Pin/Part Swapping » Configure command, opening the Configure Swapping Information in Components dialog.
  • Enable the Pin Swap Routing option in the Action section of the PCB ActiveRoute panel.
  • Enable the required components in the Pin Swap section of the PCB ActiveRoute panel.

To learn more about the pin swapping feature, refer to the Pin, Pair and Part Swapping page.

Setting up to ActiveRoute

ActiveRoute requires the nets to be selected, having net classes can greatly assist in the selection process when there is a high number of nets to be ActiveRouted. Refer to the Selection Techniques section later in this article to learn more about the best ways to select connections.

ActiveRoute can route through existing polygons if the Repour Polygons after Modification option is enabled in the PCB Editor - General page of the Preferences dialog. Alternatively, polygons can be shelved (made invisible, but retained in the design), using the Tools » Polygon Pours » Shelve Polygons command.

  • Clearances – ActiveRoute obeys the applicable clearance design rules, applying them in order of their priority.
  • Routing Widths – It uses the Preferred setting of the applicable width rules. As with interactive routing, to change widths in an area, for example when the route passes under a BGA, define a Room which applies a width design rule with a narrower Preferred width. If you can’t route it manually with the preferred width, ActiveRoute can’t either.
  • Diff Pairs – ActiveRoute can route differential pairs. Ensure that the diff pairs are correctly defined (check in the Differential Pairs Editor mode of the PCB panel), and confirm that the Differential Pairs Routing rule(s) are correctly configured (Preferred values are used).
  • Pad Entry – ActiveRoute attempts to use the most direct path in/out of a pad that obeys rules, without creating acute angles. It obeys the SMT to Corner and SMT Pad Entry rules, but does not always center the track in the pad (as the Interactive Router does when the SMT to Corner rule is enabled). It includes special algorithms for differential pair pads, focusing on pair coupling while maintaining neatness.

ActiveRoute will follow the pattern of the connection lines. If you have a set of nets that need a specific topology, for example a DDR3/4 fly-by, you can define the from-to order using xSignals. The xSignal Wizard (Design » xSignals » Run xSignals Wizard) can create xSignals for designs that include DDR3/4 and USB 3.0 -type signaling. Alternatively, point-to-point connection line patterns can be defined for a net by creating From-Tos, in the From-To Editor mode of the PCB panel.

ActiveRoute does not place vias, so you must create fanouts for BGAs, connectors, and discrete components that use SMT pins (except for those pins to be routed on outer layers).

ActiveRoute is for signal nets, it ignores nets assigned to power planes, and nets that contain more than 20 pins (these are assumed to be power nets). If you want to use ActiveRoute on a previously completed design, delete the signal routes, but keep the power and ground routing, and the fanouts.

Enable the required routing layers in the PCB ActiveRoute panel, more on this below.

ActiveRoute has access to the new Gloss feature (Route » Gloss Selected), which it runs automatically as part of the ActiveRoute process.

The most common reason for ActiveRoute to fail is not enough room for the track(s) to fit – it is important to make sure the width and clearance rules are correctly configured.

Selection Techniques

ActiveRoute needs to know which connections/nets you want to route - you do this by selecting them. Connection lines can be selected directly, or you can select an existing route object, such as a pin, track, via or component, to indicate which connections/nets you want to ActiveRoute.

Use the following key/mouse combinations to select the required objects:

To Select Use Mouse + Keys Outcome
Connections ActiveRoute will route the selected connections with the Preferred rule setting. The Status bar will display the number of connections just selected, until the cursor moves over another object.
Existing routing ActiveRoute will route the connection attached to the selected track, using that track's width.
Component pads ActiveRoute will route all connections from the selected pads, with the Preferred rule setting.
Additional connections / nets + combinations shown above Add additional objects to the current selection.
Other objects in the net

First press of Tab adds other objects on layer(s) the selected object touches.

Second press of Tab adds all same-net objects on other layers.

Continue to press Tab to cycle through the available selection states.

In Altium Designer, selection can either be objects that are Within the selection rectangle, or Touching the selection rectangle. This is controlled by the direction you move the mouse as you draw the selection rectangle:

 Select Within - click and drag a blue rectangle from Left to Right to select all visible, unlocked objects that are completely within the selection rectangle.
Select Touching - click and drag a green rectangle from Right to Left to select all visible, unlocked objects that touch the selection rectangle.

Use the selection techniques to quickly select connections for routing, or deletion.

Selected nets are routed at the Preferred width defined in the applicable Routing Width design rule. There is one exception to this, if the selected object is a dangling track stub, then that width is used.

Performing an ActiveRoute

To perform an ActiveRoute:

Using the techniques described above, select the connections/nets to be routed. The Status bar will display the number of connections just selected, until the cursor moves over another object.

In the PCB ActiveRoute panel, enable the layer(s) that the selected connections are to be routed on. ActiveRoute will distribute the routes across these layers.

If no layer is selected, then it will route on the Active Layer, which is the selected tab at the bottom of the main PCB editor window.

The PCB ActiveRoute panel allows you to select which layers to route on, create a Route Guide, and to start ActiveRoute. 

The PCB ActiveRoute panel can be opened like any other PCB panel, and then docked as desired.

To place a Route Guide:

  1. Select the connections you would like routed along the Route Guide. The Status bar will display the number of connections just selected, until the cursor moves over another object.
  2. Click the Route Guide button in the PCB ActiveRoute panel.
  3. The cursor will appear to be holding all of the selected connections, indicating that this set of connections must flow through the Guide. Move the cursor to a suitable start location, at either end of the path you wish to define.
  4. Click to define the start location of the Guide, allowing room for the incoming connections to flow into the curved end of the Guide.
  5. The Guide is placed as if it is a very wide track, move the cursor to the location of the first corner that the Guide must make, then click to define that corner.
  6. Continue this process of path definition, stopping some distance away from where the connection lines terminate, allowing room for the connections to flow out of the Guide to their target pads / vias / track ends.
  7. Press the Up Arrow key to widen the Guide, or the Down Arrow key to narrow the Guide.
  8. Press Backspace to rip up the last Guide corner.
  9. Right-click to drop out of Guide placement mode.

Only one Route Guide can be defined at any time.

To run ActiveRoute, you can:

  • Select the Route » ActiveRoute command.
  • Click the ActiveRoute toolbar button on the Active Bar ( ).
  • Click the ActiveRoute button in the PCB ActiveRoute panel.
  • Use the Shift+A shortcut.
  • The PCB Editor's Status Bar show the ActiveRoute progress.
  • The Messages panel reports on the completion rates.

Building Your Proficiency

  1. A key ingredient to ActiveRoute proficiency is becoming fluent with the shortcuts. The key sequences you will use most often are:
    • Alt+Click - to select an individual connection line.
    • Alt+Click&Drag - to select connections within an area, drag from right to left to select all touched connections, or left to right to only select what fits inside the selection rectangle. Press Tab to extend the selection to include other connections in the same net(s). The Status bar will display the number of connections just selected, until the cursor moves over another object.
    • Ctrl+Click&Drag - to select pads in a component, drag from right to left to select all touched pads, or left to right to only select what fits inside the selection rectangle. Press Tab to extend the selection to include other route objects in the same net(s). Keep pressing Tab to cycle through all possible selection states.
    • Click&Drag - to select existing track segments, drag from right to left to select all touched tracks, or left to right to only select what fits inside the selection rectangle. Press Tab to extend the selection to include other route objects in the same net(s). Keep pressing Tab to cycle through all possible selection states.
    • Include Shift to retain the current selection, while performing another selection.
    • Shift+A to ActiveRoute the current selection.
    • Ctrl+Alt+G - to Gloss the current selection.
  2. Selection actions are only performed on objects that are visible:
    • Press Shift+S to cycle in (out) of single layer mode, so only the layer of interest is showing.
    • If the design uses placement rooms, they can be locked as part of their definition in the Design Rules, or they can be hidden to prevent them being selected/moved during Click&Drag actions. Rooms can be hidden in the View Options tab of the View Configurations panel.
  3. Fanout SMD pads. ActiveRoute does not change layers, so you will need to fanout SMD pads. To accelerate the fanout process:
    • While routing a connection, press the / shortcut (numeric keypad) to drop a via and release this connection. Use the 2 shortcut if you don't have a numeric keypad (drops a via without suspending).
    • Copy and paste an existing fanout, the PCB editor will automatically update the net names. This can be done for multiple fanouts.
  4. Preserve existing fanouts. ActiveRoute will modify fanouts if it sees a better solution, lock them if you do not want them changed. The easiest way to lock fanouts is to select the fanout tracks & vias (use the Selection Filter at the top of the Properties panel to help with this process), press F11 to open the Properties panel, and enable the Locked checkbox. This will lock all selected objects in a single action.
  5. If you use a Route Guide and find that the completion rate is low, it may be that there are too many obstacles along the path and the Guide needs to be wider. Press the Up arrow key to widen the Guide during placement.
  6. When ActiveRoute is finished, it applies glossing if it is enabled in the PCB ActiveRoute panel. The Gloss command (Route » Gloss Selected) can be used to smooth out tracks and improve the pad entries of any routing, not just ActiveRoutes. Particular attention has been applied to ensuring high-quality pad entries for differential pairs. To learn more about glossing, refer to the Glossing and Retrace page.
  7. If ActiveRoute does not work, it is usually because the rules are not properly configured. Check that the rules are appropriate, for example the default rules that exist in a new PCB file might be too large for a high density BGA-type design.
  8. ActiveRoute observes the routing rules configured for widths, clearances, diff pair gaps, by layer, by room, and by class. ActiveRoute does not route with arcs or any-angle tracks.

 

 

Found an issue with this document? Highlight the area, then use Ctrl+Enter to report it.

Contact Us

Contact our corporate or local offices directly.

You are reporting an issue with the following selected text
and/or image within the active document:
ALTIUM DESIGNER FREE TRIAL
Altium Designer Free Trial
Let’s get started. First off, are you or your organization already using Altium Designer?

If would like to speak with a representative, please contact your local Altium office.
Copyright © 2019 Altium Limited

In that case, why do you need an evaluation license?

If would like to speak with a representative, please contact your local Altium office.
Copyright © 2019 Altium Limited

Got it. You actually don’t need an evaluation license for that.

Click the button below to download the latest Altium Designer installer.

Download Altium Designer Installer

If would like to speak with a representative, please contact your local Altium office.
Copyright © 2019 Altium Limited

Please fill out the form below to get a quote for a new seat of Altium Designer.

By clicking “Get Your Free Trial”, you are agreeing to our Privacy Policy.
You may receive communications from Altium and can change your notification preferences at any time.

If you are on Altium Subscription, you don’t need an evaluation license.

If you are not an active Altium Subscription member, please fill out the form below to get your free trial.

By clicking “Get Your Free Trial”, you are agreeing to our Privacy Policy.
You may receive communications from Altium and can change your notification preferences at any time.

Why are you looking to evaluate Altium Designer?

If would like to speak with a representative, please contact your local Altium office.
Copyright © 2019 Altium Limited

You came to the right place! Please fill out the form below to get your free trial started.

By clicking “Get Your Free Trial”, you are agreeing to our Privacy Policy.
You may receive communications from Altium and can change your notification preferences at any time.

Sounds exciting! Did you know we offer special discounted student licenses? For more information, click here.

In the meantime, feel free to request a free trial by filling out the form below.

By clicking “Get Your Free Trial”, you are agreeing to our Privacy Policy.
You may receive communications from Altium and can change your notification preferences at any time.

Got it. You can download a free Altium Designer Viewer license which is valid for a 6 months.

Please fill out the form below to request one.

By clicking “Get Your Free Trial”, you are agreeing to our Privacy Policy.
You may receive communications from Altium and can change your notification preferences at any time.

That’s great! Making things is awesome. We have the perfect program for you.

Upverter is a free community-driven platform designed specifically to meet the needs of makers like you.

Click here to give it a try!

If would like to speak with a representative, please contact your local Altium office.
Copyright © 2019 Altium Limited

Got it. You can download a free Altium Designer Viewer license which is valid for a 6 months.

Please fill out the form below to request one.

By clicking “Get Your Free Trial”, you are agreeing to our Privacy Policy.
You may receive communications from Altium and can change your notification preferences at any time.