Glossing & Retracing of Existing Routes
Improving the Routing
To help produce neat routing with the minimum number of corners, the PCB editor also includes a Glossing tool. Glossing is a sophisticated set of algorithms developed specifically to produce cleaner routing and pad entries, that respect the intent of the applicable design rules. Glossing attempts 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 also leaves sub-net jumpers as they were, and when there are room-based width rules, width changes at the boundary are respected. As you move the cursor around as you define a new interactive route path, all of the yet-to-be committed routing is also automatically glossed.
The Glossing engine 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. With Retrace you can "fatten up" that existing power routing, or update that differential pair to new width and gap settings.
- Glossing focuses on improving the trace geometry, where Retrace assumes the overall geometry is satisfactory, focusing instead on satisfying the design rules.
- Glossing preserves the existing trace width and differential pair gap, while Retrace changes them to Preferred.
- Glossing runs whenever ActiveRoute finishes if the Gloss Results option is enabled in the PCB ActiveRoute panel.
- Glossing also runs during interactive routing on all track segments that are yet to be committed (all segments placed since the Interactive Routing command was launched and you started routing a net).
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. Also, the junctions of the route to adjacent primitives are kept "good" - no acute or right angles, with neat pad entries (although the pad entry design rules are not currently observed). The Gloss feature also supports differential pairs and will attempt to improve the amount of pair that is balanced in length and separation.
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 (shortcut: Ctrl+Alt+G). 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. After running the command, the tool essentially modifies the selected and routed track by keeping its ends in place and using segments of regular directions (angles divisible by 45 degrees).
For multiple routes/pairs, the tool attempts to straighten each of them after the obstructing ones have already been glossed. In some cases, however, this is not achieved, because the tool also tries to minimize the time spent. If an unglossed route is present after glossing a bundle of routes, run the glossing command again.
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.
Summary of 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 encourage unnecessary jogs and circuitous routing.
- If SMT rules are present, the gloss engine 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, the tool recognizes "zipped" portions of the routes - where the pair is already at the defined diff pair gap from each other. Its goal is to zip-up the pair, reducing the lengths of the unzipped portions. The corresponding unzipped portions from opposite sides are made equal in length, if possible, but Gloss does NOT add meanders to the shorter side of the pair. Glossing is applied to each unzipped and zipped portion, trying to make it short and smooth but without sacrificing the parallel routing and length balance. 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 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 image)
-
Gloss will attempt to apply the Preferred gap, where possible, when glossing a differential pair:
- If a diffpair was routed with the gap other than the Diff Pair Routing rule Preferred value, Gloss will attempt to change it to use the Preferred gap.
- It will, however, narrow it down as needed to ensure DRC-free passage in tight zones and balanced pad entries at the ends.
- This behavior is applied to the zipped portion of the pair (where the sides are at Max Gap or less from each other).
- Caveat: Gloss does not handle an unreasonably large Max Gap.
- Support for Subnet Jumpers:
- Gloss treats Subnet Jumper tracks as fixed.
- Support for room-based rules:
- Gloss adheres to Clearance and Diff Pair Routing rules scoped to rooms.
- Gloss allows the route to change width as 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.
- Arcs are currently not glossed.
- Tracks at non-45 degree angle increments are not glossed; it is assumed 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 are in the Information and Warnings section below.
Options that Control Glossing Behavior during Interactive Routing
Gloss Effort (Routed)
How strongly a route is glossed is controlled by the current Gloss Effort (Routed) setting. Configure the option in the Interactive Routing page of the Preferences dialog, or use the Ctrl+Shift+G shortcuts to cycle through the three modes. The current setting is displayed on the Status bar. (show image)
- 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 traces.
- Strong - In this mode, a high level of glossing is applied, with a strong emphasis on the shortest path. This mode of glossing is typically useful in the early stages of the layout process when the aim is to get a large portion of the board routed quickly.
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 glossing. Glossing applies to all track segments that are impacted by the current editing action, so can also affect surrounding tracks. For example, during interactive routing or interactive sliding in push mode both the tracks being slid and the tracks being pushed will be glossed, according to the current Hugging Style setting.
- 45 Degree - always use straight orthogonal/diagonal segments to create corners (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 being glossed. Use this mode for snake routing, and to use arcs + any angle routes when glossing (during interactive routing and manual glossing).
Minimum Arc Ratio
The Minimum 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
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. Learn more about Mitered Corners.
Pad Entry Stability
The Pad Entry Stability slider protects centered pad entries. It applies during glossing to protect an already-centered pad entry (exit), it does not attempt to re-center an existing off-center pad entry.
0 (Off) =
no protection10 (Max) =
maximum protection
Performing a Gloss
The glossing tool is run:
- On selected routing - by choosing the Route » Gloss Selected command from the menus or pressing the Ctrl+Alt+G keyboard shortcuts.
- After ActiveRoute - by enabling the Gloss Results option in the PCB ActiveRoute panel.
- During Interactive Routing - in accordance with the current gloss settings, defined in the Preferences dialog or the Interactive Routing mode of the Properties panel.
- During Interactive Sliding - in accordance with the current gloss settings, defined in the Preferences dialog or the Interactive Sliding mode of the Properties panel.
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.
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 applied only to those route segments that do not create a violation.
Select the required net(s) and run the Retrace Selected command from the Route menu.
Notes about Retracing:
- 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 settings configured in the PCB Editor - Gloss And Retrace of the Preferences dialog or in the Gloss And Retrace panel. See the Options that Control Glossing and Rerouting Behavior on Selected Routing section to learn more.
Summary of 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 value defined by selected width-rule mode.
- 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:
- Retrace requires both ends of the selected routing to connect to a pad or via, it does not work on dangling routes.
- Feedback:
- Command and progress information is displayed on the Status bar.
- Info and Warning messages are displayed in the Messages panel. Details are in the Information and Warnings section below.
Performing a Retrace
The retrace tool can be accessed in the PCB Editor by choosing the Route » Retrace Selected command from the main menus.
Options that Control Glossing and Retracing Behavior on Selected Routing
The PCB Editor – Gloss And Retrace page of the Preferences dialog and the Gloss And Retrace panel provide numerous controls relating to the functionality of the Gloss Selected and Retrace Selected features within the PCB design space.
Gloss & Retrace Parameters
- Hugging Style – controls how corner shapes are to be managed during glossing or retracing.
- 45 Degree – always use straight orthogonal/diagonal segments to create corners during glossing or retracing (use this mode for traditional orthogonal/diagonal routing behavior).
- Rounded – use arcs at each vertex involved in the glossing or retracing. Use this mode to use arcs + any angle routes when glossing or retracing.
- Avoid polygons – when this option is enabled, existing polygons will be respected when the Gloss Selected or Retrace Selected command is run. If the option is disabled existing polygons will be ignored (routed across), affected polygons can then be repoured.
- Avoid rooms – when this option is enabled, existing rooms will be respected when the Gloss Selected or Retrace Selected command is run. If a room scoped by specific routing width requirements is defined in the design and the routing to be glossed/retraced does not cross the room, the resulting routing will not cross this room either when the option is enabled. If the option is disabled, existing rooms will be routed across, and the width to be used within such rooms will be that is defined in constraints of the room-based rule.
- Pad Entry Stability – protects centered pad entries. Enter the desired level (the preferences) or use the slider bar (the panel) to configure the level of protection. '
0
'/'Off
' gives no protection; '10
'/'Max
' gives maximum protection. This option is only applicable/available when the 45 Degree option is selected for Hugging Style. - 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.
Gloss Parameters
- Effort – select the desired gloss level from the following choices:
- Weak – in this mode, a low level of glossing is applied. 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 a strong emphasis on the shortest path. 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.
Retrace Parameters
- Set Width – use the drop-down to select one of the rule-based width options (Min / Max / Preferred) of an applicable Width or Differential Pairs Routing design rule when the Retrace Selected command is run, or select the Current width of tracks to be retraced. Alternatively, enter a desired custom width value directly in the field.
- Set Diff Pair Gap – use the drop-down to select one of the rule-based gap options (Min / Max / Preferred) of an applicable Differential Pairs Routing design rule when the Retrace Selected command is run, or select the Current gap between differential pair tracks to be retraced. Alternatively, enter a desired custom gap value directly in the field. Note that this option is available only when the 45 Degree option is selected for Hugging Style.
-
Preserve route path – enable to preserve the exact trace geometry during Retrace. When this option is enabled, the Retrace algorithms will not modify the centerline of the trace. Tracks may change width and be split into segments of different widths, but the trajectory will not be changed.
Information and Warning Messages
Info | Reason |
---|---|
Skipped immovable + <Descriptor> |
An object is protected from Gloss/Retrace: for example, 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 treats 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. |