Applied Parameters: Action=DynamicallyTuneNetSmartUnion
Summary
This command is used to interactively tune trace lengths of individual routed nets on the current PCB, providing a dynamic means of optimizing and controlling net lengths by allowing variable amplitude wave patterns to be inserted according to the available space, rules, and obstacles in your design. Accordion-style length tuning, also known as serpentine routing, is a standard design technique for high-speed nets with critical timing requirements. It is used to ensure that critical nets have matched lengths, by adding accordion sections to shorter route paths.
For a high-level overview of this area of PCB design, see
Length Tuning.
Access
This command can be accessed from the PCB Editor by:
- Choosing the Route » Interactive Length Tuning command, from the main menus.
- Locating and using the Interactive Length Tuning command (
) on the Active Bar.
If the command has been recently used from the Active Bar, it will become the active/visible button. Where other commands are available, this is indicated by a triangle at the bottom-right corner of the button. Click and hold on the active button to access a menu of all associated commands for that grouping.
Use
After launching the command, simply click on existing track for the required net, at the point where you wish to add tuning segments. Filtering will be applied to the workspace to allow better visibility of just that net. As you slide the cursor along the path of the route, length tuning segments will be added. No need to worry if you drift off-course either, as soon as you bring the cursor back over the route, tuning segments will be added up to that point. A length tuning gauge attached to the cursor provides graphical feedback of how close you are to the ideal lengths. The yellow cursor bars indicate the minimum and maximum extents of a valid length range (based on Matched Net Lengths and/or Length rules, where defined). The green bar indicates the target length. The sliding indicator shows how close you are to achieving a match.
The length tuning is created as a smart union of straight or arc segments, with full control over the amplitude, gap, and corner radius (or miter).
Additional actions that can be performed while tuning are:
- Press the Tab key to access the Properties panel, from where to define the approach used for defining the target length, and to modify properties of the accordion pattern used in the tuning, on-the-fly. Accessing the panel in this way will pause length tuning in order to interact with the panel (or other area of the software) directly. To resume, click the pause symbol that appears over the workspace, or press Esc.
- Press the Spacebar, or Shift+Spacebar, to cycle forward or backward through the supported tuning patterns, respectively. Available patterns are: Mitered with Lines, Mitered with Arcs, and Rounded.
- Press the , key to decrease the amplitude of the accordion pattern by the amount defined for the Amplitude Increment, through the Properties panel.
- Press the . key to increase the amplitude of the accordion pattern by the amount defined for the Amplitude Increment, through the Properties panel.
- Press the 1 key to decrease the corner (miter) radius (when using the Mitered with Lines, or Mitered with Arcs accordion patterns).
- Press the 2 key to increase the corner (miter) radius (when using the Mitered with Lines, or Mitered with Arcs accordion patterns).
- Press the 3 key to decrease the gap (pitch) for the accordion pattern by the amount defined for the Gap Increment, through the Properties panel.
- Press the 4 key to increase the gap (pitch) for the accordion pattern by the amount defined for the Gap Increment, through the Properties panel.
- Press the Y key to toggle Amplitude Direction (starting direction) for the accordion pattern.
- Use the Shift+G keyboard shortcut to toggle the display of the length tuning gauge.
A menu of these interactive commands can also be accessed by pressing Shift+F1 after clicking on the target trace.
Controlling the Target Length
The length tuning offers 3 approaches for specifying the target length. These approaches - which can only be defined through the Properties panel (press the Tab key while interactively tuning to access) - are:
- Manually defined - you can specify your own target length.
- Based on a net that has already been routed - you can choose a net from existing nets in the design. The length of this net will become the target length.
- Defined by design rules - you need to have one or both of the Length and Matched Net Lengths design rules defined to use this mode. The software will, by default, obey the most stringent combination of these rules. If multiple Matched Net Lengths design rules apply:
- These will all be listed in the Properties panel, with the applied rule highlighted in blue.
- The default Matched Net Lengths rule applied, will be the one that gives the greater Max Limit.
- If the target length for two or more rules is equal, then the rule with the highest priority will be the one applied.
- You can change the applied rule as you tune, simply by clicking that rule's entry - it will become the rule highlighted in blue, and the target length (and decriptive text) will change accordingly.
For a manually defined target length, or a target length defined through a chosen net, bear in mind that if Length and/or Matched Net Length rules exist, they will be used to provide a valid length range, which may be more restrictive that the manual/net defined length.
Relevant Design Rules
The length tuning feature observes the following defined design rules:
- Matched Net Lengths design rule - specifies that the target nets must be routed to the same length as the longest net, within the specified tolerance. It can be a good idea to define a net class containing the nets that you wish to tune, and scope the rule to target that net class. The length tuning tool will then find the longest net in the set of target nets, and give you a valid range of that length, plus or minus the Tolerance specified in the rule.
- Length design rule - complimenting the Matched Net Lengths rule, this rule specifies the minimum and maximum permissable routed length of a net, or set of nets.
Either or both of these rules may be important in your design, it all depends if your potential issues are related to skew (signals arriving at different times - think Matched Net Lengths rule), or the overall signal delay (think Length rule). The length tuning tool considers both Matched Net Lengths and Length design rules when considering the tightest set of constraints. If the maximum length specified by the Length rule is shorter than the longest length targeted by the Match Net Lengths rule (plus the tolerance), then the Length rule wins and its length is used during tuning.
Length Tuning Gauge
Route lengths are tuned with the aid of the Length Tuning Gauge.
![Example of the Length Tuning Gauge being used to aid in tuning a route length. Example of the Length Tuning Gauge being used to aid in tuning a route length.](/documentation/sites/default/files/wiki_attachments/304924/PCB_Cmd-LengthTuningSlider.webp)
Example of the Length Tuning Gauge being used to aid in tuning a route length.
The length tuning gauge display (toggled using the Shift+G keyboard shortcut) includes:
- The Min, Target and Max lengths, as applicable, represented by vertical lines on the gauge:
- Yellow vertical lines - represents the min and max of the valid (permissable) length range. Where applicable Matched Net Lengths and/or Length design rules are defined and enabled, these will be used in calculating the valid range. For Manual or Net-defined target length, and no rules defined (or enabled), length range is not restricted and so the two vertical yellow lines indicate the current route length (on the left) and the target length (on the right).
- Green vertical line - represents the target length, which will either be a manually entered value, a length used from an existing selected net, or the mid-point of the valid length range when calculated from design rules.
- A colored slider, which represents the combined routed length + estimated remaining length. The estimated remaining length is the Manhattan length (the shortest X+Y distance (horizontal + vertical)) from current route end, to the target pad. By including this, you are given a much earlier indication of a net that is unlikely to meet the rule requirements.
As you add tuning segments to a net you are interactively tuning, the colored slider will expand - the aim is to land it as close as possible to the required target length, and within the valid length range (to abide by defined rules!). Good tuning will result in the slider changing from red to green in color.
Smart Union Accordions
The length tuning feature uses accordion sections that are actually smart union objects, which means such a section can be selected, modified and deleted as a single object. To modify an existing accordion section, click once to select it and display the editing handles, as shown in the animation below. Click and drag on an edge or vertex to resize the accordion bounding region - the accordion sections are automatically resized to suit the new updated shape of the bounding region.
![Resize the accordion bounding box to create the required accordion shape. Resize the accordion bounding box to create the required accordion shape.](/documentation/sites/default/files/wiki_attachments/304924/LengthTuning.gif)
Resize the accordion bounding box to create the required accordion shape.
Actions that can be performed while modifying the accordion object are:
- Press the Tab key to access the Properties panel, presenting options and controls for the selected Accordion object. You can change the Style, Amplitude, Gap (pitch) and corner (Miter) for the accordion in non-graphical fashion, using the controls available in the Pattern section of the panel. Alternatively, use the associated shortcuts, described hereafter.
- Press the , key to decrease the amplitude of the accordion pattern by the amount defined for the Amplitude Increment, through the Properties panel.
- Press the . key to increase the amplitude of the accordion pattern by the amount defined for the Amplitude Increment, through the Properties panel.
- Press the 1 key to decrease the corner (miter) radius (when using the Mitered with Lines, or Mitered with Arcs accordion patterns).
- Press the 2 key to increase the corner (miter) radius (when using the Mitered with Lines, or Mitered with Arcs accordion patterns).
- Press the 3 key to decrease the gap (pitch) for the accordion pattern by the amount defined for the Gap Increment, through the Properties panel.
- Press the 4 key to increase the gap (pitch) for the accordion pattern by the amount defined for the Gap Increment, through the Properties panel.
- Use the Shift+G keyboard shortcut to toggle the display of the length tuning gauge.
A length tuning accordion, being a union, is a group object - comprised of primitive track and/or arc segments. As with other group objects, such as components, coordinates, dimensions and polygons, a length tuning accordion object can be 'exploded'. In other words, it can be converted into its constituent free primitives, which can then be modified independently. To do so, use the
Explode Length Tuning command.
Tips
- To prevent adding too many tuning segments, that could result in passing the target length and exceeding the maximum permissable length, enable the Clip to Target Length option, in the Target Length section of the Properties panel.
- The tuning state is also reflected in the PCB panel (when set to Nets mode). The Routed cell for the net being tuned will be highlighted in yellow if the
route length < valid minimum length
, clear if the net is within the valid length range, or red if the route length > maximum valid length
.
- The easiest way to remove a tuning segment is to simply click to select it, then use the Delete keyboard shortcut.
- If the adjacent accordion sections are too close together for too long, then crosstalk coupling can distort the signal.
- The extent of masking when filtering is applied to the workspace after clicking on the target net, can be manually adjusted using the Dimmed Objects slider bar, located in the Mask and Dim Settings section, on the View Options tab of the View Configuration panel. Clear filtering by using the Shift+C keyboard shortcut.