Parent page: The Routing
Routing a printed circuit board is a detailed, iterative process. Rarely are you able to simply route, or ActiveRoute, all of the nets in a single pass. More often you will be routing 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 end result is that your finished routing can end up looking like it was autorouted, with lots of unnecessary jigs and corners.
Improving Existing Routing
To help produce neat routing with the minimum number of corners, the PCB editor also includes a post-route Glossing tool. The Glossing tool carefully analyzes selected routes, reducing the number of corners, and neatening and shortening them. The Glossing tool also includes a Retrace Selected command. Use this when you need to update selected routes to the changes you have made to settings in the routing rules - now you can fatten up that existing power routing, or update that differential pair to new width and gap settings.
Gloss focuses on improving the trace geometry. Retrace assumes the overall geometry is satisfactory, focusing instead on satisfying the design rules.
Gloss preserves the existing trace width and differential pair gap, while Retrace changes them to Preferred.
Appreciating that neatening routing is a complex but important challenge, this technology is seen as a foundation tool for the board designer, and will continue to be developed.
Selecting the Routes to be Glossed or Retraced
One of the great challenges with interactive software tools is interfacing those tools to the designer's fingertips, so they can easily and fluidly move between the various tasks, such as creating, reshaping and cleaning the routing. For this to happen, it must be easy to select the routes of interest.
To select a routed net (or nets) for glossing or retrace:
Click to select an object anywhere along the route, then press Tab to extend that selection to all connected track segments on the layer(s) the original object is present on. A second press of Tab will extend the selection to all connected objects on that net, on all used layers. If there are other sections of the net that are not directly connected to the currently selected objects, a third press of Tab will extend the selection to include all objects in that net.
Use Click+Drag a selection rectangle, from right to left, to invoke the (green) select touching rectangle mode to quickly select a track segment in multiple nets, then use the Tab key to select all connected tracks on that layer, for all of the nets you have selected.
To gloss only a section of a routed net, select a track segment at either end of the section, then run the Gloss command. Only the routing between (and including) the selected segments will be glossed.
Use the following techniques to select connections or existing routes:
To Select
Use Mouse + Keys
Outcome
Existing Routes
All unlocked track segments that are touched by the green selection rectangle, are selected. Use the Tab key to select additional track segments in those nets.
Routes under a component
All unlocked track segments that are touched by the green selection rectangle, are selected. Without Shift, the click and drag can be interpreted as Move Object, if it is the component above the routes will move. The component will also be selected, however when you press Tab to select connected track segments, the component will be deselected.
Alternatively, use the Selection Filter in the Properties panel to disable the selection of large objects , such as components and polygons.
Component pads
All unlocked component pads that are touched by the green selection rectangle, are selected.
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.
Additional routes
+ combinations shown above
Retain current selection, as additional objects are selected.
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.
Demonstration of routing selection techniques
Demonstration of the selection techniques.
Glossing the Routes
Continuing the push to better follow the designer's requirements, glossing produces cleaner pad entries that better respect the intent of the applicable design rules. Glossing also leaves sub-net jumpers in situ, and when there are room-based width rules, width changes at the boundary are respected.
Access
The glossing tool can be accessed in the PCB Editor by:
Choosing the Route » Gloss Selected command from the main menus.
Using the Ctrl+Alt+G keyboard shortcut.
Glossing Behavior
To summarize:
Flexible approaches to selection can be used, supporting partial glossing of a routed net:
To gloss only a section of a routed net you can: select a track segment at either end of the section; or select a pin or a via to signify the end of the desired section.
Glossing attempts to repair dangerous pad entries:
Gloss does not automatically comply with the SMT rules (SMD Entry & SMD To Corner), if it detects that they are encouraging unnecessary jogs and circuitous routing.
If the rules are present then it tries to recognize dangerous situations, such as the potential for solder bridging, and adjusts its behavior based on these rules.
For this to occur the Corner option must be disabled in the SMD Entry rule, and the SMD To Corner rule must have a suitable setting.
Rule deviations: Gloss will keep the track segment orthogonal with the pad edge being exited from, but will not necessarily keep it centered within that edge. Gloss will also allow the track segment to exit from the side of the pad, if the SMD to Corner distance and other applicable rules can be satisfied.
Glossing differential pairs:
When applied to differential pair routes, Gloss attempts to zip-up the pair, reducing the lengths of the unzipped portions. The corresponding unzipped portions from opposite sides are made equal in lengths if possible, but Gloss does NOT add meanders to the shorter side of the pair. If length balancing is not achieved naturally, the pair is left unbalanced.
Particular attention is applied to differential pair pad entries to improve their quality, but Gloss it does not attempt to match the lengths of the entry routes.
Where differential pair routes cross a room boundary and change width, Gloss gives preference to synchronous width change of the pair members. This means it does not change the width/gap of both routes right on the boundary, instead it focuses on keeping the pair matched, so when a width change occurs it happens to both segments at the same time. So if the routing enters the room at an angle, one route in the pair will change width on the room boundary, and the second route in the pair will change width at a location adjacent to the first route.
► Show me
Support for Subnet Jumpers:
Gloss now treats Subnet Jumper tracks as fixed.
Support for room-based rules:
Gloss now adheres to Clearance and Diff Pair Routing rules scoped to rooms.
Gloss allows the route to change width as it it enters a room, it will attempt to preserve the original widths used both outside and within the room.
If there is a width change at a room boundary, Gloss will maintain the width change.
Exclusions:
To exclude routes from glossing or retracing, lock the track segments.
Tracks at non-45 degree angle increments are not glossed, it is assumed that these have been placed intentionally to satisfy a design requirement.
Feedback:
Command and progress information is displayed on the Status bar.
Info and Warning messages are displayed in the Messages panel, details in the Information and Warnings section below.
To Gloss the selected routing, run the Route » Gloss Selected command (Ctrl+Alt+G ).
If a Route Guide has been used, the routes within the guide are not glossed.
Retrace your Routes
The Glossing engine includes a second command for improving existing routes, Route » Retrace Selected . Where Glossing attempts to shorten the overall route length and reduce the number of corners, Retrace re-applies the preferred width and clearance requirements to an existing route. Using Retrace, you can easily decrease or increase the routed width of a selected set of nets, or even the width and gap of differential pairs.
Retrace works exactly as its name implies, running along the selected routes, updating them to the current rule specifications. Because it does this on an individual net or pair level it will attempt to maintain clearances, but is not able to push surrounding routes if more room is required. In this situation, the rule updates are only applied to those route segments that do not create a violation.
Access
The retrace tool can be accessed in the PCB Editor by:
Choosing the Route » Retrace Selected command from the main menus.
Retrace Behavior
To summarize:
Retrace is similar to Gloss (and uses the same engine internally), the differences are:
Gloss preserves the width; Retrace changes it to the Preferred value.
Gloss produces the shortest possible result, often radically deviating from the original; Retrace approximately follows the original.
Use the same selection principles as Gloss to select the routes to be Retraced.
Use Retrace to update the selection and apply the applicable preferred Width rule.
Modifies selected routes as needed to avoid poor quality corners and pad entries, while preserving the general route geometry.
Use Retrace to update the diff pair gap:
Will update the zipped portion of the pair (where the sides are at Max Gap or less from each other), changing the gap to Preferred.
To reduce the gap in a routed pair, change the Diff Pair Routing rule so that the Preferred Gap is the desired gap, and the Max Gap is the old Preferred Gap value, then run Retrace. Caveat: Retrace does not handle an unreasonably large Max Gap.
Retrace can also be used to increase the gap in a routed pair, set the Preferred Gap in the Diff Pair Routing rule to the required value.
Note: if the new Preferred settings are larger than the current width/gap, Retrace may fail to reach its goal without creating violations. In such cases it will use smaller values to avoid creating violations. No pushing of obstructions is performed.
Exclusions:
Arcs are currently not glossed, support for arcs will be added in a future update.
Feedback:
Command and progress information is displayed on the Status bar.
Info and Warning messages are displayed in the Messages panel, details in the Information and Warnings section below.
To Retrace the selected routing, run the Route » Retrace Selected command.
The Retrace algorithm works in such a way that Max Gap also affects the freedom for deviating from the original geometry - the larger the Max Gap, the more deviation allowed. To reduce the amount the differential pairs are moved during a Retrace that will reduce the width/gap, a good rule of thumb is to set the Max Gap to the previous Preferred Gap.
Information and Warning Messages
Info
Reason
Skipped immovable + <Descriptor>
An object is protected from Gloss/Retrace: eg, locked or belonging to a component.
Max count 20, clickable.
Skipped subnet jumper + <Descriptor>
Subnet jumpers are left alone, user informed in each case.
Max count 20, clickable.
Skipped reflex angle + <Descriptor>
Arcs greater than 180 degrees are not glossed.
Max count 20, clickable.
Skipped objects in user-defined Union
Objects belonging to a union are not glossed (does not apply to Length Tuning unions).
Issued once per union involved.
Max count 20, clickable, zooming to the Union bounding rectangle.
Command does not apply to arcs (Retrace only)
Retrace does not support arcs.
Max count 1, clickable, zoom to the first arc encountered.
Warning
Reason
Applicable Diff Pair Routing rule not found for some object(s) + <Descriptor>
Some of the Gloss / Retrace targets belong to a diff pair net, but there is no applicable Diff Pair Routing rule.
In such cases the command treat the target as a non-diff pair object, meaning the two sides of the pair may be Glossed away from each other.
Max count 1, clickable.
Applicable Width rule not found for some object(s) + <Descriptor>
Retrace uses Min to Preferred Width rule settings. If there is no applicable Width rule found, the current width is preserved.
Max count 1, clickable.
Pre-existing Min Width violation(s) detected + <Descriptor>
Retrace uses Min to Preferred Width rule settings, using preferred if it causes no DRC violations, or smaller if needed to avoid DRC violations.
Thus a DRC-free track will stay DRC-free, if it was at least at Min Width to begin with. If it was narrower, setting it to Min width may result in a DRC violation.
This message warns of such occurrences, whether or not it resulted in an actual DRC violation.
Note that the original thin object will have been widened and possibly moved by the time you have a chance to click on the message. You may need to Undo to understand what has happened.
Max count 1, clickable.