Re-routing & Rearranging Existing Routes

This document is no longer available beyond version 21. Information can now be found here: Glossing & Retracing of Existing Routes for version 24

 

Routing a board can be a complex and time-consuming process as you work to position the components and complete the routing - move that component slightly, shove that routing, re-route those critical nets to avoid potential cross-talk, now see if that bus can be routed through that area, and so on. As you route your board, you will be constantly modifying routing that you have already done.

There are two approaches to modifying the routing; you can either reroute or re-arrange

Rerouting is ideal when the new route path is more complex than simply moving a few track segments. Rerouting is performed in the same way as the initial routing using the Interactive Routing (or Interactive Differential Pair Routing) command - when you complete the new route path the old loop of redundant track segments is removed.

Alternatively, you can re-arrange the routing. To re-arrange existing routing, click and hold on a track segment then drag it to its new location. Connected track segments will remain connected at the angle they were previously connected - a behavior called interactive sliding. Interactive sliding also supports the Conflict Resolution Modes, including Push, Hug and Push, and Ignore.

Move - to move an object without regard to other objects that connect to it.

Drag - to move an object and have any connected objects remain connected to it. The connected objects may or may not retain their original placement angle.

Slide - to move a routing object and have the connected objects remain connected, with those objects retaining their original placement angle.

As well as using one of the Route » Un-Route commands to remove existing routing, it can often be quicker to select the track segments and delete them. Check out the Strategies for Selecting the Routing section for tips and techniques on selecting routing.

Reroute an Existing Route

  • There is no need to un-route a connection to redefine its path; simply click the Interactive Routing button on the Active Bar ( A simple animation showing the Loop Removal feature being used to modify existing routing.) and start routing the new path.
  • The Loop Removal feature will automatically remove any redundant track segments (and vias) as soon as you close the loop and right-click to indicate you are done.
  • You can start and end the new route path at any point, swapping layers as required.
  • You can also create temporary violations by switching to Ignore Obstacle mode (as shown in the video below), which you later resolve.

A simple animation showing the Loop Removal feature being used to modify existing routing.

Rearrange Existing Routes

  • To interactively slide or drag track segments across the board, click, hold and drag as shown in the video below.
  • The default dragging behavior is configured on the PCB Editor - Interactive Routing page of the Preferences dialog.
  • The PCB editor will automatically maintain the 45/90 degree angles with connected segments, shortening and lengthening them as required.

A demonstration of interactive sliding being used to modify the existing routing.

Interactive Sliding Tips

  • While sliding a route you can move the cursor and hotspot snap it to an existing, non-moving object such as a pad. Use this to help align the new segment location with an existing object and avoid very small segments being added.
  • During sliding, one of the Routing Conflict Resolution modes applies. Press Shift+R to cycle through the modes as you drag a track segment.
  • To convert a 90-degree corner to a 45-degree route, start dragging on the corner vertex.
  • The interactive sliding engine includes algorithms specifically for dragging a vertex (corner), configure the Vertex Action in the Preferences dialog, or in the Interactive Sliding mode of the Properties panel. Press the Spacebar to cycle through the modes as you drag a vertex.
  • To break a single segment, select the segment first, then position the cursor over the center vertex to add in new segments.
  • Existing pads and vias will be jumped, or vias will be pushed if necessary and possible when the Allow Via Pushing option is enabled.   
  • Interactive sliding supports non-orthogonal routing.
  • The default behavior is to drag (slide) tracks (selected or unselected). If you need to move a segment without maintaining its connection to the attached segments, change the default dragging behavior using either the Unselected via/track or the Selected via/track options on the PCB Editor - Interactive Routing page of the Preferences dialog.

Modifying T-Junctions

There is specific support for interactively modifying a T-junction - click and drag on the junction point to modify a T-junction.


Examples of the T-Junction dragging capabilities.

Interactive Via Dragging

PCB designers can spend a lot of time adjusting the routing, perhaps due to a late design change, or to achieve completion of their design. This can mean pushing and shoving existing routing, dragging vias, and nudging components.

Adjust the via dragging behavior in the Properties panel.Adjust the via dragging behavior in the Properties panel.

Complimenting the support for glossing of neighbor routes, via dragging is also supported. Via dragging supports Neighbor Glossing, configured through the Interactive Via Dragging mode of the PCB editor's Properties panel. Press Tab during via dragging to access the panel and adjust the settings.

Press Tab as you drag to configure the Via Dragging options.

Differential Pair Dragging

To recognize the members in a differential pair, the concept of Coupling is used. When the software recognizes objects that belong to a differential pair it will attempt to drag the pair's partner track or via if the Keep Coupled option is enabled in the Interactive Sliding or the Interactive Via Dragging modes of the Properties panel.

Press X as you drag a via-pair to rotate the pair by 90 degrees.

To confirm that the partner objects are coupled, the software checks that the objects:

  • For via pairs - belong to the pair, and are closer than 2 * Preferred Gap
  • For track pairs - belong to the pair, are on the same layer, are separated by no more than the Preferred Gap

Options that Affect Routing, Rerouting and Interactive Sliding

There are a number of options that impact the rerouting behavior, these options are configured in the PCB Editor - Interactive Routing page of the Preferences dialog.

PCB editor Interactive Routing preferences

  • The Automatically Remove Loops option must be enabled to perform rerouting. There are situations when you may want to create loops, for example, power net routing. If necessary, Loop Removal can be disabled for an individual net by editing that net in the PCB panel. To access the option, set the panel to Nets mode, then double-click on the net name in the panel to open the Edit Net dialog.
  • As with Interactive Routing, the Current Routing Conflict Resolution mode will be used.
    • Use the checkboxes to enable only those modes you want to be available in the Current Mode list.
    • Press Shift+R to cycle through the enabled modes as you reroute.
  • The Automatically Terminate Routing option is useful. If it is enabled, as soon the new route connects to the existing routing, the redundant loop is removed (as shown in the video above). If this option is disabled, the loop is removed when you right-click to release the current route. The option can work against you when you need to place new routing on top of the existing routing (perhaps overlapping), in this situation it can be better to disable it.
  • The Glossing Effort options control how strongly the routing engine attempts to smooth or gloss the routing being modified, and it does this based on the Hugging Style, Arc Ratio, Miter Ratio, and Pad Entry Stability settings. Learn more about glossing in the, Improving the Quality of the Routing section below.

Interactive Routing and Interactive Sliding Panels

Whether you're interactively routing a connection or dragging an existing route to make way for more routing, the same set of routing technologies are applied. This section summarizes the options available in the Interactive Routing and the Interactive Sliding modes of the Properties panel. Press Tab as you work to open the Properties panel in the relevant mode. After changing the settings, click the  icon in the middle of the screen to return to routing or sliding. The default settings for these options are configured in the PCB Editor - Interactive Routing page of the Preferences dialog.

Retrace - Modifying the Properties of Existing Routing

A common task facing the board designer is needing to modify the properties of the existing routing. Perhaps you need to change the routing width because of a change in the design specifications, or perhaps the layer stackup had to be modified, so the impedance-controlled routing widths and gaps need to be changed to suit the updated impedance requirements.

The interactive routing engine includes a feature specifically developed to help with this challenge, called Retrace. The Retrace feature assumes the overall geometry of the routing is satisfactory, focusing instead on checking and updating the routing to the current design rule settings. With Retrace, you can "fatten up" that existing power routing, or update that differential pair to new width and gap settings.

Select the required net(s) and run the Retrace Selected command from the Route menu.

An example of Retrace being used to change the routing corners to curved with arcs.

Notes about Retracing:

  • Retrace obeys the Preferred setting in the applicable Routing Width or Differential Pairs Routing rule.
  • Retrace is applied to the currently selected tracks/arcs. An easy way to select the routing is to select a single segment in the net, then press Tab to select all touching track segments on that layer. If the routing traverses multiple layers, press Tab a second time to select the routing on the other layers.
  • The Retrace command follows the existing route path, focusing on rule compliance rather than the shortest path or least number of corners.
  • Retrace will not place a track/arc segment that creates a violation. If a track/arc of the preferred width will not fit, the largest width that does not create a violation is used.
  • Retrace does not change vias to suit changes in the Routing Via Style design rule.
  • Retrace obeys the current Hugging Style, Min Arc Ratio and Miter Ratio settings (PCB Editor - Interactive Routing page of the Preferences dialog). The video above demonstrates the corners being changed to arcs by retracing the routing with the Hugging Style changed to Rounded.
  • While retrace works on single-sided tuning patterns, it does not support differential pair tuning patterns. Support for this will be added in a future update.
  • Retrace updates the widths of tracks and arcs according to the applicable Routing Width design rule, it does not update the routing vias to reflect changes in the Routing Via Style design rule. To resolve via-size changes:
    • Select the nets, the Properties panel will load all selected tracks, arcs and vias.
    • Use the Post Selection Filter at the top of the panel to exclude all objects except vias ( show image).
    • Modify the via size to match the updated Routing Via Style design rule. If you do a single via before starting this bulk-edit process a new Via Template will be created, which you can then select when you are updating all the other vias.
    • Run the Retrace command on the selected routing to update the routing widths.
    • Resolve any design violations that might have occurred because of the via size change. The Retrace command will not update routing widths if it creates a violation; confirm that the width changes satisfy your design requirements.

Strategies for Selecting the Routing

Selection is a core activity in all areas of the design process, including working with the routing. Whether you're about to gloss or you want to delete some routing, the routes need to be selected first.

Select Within or Select Touching

In the PCB editor, selection can either be objects that are completely 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:

Click-and-drag from left to right, to select objects that are completely within 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.
Click-and-drag from right to left, to select objects that are touched by 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.

Extending the Selection

A common situation is needing to select many objects that are touching, for example, the track segments in a routed net, or the connection lines in an unrouted net. It is relatively easy to select a set of track segments that run parallel to each other using the Select Touching technique just described, however, interactively selecting entire routes can be difficult.

This can easily be achieved by selecting one or more track segments and then pressing Tab to extend the selection to include touching track segments.

When you press Tab:

  • The first time to select all connected routing objects on the same layer
  • The second time to select all connected routing objects on all layers
  • The third time to select all objects on that net in the workspace (skipped if there are no unconnected net objects)
  • The fourth time to return to the initial selection set

Demonstration of using Tab to change the selected routes.

Hold Alt as you right-drag to select touched connection lines, then press Tab to extend the selection to include other connection lines in those nets.

Other Useful Selection Strategies

The Select submenu includes a number of routing-specific selection commands. Press the S shortcut key to display it, then press the underlined letter to activate the required command.

The Backspace key also has a useful behavior that can help remove selectively remove routing segments. If an individual track segment is selected, and that segment only touches one other segment, then when Backspace is pressed the selected segment will be deleted and the touching segment will become selected. Press Backspace again; that segment deletes, and the touching one selects. Continue to press Backspace to unroute back to the required location.

Note that if the selected segment has more than one segment touching it, no other segments will be selected when Backspace is pressed.

Use the Backspace key to remove a segment and then select the last-touching segment.Use the Backspace key to remove a segment and then select the last-touching segment.

Routing-Aware Move Component

While routing the board, it is not uncommon for the designer to need to adjust the location of a routed component to create space for new routing. To help with this, the PCB editor includes a routing-aware move component feature. The feature is enabled via the Component Re-route checkbox, in the PCB Editor - Interactive Routing page of the Preferences dialog. Essentially, the feature will break the routing at the component pads, fanouts or escape routes, and then attempt to re-route those broken connections once the moving component(s) has been placed. 

A key requirement of the feature is to preserve fanouts and escape routing. To support this, the Shift+Tab shortcut is used to cycle through the possible sets of objects being moved, as detailed below.

During the move process, the options can be controlled using the following shortcuts:

  • Component Re-route Mode (Shift+R) - toggles the re-route mode on and off. After the moving set has been released, the software will attempt to re-route the component(s) to reconnect any broken nets. Use the Shift+R shortcut to disable the Component re-route option in Interactive Routing page of the Preferences dialog. The current Component Re-route status is displayed in the Heads Up display and on the Status bar. 
  • Change Component Selection (Shift+Tab) - while dragging, the set of objects being moved can still be changed. Press Shift+Tab to cycle through the following selection sets:
    • Components only, then
    • Components +Via Fanouts +Escapes +Interconnects, then
    • Initial selection set (if different from the previous two), then
    • Back to Components only.
  • The Move component with relevant routing option behaves as follows:
    • Enable the option to start the move component action with the relevant routing (Components +Via Fanouts +Escapes +Interconnects), use the Shift+Tab shortcut to cycle the selection set as described above. 
    • Disable the option to start the move component action with components only selected. Because the set of relevant routing objects is detected prior to the move commencing, it is not possible to use Shift+Tab to cycle through the selection set when the option is disabled.

When the Component Re-route option is enabled, connected routes are restored after the moving component is placed.

For better control of how pads of the component being moved should be connected with the objects of the same nets, you can use the N key to cycle through net line connect modes. The following modes are supported:

  • Pad to Pad - during the move, connection lines displayed between pads of the component being moved and the nearest pads of the same nets on the board.
  • Breaks - during the move, connection lines displayed between pads of the component being moved and the track breaks of the same nets on the board.
  • Hidden - connection lines hidden.

Current net line connect mode is shown in the Heads Up Display (HUD) when a component is moved.

Glossing - Improving the Quality of the Routing

The PCB editor includes powerful tools for improving the quality of existing routing. Whenever you move the cursor to define a new route path, all of the proposed routing is automatically glossed. Glossing will attempt to reduce the path length, and also improve the shape of corners and reduce their number, generally resulting in neater routing created from fewer segments.

Glossing has three settings; Off, Weak and Strong. Use the Ctrl+Shift+G shortcut to cycle through the settings during interactive routing or interactive sliding, or press Tab to open the Properties panel and select the setting. Along with the current Gloss Effort settings, Glossing also obeys these settings:

  • Corner Style
  • Hugging Style (during Interactive Sliding and also when the Gloss Selected or Retrace Selected commands are run)
  • Miter Ratio
  • Min Arc Ratio

Using these options, Glossing controls how tightly a corner is created and how the curved shape is formed in the route around a curved obstacle.

Existing routing can be glossed by running the Route » Gloss Selected command. Use this to your advantage to perform design changes, such as converting mitered corners to arcs, by configuring the Corner Style before running the command.

Existing routing can also be retraced (Route » Retrace Selected). Retrace assumes the overall geometry is satisfactory, focusing instead on verifying that the routing meets the design rules. Where Gloss preserves the existing trace width and pair gap, Retrace changes them to Preferred. Retrace is an excellent tool to use when a design rule has changed, and that change needs to be applied to existing routing.

The Gloss Effort (Routed) option controls how strongly the routing-under-edit is glossed, and the Gloss Effort (Neighbor) option controls how strongly the routing that is being pushed is glossed.

Learn more about Post-Route Glossing and Retracing

Build your Interactive Routing proficiency

See Also

 

Note

The features available depend on your level of Altium Designer Software Subscription.

Content