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, etc. 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.
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. Dragging also supports some of the Conflict Resolution Modes, including Push, Hug and Push, and Ignore.
Move means to move an object without regard to other objects that connect to it.
Drag means to move an object and have any connected objects remain connected to it.
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 Route button on the Active Bar () 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.
Options that Affect Rerouting
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.
The Automatically Remove Loops option must be enabled to perform rerouting.
As with Interactive Routing, the Current Routing Conflict Resolution mode will be used.
Use the checkboxes to enable only those modes you want to use.
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.
Note that 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.
Rearrange Existing Routes
To interactively slide or drag track segments across the board, click, hold and drag as shown in the video below.
The PCB editor will automatically maintain the 45/90 degree angles with connected segments, shortening and lengthening them as required.
A simple animation showing track dragging being used to modify the existing routing.
Track Dragging Tips
Change the default dragging behavior using the Unselected via/track and Selected via/track options on the PCB Editor - Interactive Routing page of the Preferences dialog.
While dragging 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 dragging, one of the Routing Conflict Resolution modes applies. Press Shift+R to cycle through the Ignore, Push or HugNPush modes as you drag a track segment.
To convert a 90 degree corner to a 45 degree route, start dragging on the corner 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, as shown in the video below.
An example of via dragging, with the routing Conflict Resolution mode set to Push.
Improving the Quality of the Routing
The PCB editor includes powerful tools for improving the quality of existing routing. These tools are known as Glossing and Retracing and are available on the Route menu.
Gloss - focuses on improving the trace geometry, attempting to reduce the number of corners and shorten the overall route length. Gloss preserves the existing trace width and differential pair gap.
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 video in the Demonstration of Selection Techniques section below includes a simple demonstration of glossing.
Strategies for Selecting the Routing
Selection is a core activity in all areas of the design process, including working with existing 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 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.
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 then extending the selection to include touching track segments. This is done using the Tab key as demonstrated in the video below.
To restrict the selection process to only select connection lines, hold the Alt key as you click, or click and drag.
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.