Altium Designer Documentation

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

Created: December 22, 2021 | Updated: March 17, 2022

Parent page: PCB Layout & High Speed Design

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, or the  button on the Active Bar) provide a dynamic means of optimizing and controlling net or differential pair lengths by allowing variable amplitude tuning patterns to be inserted, according to the available space, rules, and obstacles in your design.

Three styles of tuning patterns are available: Accordion, Trombone, and Sawtooth. 

Three styles of tuning patterns are available, press Tab after launching the Interactive Length Tuning command to select the pattern.Three styles of tuning patterns are available, press Tab after launching the Interactive Length Tuning command to select the pattern.

Length tuning properties can be based on design rules, properties of the net, or values you specify. Controls for these wave patterns 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 patterns 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 (or via the  button on the Active Bar), 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.

  • The tuning pattern will default to the last-used pattern, press Tab after launching the command (before starting to tune a length) to select a different pattern.
  • 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.

Selecting the Tuning Pattern

Length tuning supports all three popular tuning patterns: Trombone, Sawtooth, and Accordion. Press Tab after launching the Length Tuning command to open the Properties panel in Interactive Length Tuning mode, click the appropriate button to choose the required Pattern, then start length tuning a net.

Press Tab after launching the Interactive Length Tuning command to select the pattern.Press Tab after launching the Interactive Length Tuning command to select the pattern.

Tuning Pattern Properties

Sawtooth Pattern Properties

  • Angle - slope of the leading and trailing tooth edges, relative to the original route path of the net being tuned.
  • Tooth Width - width of the top of the tooth.
  • Actual Height - current tooth height, measured from the centerline of the original route path being tuned, to the centerline of the tooth's top track segment. Press Tab during placement to edit the Actual Height value.
  • Step - the increment value which the Actual Height field is decreased/increased by when using the , or . shortcut keys during sawtooth placement or clicking the - or + buttons at the right of the Actual Height field.
  • Min Height - minimum allowable tooth height.
  • Min Joint - minimum length of the first colinear track segment placed before the first tooth is created.
  • Single Side - create the tuning pattern so that it only projects in one direction from the original route path. Press the S shortcut during placement or interactive editing to toggle the option on or off.
  • Fixed Size - fixes the Sawtooth Height to the current height, and prevents the creation of teeth that are not at that size.

Trombone Pattern Properties

  • Space - the distance between the centerlines of adjacent trombone switchback paths. Press the 3 or 4 shortcut keys to interactively decrease or increase the Space, in increments of Space Step.
  • (Space) Step - this is the amount the Space value is changed when the 3 or the 4 shortcut key is pressed during trombone placement or interactive editing.
  • Miter - percentage that the corners of the tuning pattern are mitered when the Style is Mitered Lines or Mitered Arcs. Press the 1 or 2 shortcut keys to interactively decrease or increase the Miter, in increments of Miter Step.
  • (Miter) Step - this is the amount the Miter value is changed when the 1 or 2 shortcut keys are pressed during trombone placement or interactive editing.
  • Style - style of the trombone corners, choose between Mitered Lines, Mitered Arcs or Rounded. The Style is changed by pressing the Spacebar shortcut key during trombone placement or interactive editing.
  • Single Side - create the tuning pattern so that it only projects in one direction from the original route path. Press the S shortcut during placement or interactive editing to toggle the option on or off.

Accordion Pattern Properties

  • Max Amplitude - the maximum height (measured from the original route path) that the accordion can extend (it can be less than this, for example to avoid an existing obstacle). Press the or shortcut keys to interactively decrease or increase the Amplitude, in increments of Amplitude Step.
  • (Amplitude) Step - the amount that the Amplitude will change 
  • Space - the distance between the centerlines of adjacent accordion switchback paths. Press the 3 or 4 shortcut keys to interactively decrease or increase the Space, in increments of Space Step.
  • (Space) Step - this is the amount the Space value is changed when the 3 or the 4 shortcut key is pressed during accordion placement or interactive editing.
  • Miter - percentage that the corners of the tuning pattern are mitered when the Style is Mitered Lines or Mitered Arcs. Press the 1 or 2 shortcut keys to interactively decrease or increase the Miter, in increments of Miter Step.
  • (Miter) Step - this is the amount the Miter value is changed when the 1 or 2 shortcut keys are pressed during accordion placement or interactive editing.
  • Style - style of the accordion corners, choose between Mitered Lines, Mitered Arcs or Rounded. The Style is changed by pressing the Spacebar shortcut key during accordion placement or interactive editing.

Working with Placed Trombone and Sawtooth Patterns

For the Trombone and Sawtooth patterns, the polygonal area that the pattern is constructed within an envelope that can be thought of as a sleeve. Click to select a placed pattern and display the sleeve.

The trombone and sawtooth patterns are built within a sleeve shape, which supports a variety of shape-change behaviors.The trombone and sawtooth patterns are built within a sleeve shape, which supports a variety of shape-change behaviors.

There a number of different movement and size-change behaviors available, depending on where you click and hold on the sleeve. There are three zones where you can click and drag, these are shown in the image above.

  • Click and Drag on Zone 1 or 2 to lengthen or widen the pattern. Note that it is not necessary to click on a handle to resize the pattern, use anywhere along the sleeve edge.
  • Click and Drag on Zone 3 to freely move the pattern along or perpendicular to the original route path.
  • Edit the properties of the selected pattern(s) in the Properties panel.

The Shift and Ctrl shortcuts can be included during a click and drag action, modifying the behavior in the following ways:

  • Shift + Click and Drag on Zone 1 or 3 to slide the pattern along the original route path, maintaining the pattern's lateral distribution across the route path.
  • Ctrl + Click and Drag on Zone 2 or 3 to move the pattern perpendicular to the original route path.

  • Note that the Shift and Ctrl shortcuts are modifiers, they can be applied/released during a Click and Drag action. For example, press Shift while lengthening a pattern to switch to sliding mode, then release to resume lengthening. 
  • To re-center a selected pattern, enable and then disable the Single Side option, the pattern will default to a centered location.

Rotating a Placed Accordion Pattern

As you tune the lengths of multiple nets, it can become difficult to fit additional tuning patterns in. If you are using Accordion patterns they can be rotated, which can help fit them between obstacles or add additional patterns. The video below demonstrates how to rotate a placed accordion pattern.

To rotate a selected accordion, hold Ctrl then:

  • Click and drag on either end of the accordion selection box to pivot around the opposite end of the accordion.
  • Click and drag on either side of the accordion selection box to pivot around the center of the accordion.
  • Press the R key during rotation to toggle (on/off) the rotation to snap in 45-degree increments.

The accordion pattern does not support the sleeve concept, so does not support placing or sliding around a corner.

Controlling the Pattern Properties During Length Tuning

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

The shortcuts available during length tuning include:

Shortcut Function
Tab Open the Interactive Length Tuning mode of the Properties panel (all patterns)
Spacebar Cycle through the 3 tuning corner styles (Accordion & Trombone patterns)
Decrease amplitude by the amount specified for the Amplitude Step (Accordion pattern)
Increase amplitude by the amount specified for the Amplitude Step (Accordion pattern)
3 Decrease pitch by the amount specified for the Space Step (Accordion & Trombone patterns)
4 Increase pitch by the amount specified for the Space Step (Accordion & Trombone patterns)
1 Decrease corner miter (Accordion & Trombone patterns)
2 Increase corner miter (Accordion & Trombone patterns)
s Toggle the Single Side option on/off (Sawtooth & Trombone patterns)
Shift Hold Shift to switch from placing the pattern, to sliding the pattern. Release to continue placing the pattern (Sawtooth & Trombone patterns)
Shift+G Toggle the 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 pattern during placement.

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.

    Note that if an applicable Matched Length design rule has an xSignal selected as a Source Target for the scoped xSignal class, two modes will be listed for this rule: one for applying the rule based on the longest xSignal in the class, another for applying the rule based on the selected xSignal as the source target (name of this xSignal will be denoted in parentheses after the rule name).

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

Found an issue with this document? Highlight the area, then use Ctrl+Enter to report it.

Contact Us

Contact our corporate or local offices directly.

We're sorry to hear the article wasn't helpful to you.
Could you take a moment to tell us why?
200 characters remaining
You are reporting an issue with the following selected text
and/or image within the active document: