ActiveRoute

Now reading version 20.2. For the latest, read: ActiveRoute for version 25
 

Parent page: The Routing

Concept image showing 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.

Improving the Completed Routes

Complementing, 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.

Glossing defaults to on and will run when ActiveRoute completes - this can be disabled in the PCB ActiveRoute panel if required. Glossing also has its own set of options, including the ability to curve the routing corners.

Learn more about Glossing and Retracing

What is ActiveRoute?

ActiveRoute is an automated interactive routing technology that delivers efficient multi-net routing algorithms, which is 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:

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

What ActiveRoute is Not

ActiveRoute is not an autorouter. It is a guided interactive router that 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 on which you would like those nets routed, 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 that are configured in the PCB ActiveRoute panel. It is highly recommended 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  Panels button, click to enable the display of workspace panels available in the current editor button at the bottom-right of the workspace then select the PCB ActiveRoute menu option.
  • Click View » Panels » PCB ActiveRoute.

Use the PCB ActiveRoute panel to control the ActiveRoute process.Use the PCB ActiveRoute panel to control the ActiveRoute process.

The PCB ActiveRoute panel is used to:

  • Enable the signal layers on which ActiveRoute can route connections.
  • 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 and 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 detail.

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  Route Guide button, click to define a route guide that ActiveRoute will then attempt to route the selected nets along 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 on 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  Keyboard Up arrow key or  Keyboard Down arrow key 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 - 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 video 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  Keyboard Up arrow key or  Keyboard Down arrow key 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 the Route Guide during placement by pressing the  Keyboard Up arrow key and  Keyboard Down arrow key 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 Meander control allows you 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 that 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 region of the panel.
  • Enable the required Matched Length design rule in the Tune region of the panel.
  • Configure the required Max Amplitude and Min Space settings (either Single Ended, or Differential Pair) in the Tune region of the panel.

PCB ActiveRoute panel, Tune section is used to configure the tuning shapes added by ActiveRoute to match the route lengths

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 ActiveRoute Length Tuning settings, refer to the Length Tuning section on the PCB ActiveRoute panel page.

To learn more about Length Tuning existing routes using adjustable accordion shapes, refer to the Length Tuning article.

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 to open the Configure Swapping Information in Components dialog.
  • Enable the Pin Swap Routing option in the Action region of the PCB ActiveRoute panel.
  • Enable the required components in the Pin Swap region of the PCB ActiveRoute panel.

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

Setting Up to ActiveRoute

ActiveRoute has access to the Gloss feature (Route » Gloss Selected), which runs automatically as part of the ActiveRoute process if it is enabled in the PCB ActiveRoute panel.

The most common reason for ActiveRoute to fail is not enough room for the track(s) to fit, therefore, 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 after running ActiveRoute
Connections Hold Alt down, then left mouse click and drag from right to left to select all connection lines that are touched 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 Mouse left click and drag from right to left, selects objects that are touched by the selection box Route the connection attached to the selected track using that track's width.
Component pads Hold Ctrl down, then left mouse click and drag from right to left to select all component pads that are touched Route all connections from the selected pads with the Preferred rule setting.
Additional connections / nets Shift button, hold down to retain the current selection while adding additional objects to the selection set + combinations shown above Add additional objects to the current selection.
Other objects in the net Tab button, used to cycle through the set of objects currently selected

First, clicking Tab adds other objects on layer(s) the selected object touches.

Second, clicking Tab adds all same-net objects on other layers.

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

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:

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 (except for Ctrl+A):
    • 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 from being selected/moved during Click&Drag actions. Rooms can be hidden in the View Options tab of the View Configuration 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 do not 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 or locks them if you do not want them changed. The easiest way to lock fanouts is to select the fanout tracks and 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 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 Retracing 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.
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