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

 

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 Tools menu) provide a dynamic means of optimizing and controlling net or differential pair lengths by allowing variable amplitude wave patterns 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 dialog - during length tuning press TAB to open the dialog.

Tuning the length of a net

The elegance of Altium Designer's 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 Altium Designer. Keyboard shortcuts give complete control over the style and properties of the tuning segments as they are being added.

Launched from the Tools 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 Altium Designer 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.

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 dialog
Shift+G Toggle Length Tuning Gauge on/off

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

3 tuning patterns are available, press Shift+F1 for a list of shortcuts that control the tuning pattern properties.
3 tuning patterns are available, press Shift+F1 for a list of shortcuts that control the tuning pattern properties.

Controlling the target length

The length tuning offers 3 approaches for specifying the target length. The length can be:

  • 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 Interactive Tuning Length dialog. The bottom of the dialog includes options that define the shape and dimensions of the tuning pattern, which can also be controlled interactively using the shortcuts detailed above. Options for selecting from the three Target Length modes are at the top of the dialog.

  • Manual - The manual mode is exactly that, you enter the length in the Target Length field. The list on the right keeps track of the values you have typed in, in case you want to use one again.
  • From Net - After selecting From Net you can choose a net from the list on the right. The length of this net will become the target, but it will be overridden if there are more restrictive design rules defined - we'll look more closely at the rules in a minute.
  • From Rules - You need to have one or both of the Length and Matched Length design rules defined to use this mode. Altium Designer will then obey the most stringent combination of these rules. Double click on a rule in the Interactive Tuning Length dialog to examine its properties in detail.

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

If you change the Target Length mode, check the description. The description is invaluable for understanding how the length tuning tool is currently configured.

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 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 that length, plus or minus the Tolerance specified in the rule.

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.

Both the Matched Length rule and the Length rule are specified as distances, whereas your design-mind will be thinking in terms of time - how much later can this signal arrive after that one? The time it takes for a signal to propagate across a printed circuit board depends on a number of factors, including the board materials and the layer (surface or internal). For traditional FR-4, the delay will be in the order of 4 to 6 picoseconds per millimeter. Now that might seem like a pretty small delay, but the problem is more complex than simply considering the timing conditions of an individual routing connection. You'll be factoring these delays into your overall timing scheme, so you can correctly budget for them in the layout.

How the Rules are Applied

As mentioned earlier, 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 (plus the tolerance), then the Length rule wins and its length is used during tuning. Keep an eye on the description region of the Net Length Tuning dialog to know if there are no valid rules, or which numbers it is using from the rules.

In the dialog image shown above, the target length is being defined by the rules. Note that the most stringent combination of the rules is used, so the range is 48.8 (the more stringent minimum) to 50 (the more stringent maximum). The target length is set to half way between these values (49.4).

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 Matched Length and Length design rules. In this situation, the Length design rule is applied.

Using the Net Length Gauge

Whenever you are adding tuning segments with the length tuning tool, the Length Gauge can be displayed (use the Shift+G shortcut to toggle it on and off). The Gauge provides a visual indication of how closely the current route length matches the required length.

The Gauge functions as follows:

  • The Gauge consists of a white box, 2 vertical yellow bars, and a vertical green bar. Within the white box a colored slider will appear, indicating the current length of the net, with the exact length displayed in text on top of the slider.
  • The white box 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 target length mode is manual, the lower limit of the slider box will be the length of the current net, and the upper limit will be the length of the current net plus twice the difference between the current net length and the target length.
  • If the target length is based on design rules, the lower and upper limits of the slider box are taken from the Minimum and Maximum values defined in the Length rule. If there is no Length rule then the slider box is scaled from the length of the current net, the same as it is in manual length mode.
  • The green bar in the Gauge marks the target length, and the yellow bars indicate the minimum and maximum lengths allowed. The minimum and maximum are determined from the tightest set of constraints defined by the design rules.
  • The colored slider bar represents the current length, it changes from red to green when the current length moves from being out-of range, to be within the minimum and maximum lengths allowed.

Net Length Gauge with the matched length based on design rules, as configured in the dialog image shown below.
Net Length Gauge with the matched length based on design rules, as configured in the dialog image shown below.

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.

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 40, from the Length rule Min Limit
  • Gauge maximum (right edge of gauge) is 50, from the Length rule Max Limit, as it is the tightest max rule
  • Target minimum (left yellow bar) is 48.8, from the Matched Length rule Min Limit, as it is the tightest min rule
  • Target length (green bar) is midway between target minimum and target maximum (50 - 48.8) / 2 + 48.8 = 49.4

If you are not happy with a placed tuning accordion, click once to select the accordion and press delete.

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 route length of the nets. 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. The image below shows all 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.

Four nets have been length tuned so far - LCD_DB3 exceeds the rule and 3 other nets are shorter than the applicable Length design rule.
Four nets have been length tuned so far - LCD_DB3 exceeds the rule and 3 other nets are shorter than the applicable Length design rule.

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 (Tools 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.

During differential pair length tuning, the Average Length of the pair is used as the target length. The Average Length is displayed in the Differential Pairs Editor mode of the PCB panel.

If you plan to length tune differential pairs, create one matched length rule that defines the pair-to-pair length matching requirements (with the Check Between Differential Pairs option enabled), and a second, higher priority matched length rule that defines the within-pair length matching requirements (with the Check Nets Within Differential Pair 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

The assumption of this approach is that the finished lengths within each pair are the critical lengths to be equalized, so that is done last. Because the Average Length is used as the tuning target length, if one of the nets in the pair is substantially longer than the other, then after differential pair length tuning, the length of the longer net in the pair may exceed the length allowed by the applicable design rule.

In this situation, disable the applicable Length design rule so that a suitable Matched Length design rule can be applied. Use the Interactive Length Tuning command to tune the length of the shorter net in the pair to match the longer net first (step 3), then re-enable the Length design rule, and tune the length of the pair (step 2). Finally, check that the nets in the pair are still within tolerance, and tune if required (step 3).

This behavior does not occur in later versions of Altium Designer, as they use the longest length rather than the average length.

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

With the release of Altium Designer 14.3, an accordion placed by the Interactive Length Tuning command became 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.

Press the Tab key while modifying the accordion shape to open the Interactive Length Tuning dialog. From here, you can change the Style, Amplitude and Gap (pitch) for the accordion in non-graphical fashion.

Controls related to the accordion pattern, accessed through the Interactive Length Tuning dialog.
Controls related to the accordion pattern, accessed through the Interactive Length Tuning dialog.

Alternatively, as you click and hold on the accordion selection box to reshape it, you can use the shortcut keys to interactively modify the accordion's properties.

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

The features available depend on your Altium product access level. Compare features included in the various levels of Altium Designer Software Subscription and functionality delivered through applications provided by the Altium 365 platform.

If you don’t see a discussed feature in your software, contact Altium Sales to find out more.

Content