Routing a printed circuit board is a detailed, iterative process. Rarely are you able to simply route all of the nets in a single pass. More often, you will be routing a set of nets and as you move on to the next set of nets, you are continually adjusting and moving existing routes, perhaps manually dragging them, or perhaps pushing and shoving them as you interactively route more nets.
The result is that your finished routing can look like it was autorouted, with lots of unnecessary jigs and corners.
Re-routing & Rearranging Existing Routes
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 (because it maintains the orthogonal/diagonal patterns defined in the original routing). Interactive sliding can call on the same set of routing technologies that are available during interactive routing and 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.
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 ( ) 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.
The Loop Removal feature is enabled on the PCB Editor – Interactive Routing page of the Preferences dialog. Note that there are situations where 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.
During Loop Removal, you will find situations where you return to the existing routing but are not yet finished defining the new path. When the Automatically Terminate Routing option is enabled, as soon as the new route overlays the existing route, the routing process will terminate and the old, redundant routing will be removed. In this situation, it can be more efficient to disable the Automatically Terminate Routing option.
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.
It is important to configure the sliding options to suit the routing style you have used on the board. For example, if you have routed with diagonal corners then the hugging style should be set to 45 Degree or Mixed. If it is set to Rounded then the glossing engine will curve (add arcs into) each corner affected by the sliding action.
A demonstration of interactive sliding being used to modify the existing routing.
Interactive Sliding Tips:
-
Press Tab during sliding to access the Properties panel, where you can change any of the sliding settings.
-
Configure the Interactive Sliding options to suit the routing style used on the board - for example, the Hugging Style should be 45 Degree
if your routing has diagonal corners. Press the Shift+Spacebar shortcut keys to cycle through the Hugging Style modes during sliding.
-
During sliding, one of the Routing Conflict Resolution modes (Ignore, Push, HugNPush) applies. Press Shift+R to cycle through the modes as you drag a track segment.
An example of dragging multiple tracks by setting the routing conflict mode to Push
-
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.
-
When you click and drag on a vertex (the point where two track ends meet), the current Vertex Action setting is applied, use the Deform
mode if you want to reshape the corner.
-
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 extent to which the moving tracks are reshaped as you slide them is controlled by the current Gloss Effort (Routed) setting, press the Ctrl+Shift+G shortcuts to cycle through the modes during sliding. If you find that the routing will not slide how you want, try lowering the Routing Gloss Effort setting.
-
The impact that the moving tracks have on the adjacent routing is controlled by the current Gloss Effort (Neighbor) setting, press Tab while sliding to change the setting.
-
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.
-
The routing you are sliding will not only snap to the current snap grid, but the cursor snap behavior is also dependent on the object snapping settings in combination with the layer snapping setting, and if the snap guides and axes snapping settings are enabled (press Ctrl+E to toggle these on/off). To temporarily inhibit snapping during interactive sliding, hold down the Ctrl key. Learn more about Working with the Cursor-Snap System.
-
While sliding a route, you can move the cursor and hotspot snap it to an existing, non-moving object such as a pad, as shown in the video below. This will help align the new segment location with an existing object and avoid adding very small segments.
A video showing track dragging being used to modify existing routing.
-
To more easily see the objects that make up the current routing, adjust the Transparency of the routing objects in the View Configuration panel (show image).
► The Interactive Sliding options available in the panel are described with the Interactive Routing options, in the Interactive Routing and Interactive Sliding Options section.
Interactive Sliding Options
To provide better visibility and control of the sliding process, the Properties panel includes an Interactive Sliding mode - press Tab during sliding to access the options in the panel. The default settings are configured in the PCB Editor - Interactive Routing page of the Preferences dialog.
The following collapsible sections contain information about the Interactive Sliding options and controls available:
Net Information
-
Net – displays the name and net class (or classes) of the net being dragged.
-
Diff Pair – if the net being dragged is part of a differential pair, this field displays the name and differential pair class (or classes) of that differential pair.
-
Length – the total Signal Length. The Signal Length is the accurate calculation of the total node-to-node distance. Placed objects are analyzed to resolve stacked or overlapping objects and wandering paths within pads; and via lengths are included.
-
Delay – the total delay of the selected segments, including those unrouted.
Select the clickable links of the
Net,
Diff Pair,
Length, and
Delay from the
Properties panel to be redirected to the
PCB panel in its
Nets or
Differential Pair Editor mode, where you may view and change details of the associated nets / differential pairs.
Properties
-
Gloss Effort (Routed) – select the desired gloss level from the panel or use the Shift+Ctrl+G shortcut to cycle through the following choices:
-
Off – in this mode, glossing is essentially disabled. Note, however, that cleanup is still run after routing/dragging occurs to eliminate overlapping track segments. This mode is typically useful at the end stage of board layout when the ultimate level of fine-tuning is required (for example, when manually dragging tracks, cleaning pad entries, etc.).
-
Weak – in this mode, a low level of glossing is applied with the Interactive Router considering only those tracks directly connected to or in the area of the tracks that you are currently routing (or tracks/vias being dragged). This mode of glossing is typically useful for fine-tuning track layout or when dealing with critical traces.
-
Strong – in this mode, a high level of glossing is applied with the Interactive Router looking for shortest paths, smoothing out tracks, etc. This mode of glossing is typically useful in the early stages of the layout process when the aim is to get a good amount of the board routed quickly.
-
Gloss Effort (Neighbor) – select the desired gloss level to apply to traces being pushed by the net currently being routed directly from the panel through the following choices:
-
Off – in this mode, glossing is essentially disabled. Note, however, that cleanup is still run after routing/dragging occurs to eliminate overlapping track segments. This mode is typically useful at the end stage of board layout when the ultimate level of fine-tuning is required (for example, when manually dragging tracks, cleaning pad entries, etc.).
-
Weak – in this mode, a low level of glossing is applied with the Interactive Router considering only those tracks directly connected to or in the area of the tracks that you are currently routing (or tracks/vias being dragged). This mode of glossing is typically useful for fine-tuning track layout or when dealing with critical traces.
-
Strong – in this mode, a high level of glossing is applied with the Interactive Router looking for shortest paths, smoothing out tracks, etc. This mode of glossing is typically useful in the early stages of the layout process when the aim is to get a good amount of the board routed quickly.
-
Hugging Style – controls how corner shapes are to be managed during interactive sliding and will affect both the tracks being slid and the tracks being pushed. During sliding use the Shift+Spacebar shortcut to cycle through the three modes.
-
45 Degree – always use straight orthogonal/diagonal segments to create corners during sliding (use this mode for traditional orthogonal/diagonal routing behavior).
-
Mixed – use straight track segments when the objects being moved/pushed against are straight, use arcs when they are curved.
-
Rounded – use arcs at each vertex involved in the move/push. Use this mode for snake routing, and to use arcs + any angle routes when glossing (during interactive routing and manual glossing).
-
Conflict Resolution – determines how you want the sliding objects to react when they encounter an existing object. Use the drop-down or use the Shift+R shortcut to cycle through the desired routing modes. The following choices are available:
-
Ignore Obstacles
– select to ignore existing objects (routing can be freely placed). Violations are highlighted.
-
Walkaround Obstacles
– select to have the Interactive Router route around existing tracks, pads and vias. If this mode cannot walk around an obstacle without causing a violation, an indicator appears to show that the route is blocked.
-
Push Obstacles
– select to have the Interactive Router move existing tracks out of the way. This mode can also push vias to make way for the new routing. If this mode cannot push an obstacle without causing a violation, an indicator appears to show that the route is blocked.
-
HugNPush Obstacles
– select to have the Interactive Router hug existing tracks, pads, and vias as closely as possible and where necessary, push obstacles to continue the route. If this mode cannot hug or push an obstacle without causing a violation, an indicator appears to show that the route is blocked.
-
Stop At First Obstacle
– in this mode, the routing engine will stop at the first obstacle that gets in the way.
-
AutoRoute Current Layer
– select to enable auto-routing only on the current layer.
-
AutoRoute MultiLayer
– select to enable auto-routing on multiple layers.
-
Vertex Action – options that are applied when you click and drag on a vertex rather than a track or arc (the vertex is the corner location where two segments meet). Use the Spacebar shortcut to cycle through the available modes during sliding.
-
Deform – break or lengthen the track segments attached to the moving vertex so that the vertex follows the cursor movement. (show animation)
-
Scale – hold the corner shape and resize and move the incoming track segments, keeping the vertex attached to the cursor. (show animation)
-
Smooth – reshape the corner smoothly, inserting arcs to create a curved corner when dragging inward (in Mixed or Rounded Hugging Style), at every vertex impacted by the sliding process. Also, add arcs when dragging outward in Rounded Hugging Style.
-
Keep Coupled – check this option to ensure objects that belong to a differential pair are dragged to the pair's partner track or via.
-
Include Miters – check this option to include miters while dragging track segments.
-
Merge Parallel – check this option to allow a track segment being dragged to be merged with an existing stationary segment once it becomes aligned with the stationary segment.
-
Allow Via Pushing – check this option to allow pushing a Via when in Push Obstacles or HugNPush Obstacles mode.
-
Disable Trace Centering When Dragging – when the option is enabled, trace centering is not applied during interactive sliding (even if the Apply Trace Centering option is enabled on the PCB Editor – Interactive Routing page of the Preferences dialog).
-
Display Clearance Boundaries – enable to have the no-go clearance area defined by the existing objects and the applicable clearance rule displayed as shaded polygons within a local viewing circle. This option is not available in the Ignore Obstacles routing mode.
-
Reduce Clearance Display Area – enable to use a smaller clearance boundary. This option is available only when the Display Clearance Boundaries option is enabled.
-
Show Length Gauge – enable to display the length gauge, which shows the current routed length. The gauge settings are calculated from the set of constraints defined by the applicable design rules. Use the Shift+G shortcut to toggle the display on or off during routing.
-
Pad Entry Stability – protects centered pad entries. Use the slider bar to configure the level of protection:
-
Off
= no protection
-
Max
= maximum protection
-
Miter Ratio – controls the minimum corner tightness. The Miter Ratio multiplied by the current track width equals the separation between walls of the tightest U-shape that can be routed for that ratio. Enter a positive value equal to or greater than zero (the x multiplier is added automatically). Refer to the Interactive Routing page to learn more about mitered corners.
-
Min Arc Ratio – applied during any angle interactive routing and during interactive sliding with Mixed Hugging Style. The ratio is used to determine the minimum radius arc allowed, when the arc radius falls below this minimum the arc is replaced by track segments, where: Min Arc Radius = Min Arc Ratio x Arc Width
.
Set the Minimum Arc Ratio to 0 (zero) to always use arcs.
Modifying T-Junctions
There are specific algorithms included to support 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.
Complementing 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.
The following collapsible sections contain information about the Interactive Via Dragging options and controls available:
Properties
-
Gloss Effort (Routed) – select the desired gloss level of the traces connected to vias being dragged from the panel or use the Shift+Ctrl+G shortcut to cycle through the following choices:
-
Off – in this mode, glossing is essentially disabled. Note, however, that cleanup is still run after dragging occurs to eliminate, for example, overlapping track segments. This mode is typically useful at the end stage of board layout when the ultimate level of fine-tuning is required.
-
Weak – in this mode, a low level of glossing is applied with the routing engine considering only those tracks directly connected to vias being dragged. This mode of glossing is typically useful for fine-tuning track layout or when dealing with critical traces.
-
Strong – in this mode, a high level of glossing is applied with the routing engine looking for shortest paths, smoothing out tracks, etc. This mode of glossing is typically useful in the early stages of the layout process when the aim is to get a good amount of the board routed quickly.
-
Gloss Effort (Neighbor) – select the desired gloss level to apply to traces being pushed by the via currently being dragged directly from the panel through the following choices:
-
Off – in this mode, glossing is essentially disabled. Note, however, that cleanup is still run after dragging occurs to eliminate, for example, overlapping track segments. This mode is typically useful at the end stage of board layout when the ultimate level of fine-tuning is required.
-
Weak – in this mode, a low level of glossing is applied with the routing engine considering only those tracks directly connected to vias being dragged. This mode of glossing is typically useful for fine-tuning track layout or when dealing with critical traces.
-
Strong – in this mode, a high level of glossing is applied with the routing engine looking for shortest paths, smoothing out tracks, etc. This mode of glossing is typically useful in the early stages of the layout process when the aim is to get a good amount of the board routed quickly.
-
Hugging Style – controls how corner shapes are to be managed during interactive via dragging and will affect both the tracks connected to vias being dragged and the tracks being pushed. During via dragging, use the Shift+Spacebar shortcut to cycle through the three modes.
-
45 Degree – always use straight orthogonal/diagonal segments to create corners during dragging (use this mode for traditional orthogonal/diagonal routing behavior).
-
Mixed – use straight track segments when the objects being moved/pushed against are straight, use arcs when they are curved.
-
Rounded – use arcs at each vertex involved in the move/push.
-
Conflict Resolution – determines how you want the dragged objects to react when they encounter an existing object. Use the drop-down or use the Shift+R shortcut to cycle through the desired modes. The following choices are available:
-
Ignore Obstacles
– select to ignore existing objects (routing can be freely moved). Violations are highlighted after dragging.
-
Walkaround Obstacles
– select to have the routing engine place tracks around existing tracks, pads and vias where possible.
-
Push Obstacles
– select to have the routing engine move existing routing out of the way where possible. This mode can also push vias.
-
HugNPush Obstacles
– select to have the routing engine hug existing tracks, pads, and vias as closely as possible and where necessary, push obstacles to continue the route.
-
Stop At First Obstacle
– in this mode, the routing engine will stop at the first obstacle that gets in the way.
-
Keep Coupled – enable this option to attempt to drag the partner via when dragging a via that belongs to a differential pair.
-
Allow Via Pushing – enable this option to allow pushing vias when in Push Obstacles
or HugNPush Obstacles
Conflict Resolution mode.
-
Pad Entry Stability – protects centered pad entries. Use the slider bar to configure the level of protection:
-
Off
= no protection
-
Max
= maximum protection
-
Miter Ratio – controls the minimum corner tightness. The Miter Ratio multiplied by the current track width equals the separation between walls of the tightest U-shape that can be routed for that ratio. Enter a positive value equal to or greater than zero (the x multiplier is added automatically). Refer to the Interactive Routing page to learn more about mitered corners.
-
Min Arc Ratio – applied interactive via dragging with Mixed Hugging Style. The ratio is used to determine the minimum radius arc allowed, when the arc radius falls below this minimum the arc is replaced by track segments, where: Min Arc Radius = Min Arc Ratio x Arc Width
.
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
A number of options 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. 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.
-
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 Options
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.
Interactive Routing and Interactive Sliding Options
Routing Gloss Effort (Routed)
During a routing event, such as interactive routing, interactive sliding, or ActiveRouting, the software runs the glossing engine. The glossing engine constantly reviews all of the segments placed or impacted by the current route event, attempting to improve the quality of the results. Measures of quality include reducing the number of corners and segments, removing acute angles, and reducing the overall route length.
Glossing has three settings:
-
Off - in this mode, glossing is essentially disabled. Note, however, that cleanup is still run after routing/dragging occurs to eliminate, for example, overlapping track segments. This mode is typically useful at the end stage of board layout when the ultimate level of fine-tuning is required (for example, when manually dragging tracks, cleaning pad entries, etc.).
-
Weak - in this mode, a low level of glossing is applied, with the Interactive Router considering only those tracks directly connected to or in the area of the tracks that you are currently routing (or tracks/vias being dragged). This mode of glossing is typically useful for fine-tuning track layout or when dealing with critical routes.
-
Strong - in this mode, a high level of glossing is applied with the Interactive Router looking for shortest paths, smoothing out tracks, etc. This mode of glossing is typically useful in the early stages of the layout process when the aim is to get a good amount of the board routed quickly. Note that when Strong glossing is combined with one of the arc in corner modes, it also allows any-angle traces. The assumption here is that since the designer is curving the corners they will be comfortable with non-orthogonal routing between corners.
Routing Gloss Effort (Neighbor)
Gloss Effort (Neighbor) configures the amount of glossing applied to adjacent routes that are impacted by the current interactive routing or sliding. It also has three settings: Off, Weak and Strong.
Hugging Style
This option controls how corner shapes are to be managed during interactive sliding and will affect both the tracks being slid and the tracks being pushed. During sliding use the Shift+Spacebar shortcut to cycle through the three modes.
-
45 Degree - always use straight orthogonal/diagonal segments to create corners during sliding (use this mode for traditional orthogonal/diagonal routing behavior).
-
Mixed - use straight track segments when the objects being moved/pushed against are straight, use arcs when they are curved.
-
Rounded - use arcs at each vertex involved in the move/push. Use this mode for snake routing, and to use arcs + any angle routes when glossing (during interactive routing and manual glossing).
Routing Mode / Sliding Mode
This option determines how you want the routing/sliding objects to react when they encounter an existing object. Use the Shift+R shortcut to cycle through the available modes during sliding.
These modes are referred to as the Routing Conflict Resolution modes in the PCB Editor - Interactive Routing page of the Preferences dialog.
Vertex Action
To better support the designer's need to easily manipulate and re-shape the existing routing, there are specific options that are applied when you click and drag on a vertex rather than a track or arc (the vertex is the corner location where two segments meet). Use the Spacebar shortcut to cycle through the available modes during sliding.
-
Deform - break or lengthen the track segments attached to the moving vertex so that the vertex follows the cursor movement.
-
Scale - hold the corner shape and resize and move the incoming track segments, keeping the vertex attached to the cursor.
-
Smooth - reshape the corner smoothly, inserting arcs to create a curved corner when dragging inward (in Mixed or Rounded Hugging Style), at every vertex impacted by the sliding process. Also, add arcs when dragging outward in Rounded Hugging Style.
Checkbox Options
-
Automatically Terminate Routing - when the current connection being routed reaches the target pad, automatically stop routing that net but remain in the Interactive Routing command, ready to start routing another net.
-
Automatically Remove Loops - when this option is enabled you can route a new path for an existing route - when the new route path comes back to meet the existing path the redundant loop is automatically removed.
-
Remove Net Antennas - a net antenna is a short, unterminated track (arc) segment. They are automatically removed if the current routing impacts an object that the antenna is touching.
-
Allow Via Pushing - during routing/sliding in Push or Hug & Push modes, allow existing vias to be pushed as well.
-
Display Clearance Boundaries - display the no-go area around existing objects, defined by the applicable Clearance design rule(s).
-
Reduce Clearance Display Area - reduce this display to a circular zone around the current cursor location.
-
Show Length Gauge - the length gauge indicates how well the current route is meeting applicable Length and Matched Length design rules. Learn more about Length Tuning.
Pad Entry Stability
The Pad Entry Stability slider protects centered pad entries, preventing Glossing from un-centering a centered track (it holds a centered track on-center, it does not center an un-centered track). Use the slider bar to configure the level of protection:
-
Off
= no protection
-
Max
= maximum protection
Miter Ratio
The Miter Ratio controls the minimum corner tightness. The Miter Ratio multiplied by the current track width equals the separation between walls of the tightest U-shape that can be routed for that ratio. Enter a positive value equal to or greater than zero (the x multiplier is added automatically). Set the Miter Ratio to zero to allow the creation of an acute-angle corner with tracks being routed or dragged. Refer to the Interactive Routing page to learn more about mitered corners.
Min Arc Ratio
The Min Arc Ratio is applied during any angle interactive routing and also during interactive sliding with Mixed Hugging Style. The ratio is used to determine the minimum radius arc allowed, when the arc radius falls below this minimum the arc is replaced by track segments, where:
Min Arc Radius = Min Arc Ratio x Arc Width
-
This setting is not applied during any arc in corner routing or interactive sliding with Rounded Hugging Style, as these modes do not use segmented arcs.
-
Set the Minimum Arc Ratio to 0 (zero) to always use arcs.
Routing-aware Move Component
While routing the board, it is not uncommon 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.
When the Component re-route option is enabled, connected routes are restored after the moving component is 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 reroute the component(s) to reconnect any broken nets. Use the Shift+R
shortcut to inhibit the re-route behavior (or disable the Component re-route option on PCB Editor - 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.
-
Change Gloss Effort (Ctrl+Shift+G
) - cycle through the available Routing Gloss Effort options to control the amount of gloss applied during component re-routing.
Enable the Move component with relevant routing option in the Dragging region on the PCB Editor - Interactive Routing page of the Preferences dialog 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 in the previous section. Specify the number of pins in the up to xx pins field below. If a component has more pins than specified in this field, the Move component with relevant routing option will not "work," and relevant routing will not be moved with the component.
Disable the Move component with relevant routing 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.
To make the Move Component behavior routing friendly, the software detects and fixes violations in both the moving routing and the pre-existing routing. The default handling of violations is to visualize them while moving and attempt to resolve them on drop. Violations are resolved by pushing the pre-existing routing. Violations that cannot be resolved are left.
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 are displayed between the pads of the component being moved and the nearest pads of the same nets on the board.
-
Breaks - during the move, connection lines are displayed between the pads of the component being moved and the track breaks of the same nets on the board. This mode indicates where the connection lines have been severed and will possibly be restored after the selection being moved is released.
-
Hidden - connection lines are hidden.
Current net line connect mode is shown in the Heads Up Display (HUD) when a component is moved.
Clearing and Cleaning the Routing
The Backspace key has a useful behavior that can help selectively remove a single, selected end-of-route object. This can be a component-free track, arc, via, or pad. If an individual object is selected, and that object only touches one other object, then when Backspace is pressed, the selected object is deleted and the touching object will be selected. Press Backspace again; that object deletes, and the touching one selects. Continue to press Backspace to unroute back to the required location.
Note that if the selected object has more than one object touching it, the object will be deleted (as though using the Delete key) and no connected routing object will be selected when Backspace is pressed.
Use the Backspace key to remove a segment and then select the last-touching segment.
To delete one or more selected routing objects on the current document and automatically select all routing objects connected to those deleted, the Ctrl+Delete keyboard shortcut can be used. By using the command repeatedly, you are able to incrementally unwind the routed path in both directions.
Unroute Commands
To remove routes, i.e. remove routed track and vias and replace these with logical connections, you can also use the commands of the Route » Un-Route sub-menu of the main menus.
-
All – unroute all physical connections on the board.
-
Net – unroute all physical connections in a specified net. After launching the command, the cursor will change to a cross-hair. Position the cursor over a routed connection (or pad) belonging to the net you wish to unroute then click or press Enter.
If you do not know the location of a pad on the net or one of its routed connections, click in free space and a dialog will pop up prompting for the net name. If you are unsure of the net name, type ? then click OK to launch the Nets Loaded dialog, which lists all loaded nets for the design. The physical connections for the net you choose in the dialog will be unrouted when you click OK.
-
Connection – unroute the physical connection between two pads. After launching the command, the cursor will change to a cross-hair. Position the cursor over a segment of track that you wish to unroute (or a pad or via that it is connected to) then click or press Enter. If opting to unroute a connection by clicking on the associated pad, the following behavior is observed when there are multiple connections to the pad: current layer track will be unrouted first, followed by track in layer stack-up order (from the top layer down).
-
Component – unroute all physical connections emanating from the pads of a specified component. After launching the command, the cursor will change to a cross-hair. Position the cursor over the component whose physical connections you wish to unroute then click or press Enter.
If you do not know the location of a component, click in free space and a dialog will pop up, prompting for the component's designator. If you are unsure of the designator, type ? then click OK to launch the Components Placed dialog, which lists all components in the design. The physical connections for the component you choose in the dialog will be unrouted when you click OK.
Track is unrouted from a component pad to the next destination pad along the track. Track on the other side of this destination pad will remain routed.
You can also unroute all physical connections emanating from the pads of the component under the cursor by right-clicking over a component and choosing the
Component Actions » Unroute Component command from the context menu.
-
Room – unroute all physical connections associated with a particular room. After launching the command, the cursor will change to a cross-hair and you will be prompted to choose a room. Position the cursor over the room whose physical connections you wish to unroute then click or press Enter. A dialog will appear asking whether you wish to unroute connections that extend outside of the room. If you click Yes, all tracks (and vias) that reside in or pass into/out of the room will be removed and replaced by the logical connections. If you click No, only the pad-to-pad connections that are contained wholly inside the room will be unrouted.
Where track passes outside of the boundaries of the room, the track is unrouted from a component pad in the room to the next destination pad along the track outside of the room. Track on the other side of this destination pad will remain routed.
You can also unroute all physical connections associated with the room under the cursor by right-clicking over a room and choosing the
Room Actions » Unroute Room command from the context menu.
-
If any track or via primitives to be unrouted are locked, a confirmation dialog will appear asking whether you want to allow the unroute of locked primitives. If you select No, only track and via primitives that are not locked will be unrouted.
-
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 page for tips and techniques on selecting routing.
Clean Nets Commands
To clean all or individually routed nets for undesired duplicate (stacked) track segments, you can use the Design » Netlist » Clean All Nets and Design » Netlist » Clean Single Nets command, respectively, from the main menus. All nets (or the chosen net) will be analyzed and all instances of stacked track segments will be resolved, with the redundant segments being removed. The command will only work on stacked track segments that are identical in their properties (i.e. same layer, same width, etc.).
The
Autorouter initiates this command automatically after it has finished routing.