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.

Accordion patterns have been added into the routing to ensure that the differential pairs have matched lengths.
Accordion patterns have been added into the routing to ensure that the differential pairs have matched lengths.

The Interactive Length Tuning and Interactive Diff 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.

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.

If needed, length tuning accordions can be added at multiple locations along the route.

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 control over the style and properties of the tuning segments, as they are being added.

Launched from the Route menu, the Interactive Length Tuning command 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. If you drift off course simply bring the cursor back over the route, as soon as you do 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; or defined by design rules.

To select which of these methods is going to be used, press Tab during length tuning to open the Properties panel in Interactive Length Tuning mode. The Target Length section of the panel includes options for selecting the required Target Length mode. The lower section 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.

  • 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 - applicable Length and 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.

Why Do the Tuning Accordions Disappear Sometimes?

The tuning engine builds the accordions according to the current Max Amplitude, Space, Miter and Style settings. There are combinations of these settings, along with the current track width, that can make it impossible for the tuning engine to create an accordion shape. If you are attempting to length tune and the accordions do not appear, try these steps:

  1. Display the Properties panel as you work, so you can observe the various settings. It will automatically display the Interactive Length Tuning mode during interactive length tuning.
  2. Press the Spacebar to cycle through the modes, leaving it in Mitered Lines mode.
  3. Press the 1 shortcut multiple times, to reduce the Miter to zero.
  4. When you first click on a route to tune its length, a selection rectangle will appear. If it is very large (extends a large distance beyond the adjacent routes), press the  key multiple times to reduce the Amplitude. Each press of that key will step the amplitude down by the current Max Amplitude Step setting, a sensible value for the Step setting is around 1/10 of the Max Amplitude setting. If the Step setting is too large, press Tab on the keyboard to pause length tuning, enter a suitable Step value, and click the  button to resume length tuning.
  5. If the white outline rectangle is too small when you start tuning, press the  key to increase the Amplitude.

If you follow these steps you should see rectangular-shaped tuning segments as you length tune. Keep these additional points in mind as you work:

  • The easiest Style for the tuning engine to create is Mitered Line accordions.
  • When you are using the Mitered Arcs style, the current Miter amount also works together with the Amplitude and Space settings. If you are using this Style it can help to use a small amount of Miter until you have found suitable Amplitude and Space values, then increase the Miter to the required amount.
  • The hardest shape to create is Rounded tuning accordions, because the tuning engine's ability to create semi-circular ends is tightly related to the current Amplitude and Space settings. Typically the accordions can be created when the Amplitude > Radius + Route Width.

You can also adjust the properties of a completed accordion - click once to select it, then adjust the Style, Miter and Space settings in the Properties panel. Alternatively, when it is selected click and hold on the accordion, then use the shortcuts to change the Style, Miter and Space. To change the Amplitude or length, click to select it and then drag on the handles of the selection rectangle.

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

Matched Length design rule

The Matched Length design rule specifies that the target nets must all be routed to the length of the longest net in the set, within the specified tolerance ( show image). The set of nets that are targeted is defined by the rule scope, or query.

The length tuning tool will find the longest net in the set of target nets and give you a valid range and target length (Value) of:

  • TargetLength = Longest routed net in set (vertical green bar in Gauge)
  • MinLimit = LongestNet - MatchedLength Rule Tolerance (left yellow bar in Gauge)
  • MaxLimit = TargetLength (right yellow bar in Gauge, obscured by the green bar in above image)
  • Red/green slider = current total route length

Length design rule

The Length design 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 ( show image).

The length tuning tool will find the longest net in the set of target nets and give you a valid range and target length (Value) of:

  • TargetLength = Longest routed net in set (vertical green bar in Gauge)
  • MinLimit = Rule Minimum (left yellow bar in Gauge)
  • MaxLimit = Rule Maximum (right yellow bar in Gauge)
  • Red/green slider = current total route length

How Overlapping Rules are Applied

If there is an applicable Length rule and a Matched Length rule, the length tuning tool considers both rules and works out the tightest set of constraints.

The valid range and target length (Value) are determined as follows:

  • TargetLength = Longest routed net in set, or lowest MaxLimit from rules (vertical green bar in Gauge, obscured by the right yellow bar in above image)
  • MinLimit = (LongestNet - MatchedLength Rule Tolerance), or highest MinLimit from rules (left yellow bar in Gauge)
  • MaxLimit = TargetLength (right yellow bar in Gauge)
  • ValidRange = Highest MinLimit to Lowest MaxLimit (most stringent combination of Length and Matched Length rules)
  • Red/green slider = current total route length

For example, 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 just above, a Length rule and a Matched Length rule apply to the target nets. Note that the most stringent values come from the Matched Net Length rule (tolerance 0.5mm), the Max Limit value shows that the current length of longest net in the target set of nets is 46.836mm (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 (0.5mm), 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 you click to start length tuning a net (or differential pair) that is as long as or longer than the Target Length, the message Target Length shorter than old Length will be displayed.

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 both interactive routing and interactive length tuning, by displaying the Length Tuning Gauge. While you are routing or tuning, use the Shift+G shortcut to toggle the Gauge on and off.

The Gauge shows the current Routed Length as a number, and the red/green slider shows the Estimated Length. If you are length tuning an existing route then the Estimated Length is the sum of all of the placed tracks and arcs (the actual physical length). If you are using the Length Gauge while you are interactively routing a net, then the Estimated Length will be the sum of the placed routing plus the remaining distance to the target pad (the length of the connection line).

During interactive routing, it might seem confusing that the Routed Length has not even reached the rule minimum value, but the Gauge slider is somewhere between the rule minimum and maximum - as it is in the image below. That is because during interactive routing the slider represents the Estimated Length, where:

Estimated Length = Routed Length + distance to target (length of connection line)

The Gauge displayed as a Length design rule is being obeyed during Interactive Routing - it shows the current Routed length as a number, the 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 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 red or green slider that shows the current Routed Length of the net (during length tuning), or the Estimated Length (during interactive routing). 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 current Routed Length (length of the placed tracks and arcs), displayed as a numerical value overlaid on the Gauge slider (62.781mm in the example image).
  • 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 the 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.
    • If the mode is Manual or From Net and there is an applicable Length rule, the lower limit of the slider box is taken from the rule or the current route length (whichever is smaller), the upper limit is defined by the user.
    • If the mode is From Rule and there is an applicable Length rule, or an applicable Matched Length rule, or a combination of both, the lower limit of the slider box is determined from the rule or the current route length (whichever is smaller), the upper limit of the slider box is determined from the rule's MaxLimit.

Definition of the columns in the PCB panel, as shown above:

  • 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.

Length Gauge Example

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

  • Gauge minimum (left edge of gauge) is 45 (lowest MinLimit)
  • Gauge maximum (right edge of gauge) is 48 (highest MaxLimit)
  • Left yellow bar (highest MinLimit) is 46.58
  • Right yellow bar (lowest MaxLimit) is 47.58 (obscured by the green bar in the image above)
  • Green bar (TargetLength) is 47.58 (route length of the longest net in the set, equal to MaxLimit)
  • Green slider and the overlaid numerical value (Current route length) is 47.197.

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 single track segment, which can result in multiple, colinear track segments when it is added between existing segments. To resolve these colinear 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 a single segment anywhere along that net.

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 in the column headings region of the panel 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 the following rules to target the set of differential pairs:

  • A matched length rule that defines the length matching requirements between pairs. To configure the rule to test the length of one pair against the length of another pair, enable the Group Matched Lengths option.
  • A second, higher-priority matched length rule that defines the within-pair length matching requirements. To configure the rule to test the length of one pair-member against the other pair-member, enable the Within Differential Pair Length option.

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

  1. Route the pairs.
  2. First length tune between the pairs using the Interactive Differential Pair Length Tuning command. Length tuning uses the longest signal length in the longest pair as the Target Length, and tunes the longest net in the pair to this length.
  3. Then length tune the shorter net within each pair against the other net in the pair using the Interactive Length Tuning command.
  4. Now you can use the PCB Rules and Violations panel to check the within-pair Matched Net Length rule(s). To do this, select Matched Net Lengths in the Rule Classes section of the panel, then right-click on the required Matched Length rule and select the Run DRC Rule <RuleName> command from the context menu. Adjust the single-net tuning accordions if required.
  5. Then use the PCB Rules and Violations panel to check the between-pair Matched Net Length rule(s), using the process just described. Adjust the differential pair tuning accordions if required.

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

To modify an existing accordion, 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 change the Amplitude or length, click and hold to move, edit the Style in the Properties panel.

  • The Space, Miter and Style shortcuts can be used during interactive reshaping, click and hold on a selected accordion to use them.
  • The Properties panel can also be used (it will display in Accordion mode when an accordion is selected), use the controls to change the Style of the selected accordions.
  • Click and drag on the handles to change the Amplitude or length of a selected accordion.

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. Use the Explode Length Tuning command to do this, available from the main Tools » Convert sub-menu, or the right-click Unions sub-menu. Note that exploding any object in the PCB editor is a one-way process, once an object has been exploded it cannot be converted back into that object-kind.

See Also

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