Interactively Tuning the Lengths of Your Routes on a PCB in Altium NEXUS

Nexus message

This documentation page references Altium NEXUS/NEXUS Client (part of the deployed NEXUS solution), which has been discontinued. All your PCB design, data management and collaboration needs can now be delivered by Altium Designer and a connected Altium 365 Workspace. Check out the FAQs page for more information.

 

Parent page: The Routing

Two of the core challenges with routing a high speed design are controlling the impedance of the routes, and matching the lengths of critical nets. Impedance controlled routing ensures that the signal that leaves an output pin is correctly received by the target input pins. Matching the route lengths ensures that timing-critical signals arrive at their target pins at the same time. Tuning and matching route lengths is also an essential ingredient of differential pair routing.

The Interactive Length Tuning and Interactive Differential Pair Length Tuning commands (launched from the Route menu) provide a dynamic means of optimizing and controlling net or differential pair lengths by allowing variable amplitude wave patterns (accordions) to be inserted according to the available space, rules, and obstacles in your design.

Note the accordion patterns in the routing, these have been added to match the lengths of related nets.
Note the accordion patterns in the routing, these have been added to match the lengths of related nets.

Length tuning properties can be based on design rules, properties of the net, or values you specify. Controls for these wave patterns, also known as accordion sections, are accessed through the Interactive Length Tuning mode of the Properties panel - press TAB during length tuning to open the panel in this mode.

Tuning the Length of a Net

The elegance of the length tuning feature is that it cleverly combines sophisticated software algorithms with intuitive user control. Length tuning segments are added by simply wiping the cursor along the route path, with the dimensions and positions of the various tracks and arcs that make up the tuning segments automatically calculated and inserted by the length tuning algorithm. Keyboard shortcuts give complete control over the style and properties of the tuning segments as they are being added.

Launched from the Route menu, the Interactive Length Tuning commands prompts you to select a route. After clicking on a net or differential pair (or any free line or track for that matter), you simply slide, or wipe the cursor along the path of the route. No need to worry if you drift off course, as soon as you bring the cursor back over the route, the algorithm will add tuning segments up to that point.

Tuning segments are automatically added as the cursor moves along the route path.
Tuning segments are automatically added as the cursor moves along the route path.

If the cursor moves outside the bounds of the tuning accordions, the accordion shapes will disappear - when the cursor is moved so that it is back within the bounds of the accordion shape, they will re-appear.

Controlling the Tuning Style and Size

There are 2 key ingredients to mastering the length tuning tool: knowing the shortcuts, and understanding how to read the Net Length Gauge.

The shortcuts available during length tuning include:

Shortcut Function
Spacebar Cycle through the 3 tuning patterns
, (comma) Decrease amplitude by the amount specified for the Amplitude Increment
. (full stop) Increase amplitude by the amount specified for the Amplitude Increment
3 Decrease pitch by the amount specified for the Gap Increment
4 Increase pitch by the amount specified for the Gap Increment
1 Decrease corner miter
2 Increase corner miter
Y Toggle starting direction
Tab Open the Interactive Length Tuning mode of the Properties panel
Shift+G Toggle Length Tuning Gauge on/off

If you have trouble remembering shortcuts, don't worry. You only actually need to remember one shortcut, Shift+F1. This is the shortcut for shortcuts - use it during any interactive command to see a list of shortcuts for that command.

Use the shortcut keys to control the shape and amplitude of the tuning accordions, as you place them.

Controlling the Target Length

There are three approaches for specifying the target length:

  • Manually defined
  • Based on a net that has already been routed
  • Defined by design rules

To choose which of these methods is being used, press Tab during length tuning to open the Properties panel in Interactive Length Tuning mode. The lower sections of the panel includes options that define the shape and dimensions of the tuning pattern, which can also be controlled interactively using the shortcuts detailed above. The Target Length section of the panel includes options for selecting from the three Target Length modes.

  • Manual - enter the length in the Target Length field. Recently Used Lengths are retained, in case you want to use one again.
  • From Net - choose a net from a list of nets in the design. The length of this net will become the target, but it will be overridden if there are more restrictive design rules defined - how the rules are applied is discussed below.
  • From Rules - select from the defined Length or Matched Length design rules. The software will then obey the most stringent combination of these rules. Double click on a rule in the list in the panel to examine its properties in detail.

Press TAB during length tuning to open the panel in Interactive Length Tuning mode,
where you can select the target length mode and adjust the accordion parameters.

Configuring the design rules

There are two design rules that are obeyed during length tuning, the Matched Length rule and the Length rule, both are in the High Speed category in the PCB Rules and Constraints Editor.

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 Length rule), or the overall signal delay (think Length rule).

Matched Length design rule

The Matched Length design rule specifies that the target nets must all be routed to the same length, within the specified tolerance. The set of nets that are targeted is defined by the rule scope, or query. The length tuning tool will then find the longest net in the set of target nets and give you a valid range of MinLimit = LongestNet - Tolerance, through to MaxLimit = LongestNet.

Length design rule

Complimenting the Matched Length rule, the Length rule specifies the overall routed length of a net, or set of nets. Targeted nets must have a length within the specified Minimum and Maximum lengths.

How the Rules are Applied

If there is an applicable Length rule and Matched Length rule, the length tuning tool considers both of these rules and works out the tightest set of constraints. So if the maximum length specified by the Length rule is shorter than the longest length targeted by the Match Length rule, then the Length rule wins and its length is used during tuning.

The Valid Range and Target Length are determined as follows:

Matched Net Length MinLimit = LongestNet - RuleTolerance

Matched Net Length MaxLimit = LongestNet

ValidRange = Highest MinLimit to Lowest MaxLimit (most stringent combination of Length and Matched Length rules)

TargetLength = Lowest MaxLimit

If the maximum length specified by the Length rule is shorter than the longest existing route length identified by the Matched Length rule, then the Length rule wins and its shorter length is used during tuning. The panel displays the calculated Min Limit and Max Limit for each rule, use these to check that the target lengths are what you are expecting.

In the image shown above, the target length is being defined by the rules. Note that the most stringent values come from the Matched Net Length rule, the Max Limit value shows that the current length of longest net in the target set of nets is 53.479mm (which is less than the maximum allowed by the Length rule). In this example the tightest allowable tolerance in the range of lengths is the tolerance defined in the Matched Length rule (1mm), so it is used to calculate the ValidRange. The target length is always the more stringent maximum length.

The Interactive Tuning Length mode of the panel displays all design rules that target the net being tuned, with the highest priority applicable rule chosen, and highlighted. If required, you can press Tab to pause interactive tuning and click on a different rule to use, for this tuning session.

Since the Matched Length rule uses the longest route in the targeted set of nets for its reference length, it is possible that there will be no overlap between the existing length identified by the Matched Length rule and Max length specified in the Length design rule. For example, the existing route length might be longer than the Maximum length allowed by the Length design rule. In this situation the message Target Length shorter than old Length will be displayed when you attempt to length tune.

Using the Net Length Gauge

If there is a Length rule and/or a Matched Length rule defined, then you can monitor the length during interactive routing or length tuning by displaying the Length Tuning Gauge. While you are routing, use the Shift+G shortcut to toggle the Gauge on and off.

The Gauge shows the current Routed Length as a number, while the green slider shows the Estimated Length. At first glance at the Gauge it might seem confusing that the Routed Length has not even reached the rule minimum value, but the green slider is somewhere between the rule minimum and maximum - as it is in the image below. That is because the green slider represents the Estimated Length, where

Estimated Length = Routed Length + distance to target.

Routed Length = sum of the lengths of the placed track segments.

Estimated Length = current Routed Length + distance from current location to target pad (length of the remaining connection line).

Signal Length = current Routed Length + Manhattan (X + Y) distance from current location to target pad.

The Gauge displayed as a Length design rule is being obeyed during Interactive Routing - it shows the current Routed length as a number, the green slider shows the current Estimated Length.The Gauge displayed as a Length design rule is being obeyed during Interactive Routing - it shows the current Routed length as a number, the green slider shows the current Estimated Length.

The Gauge functions as follows:

  • A rectangular box that defines the outline of the gauge.
  • 2 vertical yellow bars that indicate the minimum and maximum lengths allowed. The minimum and maximum are determined from the tightest set of constraints defined by the design rules, as described above.
  • A colored slider that shows the current routed length of the net, with the exact length displayed in text on top of the gauge (53mm in the example image). The slider changes from red to green when the current length moves from being out-of range, to be within the minimum and maximum lengths allowed.
  • The gauge's rectangular outline indicates the total range of possible lengths, the meaning of its upper and lower limits depends on the target length mode you have chosen.
    • If there is an applicable Length rule and the mode is Manual or From Net, the lower limit of the slider box is taken from the rule, the upper limit is defined by the user.
    • If there is an applicable Length rule and the mode is From Rules, the upper and lower limits of the slider box are taken from the rule.
    • If the target length mode is Manual or From Net and there is no applicable Length rule, the lower limit of the slider box will be the length of the current net, and the upper limit will be the specified Max Length.

Length Gauge Example

The Gauge settings are calculated from the tightest set of constraints defined by the applicable rules.
The Gauge settings are calculated from the tightest set of constraints defined by the applicable rules.

  • Gauge minimum (left edge of gauge) is 50 (Length rule Min Limit)
  • Gauge maximum (right edge of gauge) is 60 (Length rule Max Limit)
  • Left yellow bar is 52.071 (Matched Net Length MinLimit)
  • Right yellow bar is 55.071 (Matched Net Length MaxLimit)
  • Target length is 55.071 (route length of the longest net in the set)

If you are not happy with a placed tuning accordion, use Undo, or click once to select the accordion and press delete. A deleted accordion is replaced by a section of track segment, which can result in multiple, colinear track segments. To resolve these segments into a single segment, click and hold for a second on any of the segments - this forces the net analyzer to run on that net, resolving all colinear segments into single segments anywhere along that net.

For a given size and style of accordion, it will not always be possible for the software to place accordions so that the length falls within the minimum and maximum allowed. This can usually be resolved by slightly adjusting the amplitude or pitch, using the shortcuts detailed above. This situation is most common when the Rounded mode is used, because the accordion shape is created from 2 arcs. The Mitered Arcs mode can also create an accordion with curved ends, by increasing the corner miter value (press the 2 shortcut while tuning).

Are there downsides to using accordion-style tuning segments? If the adjacent accordion sections are too close together for too long, then crosstalk coupling can distort the signal. For more information read this interesting article on Serpentine (accordion) Delays by an industry expert, Dr Howard Johnson http://www.signalintegrity.com/Pubs/edn/serpentine.htm.

Using the PCB Panel

When the PCB panel is set to Nets mode, it displays the current length of the routed signals. The default mode of the panel is to display the Name, Node Count, Routed length and Un-Routed (Manhattan) length. Right-click on the column headings to display a menu, where you can select extra columns, as well as hide existing columns.

If there are Length design rules configured, then the routed state of each net targeted by the rule is also colored, highlighted in yellow if the route length < rule minimum, clear if the net passes the rule, or red if the route length > rule maximum.

Three of the nets fail the Length design rule, two are short and one is too long.
Three of the nets fail the Length design rule, two are short and one is too long.

Length Tuning Differential Pairs

The length of a differential pair can also be tuned against the length of other differential pairs, using the Interactive Differential Pair Length Tuning command (Route menu). As with differential pair routing, this command operates on the two nets in the pair simultaneously.

Tuning a differential pair requires a Length or a Matched Length design rule scoped to target differential pairs. This is achieved by using one of the Differential Pair query keywords - InAnyDifferentialPair, InDifferentialPair, InDifferentialPairClass, IsDifferentialPair.

If you plan to length tune differential pairs, create one matched length rule that defines the pair-to-pair length matching requirements (with the Group Matched Lengths option enabled), and a second, higher priority matched length rule that defines the within-pair length matching requirements (with the Within Differential Pair Length option enabled), as this is typically a tighter requirement.

A good approach to tune the lengths of differential pairs is to:

  1. Route the pairs
  2. Length tune between the pairs - using the Interactive Differential Pair Length Tuning command
  3. Length tune the shorter net within each pair - using the Interactive Length Tuning command

Tuning Signal Lengths Rather than Net Lengths

If your critical nets include series components, then rather than working with nets, you can define xSignals and use these to scope the design rules used for length tuning. Refer to the Defining High Speed Signal Paths with xSignals article to learn more.

Reshaping an Existing Accordion

Accordions placed by the Interactive Length Tuning command are a smart union, which means the accordion can be selected, modified and deleted as a single object.

Accordions placed by the Interactive Diff Pair Length Tuning command are a set of discrete objects, so they cannot be manipulated after they have been placed. These are most easily removed by re-routing over the top, refer to the Differential Pair Routing article to learn more.

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.

  • The pitch and corner miter shortcuts can be used during interactive reshaping.
  • The Properties panel can also be used (it will display in Accordion mode when an accordion is selected), use the controls to change the shape of the accordion sections.

Converting an Accordion into Primitives

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, available from the main Tools » Convert sub-menu, or the right-click Unions sub-menu.

See Also

If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Content