Length Tuning

Two of the core challenges in routing a high-speed design are: controlling the impedance of the routes, and matching the lengths of critical nets.

  • Impedance controlled routing helps to ensure that the signal that leaves an output pin arrives in good condition to be correctly received by the target input pin. Learn more about impedance controlled routing.

  • Tuning the route lengths so that they match ensures that timing-critical signals arrive at their target pins at the same time. Tuning and matching the route lengths is also essential for differential pair routing, particularly within the pair.

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

The Interactive Length Tuning and Interactive Diff Pair Length Tuning commands 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, design constraints, and obstacles in your design. Length tuning properties can be based on: pre-configured design constraints, properties of the net, or a value you specify. 

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.

Configuring the Design Constraints

The approach used to define the design requirements – either using the Constraint Manager or defining them as Design Rules – is made when you set the Constraint Management option in the Create Project dialog during project creation. Learn more about Defining Design Requirements Using the Constraint Manager. Alternatively, learn more about Defining, Scoping and Managing Design Rules. There is also one-way support for switching a design-rules based project to the Constraint Manager.

The best way to ensure that critical route lengths match is to define design constraints. There are two design constraints that are applied during length tuning – the Matched Length constraint and the Length constraint. While the Constraint Manager and the PCB Rules and Constraint Editor use different approaches to configuring these constraints, the underlying constraint is the same. On this page the process is described using the PCB Rules and Constraint Editor, with additional information provided to guide the process if you are using the Constraint Manager.

In the PCB Rules and Constraints Editor, the Matched Length constraint and the Length constraint are both accessed in the High Speed category. Either or both of these constraints may be important in your design, it depends if your potential issues are related to skew (use the Matched Length constraint), or overall signal delay (use the Length constraint).

The Properties panel displays all design constraints that target the net being tuned, with the highest priority applicable constraint chosen, and highlighted.

Matched Length Design Constraint

The Matched Length design constraint specifies that the target nets must all be routed to the length of the longest net in the set, or the Source target if that option is available and selected in the constraint. When interactive length matching is performed, the length of the net will be tuned to be within the specified tolerance (). The set of nets that are targeted by the constraint is defined by the constraint scope or query.

The length tuning tool will either use the chosen Source target, or 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

  • MinLimit = LongestNet - MatchedLength Constraint Tolerance

  • MaxLimit = TargetLength

  • A good approach is to define a class that includes the nets that be tuned, and then scope the constraint to target that class.

  • Use this to constraint the lengths either: between the objects targeted by the scope, for example all of the xSignals InxSignalClass (); or within the members of the targeted differential pairs, for example the +ve net against the -ve net in InDifferentialPairClass ('DIFF100') (). Set the option as required if the constraint is defined as a design rule.

  • If the constraint is defined in the Constraint Manager the approach to targeting the between objects changes depending on the set of objects being targeted. If the objects are xSignals, use the xSignal mode of the Electrical view in the Constraint Manager (). If the objects are targeted as a net, as a differential pair, or as class of either, add the constraint as an Advanced Rule in the All Rules view of the Constraint Manager ().

  • To target the constraint within the members of a differential pair in the Constraint Manager, the opposite approach is used; namely xSignals are targeted by creating an Advanced Rule (), and differential pairs are targeted using the Diff Pair mode of the Electrical view in the Constraint Manager ().

Learn more about the Matched Length constraint.

Length Design Constraint

Complementing the Matched Net Lengths constraint, the Length design constraint specifies the minimum and maximum permissible routed length of a net, or set of nets. Targeted nets must have a length within the specified Minimum and Maximum lengths ().

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

  • MinLimit = Constraint Minimum

  • MaxLimit = Constraint Maximum

Learn more about the Length constraint.

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

  • The Properties panel displays all design constraints that target the net being tuned, with the highest priority applicable constraint chosen, and highlighted.

Choosing the Tuning Pattern

The tuning pattern must be chosen after launching the command, and before you commence length tuning.

To choose the tuning pattern:

  1. Launch the Route » Interactive Length Tuning command.

  2. Press Tab to pause tuning and display the Properties panel. 

  3. Select the required pattern (and edit the pattern settings if required).

  4. Press the pause button  to return to the Length Tuning command (or press the Esc key),ready to click on a net and tune its length.

Can I change the pattern after starting to tune? Once length tuning has been started (i.e. a route has been clicked on), the selected tuning pattern cannot be changed to another pattern. Right-click once to drop the route (or press Esc), you will remain in the Length Tuning command and then be able to press Tab, access the Properties panel, and change the pattern.
Can I change the pattern properties? Pattern geometry properties can be configured in the Properties panel before you start tuning, at any time during tuning, or after tuning (select the pattern). Refer to the accordion, trombone and sawtooth geometry properties sections below to learn more.
What is the Step setting?

The Step field shows the amount that the associated value will change when you click the Click and drag to move buttons in the Properties panel (or using the shortcuts during interactive length tuning or interactive editing).

What pattern and values are used next time? The tuning pattern will default to the last-used pattern, with the last-used settings.

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

Use the shortcut keys to control the shape and amplitude of the tuning pattern during placement.

To tune the length of a net:

  1. To perform length tuning based on constraints, configure the Matched Length and/or Length design constraints.

  2. Launch the Interactive Length Tuning command from the Route menu (or the  button on the Active Bar).

  3. Press Tab to open the Properties panel where you can select a length tuning pattern, then click the design space pause button () to resume placement.

  4. Click on a route in the design space to start tuning its length. Move the cursor along the route in the direction that the accordion is to be added, a tuning pattern will appear and continue to grow as the cursor moves. The animation below shows examples of placing accordion tuning patterns.

  5. To change the properties of the tuning pattern during length tuning, press Tab to open the Properties panel, or use the shortcut keys detailed below.

What Defines the Target Length of the Tuning Pattern?

During interactive length tuning, the Target section of the Properties panel includes options for selecting the required Target Length mode (). There are three modes available: manual (user-defined length), from net/pair (based on an existing net/pair length), or from rule (design constraint).

Manual Click the Manual button to enter the length in the Value field (). Recently Used Lengths are retained, in case you want to use one again.
From Net / From Diff Pairs Click to display a list of already routed nets/differential pairs. Choose a net/differential pair to set the length Value ().
From Rules Click to display a list of applicable Length and/or Matched Length design constraints (). The software will obey the most stringent combination of these constraints. Double-click on a constraint in the list in the panel to examine its properties in detail. To learn more about how the Length and Matched Length design constraints are applied when tuning a net, refer to the Configuring the Design Constraints section. The applied constraint is highlighted in blue. You can change the applied constraint as you tune by clicking that constraint's entry – it will become the constraint highlighted in blue, and the target length (and descriptive text) will change accordingly.
Value The length that the tuning algorithm will attempt to achieve with the addition of tuning segments. Note there are a number of reasons that it may not be possible for the tuning algorithm to be able to add tuning segments, check out the Why Do the Tuning Patterns Disappear Sometimes? section to learn more.
Clip to Target If enabled, the tuning algorithm will stop adding tuning shapes when the length is within Tolerance of the Value.
  • Note that if Length and/or Matched Net Length constraints exist they are always used to provide a length range, even when the Manual or From Net modes are chosen. These constraints may be more restrictive that the manual/net defined length.

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

Monitoring the Signal Lengths

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 Unrouted (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. Note that the Routed Length is calculated based on the sum of the lengths of the placed track and arc segments that form the routing, plus the vertical distance traversed through vias. The routed length calculator does not attempt to resolve overlapping track segments or routing wiggles inside pads.

For an accurate calculation of the total node-to-node distance, enable the Signal Length column. The signal length calculator analyzes all placed objects in the route path to resolve stacked or overlapping objects and wandering paths within pads, and includes via lengths. If the net is not completely routed the Manhattan (X + Y) length of the connection line is also included. Always ensure that the Signal Length column is enabled if you are preforming length matching.

If there are Matched Length or Length design constraints configured, the Signal Length cell of each net targeted by a constraint is also colored, highlighted in yellow if the route length < constraint minimum, clear if the net passes the constraint, or red if the route length > constraint maximum.

Learn more about the nets section of the PCB panel.

Using the Net Length Gauge

If there is a Length constraint and/ or a Matched Length constraint defined, you can monitor the tuning length during interactive length tuning by displaying the Length Tuning Gauge. 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).

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

Understanding the Gauge

Green slider
(and overlaid numerical value)
Current route length, 47.197 in the example above
Left edge of gauge Gauge minimum, 45 in the example above (lowest MinLimit)
Right edge of gauge Gauge maximum, 48 in the example above (highest MaxLimit)
Left yellow bar Highest MinLimit, 46.58 in the example above
Right yellow bar Lowest MaxLimit, 47.58 in the example above (obscured by the green bar in the image)
Green bar TargetLength , 47.58 in the example above (route length of the longest net in the set, equal to MaxLimit)
  • If you are not happy with a placed tuning pattern, use Undo, or click once to select the pattern and press Delete. A deleted pattern 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.

  • Learn more about working with the Net Length Gauge during interactive routing.

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.

Modifying a Placed Tuning Pattern

To modify a placed tuning pattern, click once to select it and display the editing handles.


Resize the accordion bounding box to change the Amplitude or length, click and hold to move, edit the Style in the Properties panel.

Modifying a Placed Tuning Pattern

Change the style Click to select a pattern (or patterns), then change the style and other settings in the Properties panel. The shortcuts can also be used, click and hold a selected tuning pattern to use them.
Move a pattern Click and drag to move a pattern. While the accordion pattern does not support the sleeve concept so does not support placing or sliding around a corner, the Trombone and Sawtooth patterns do. Learn more about working with Trombone and Sawtooth patterns.
Resize the pattern Click and drag on an edge or vertex to resize the pattern bounding region – the pattern sections are automatically resized to suit the new updated shape of the bounding region.
Rotate an accordion

Select the accordion, hold down 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.

Change the layer The Properties panel of a placed tuning pattern selected in the design space includes the Layer drop-down in its Properties region. Use this drop-down to quickly change the signal layer where the tuning pattern is placed (). Note that you can select multiple routing objects (tuning pattern, tracks, arcs) and change their signal layer in a single action.

Length Tuning Differential Pairs

There are two aspects to length tuning differential pairs: the first is tuning the lengths of each pair in a set so that all of the pairs are the same length; the second is tuning the length of the shorter net within each pair, a process referred to as phase matching

To length tune differential pairs, create the following constraints to target the set of differential pairs:

  • A matched length constraint that defines the length matching requirements between pairs. To test the length of one pair against the length of another pair enable the Group Matched Lengths option, as described in the Matched Length Design Constraint section above.

  • A second matched length constraint that defines the within-pair length matching requirements. To test the length of one pair-member against the other pair-member enable the Within Differential Pair Length option, as described below.

Length Tuning between the Differential Pairs

Once the differential pairs have been routed, any difference between the pair lengths can be matched.

Demonstration of tuning the lengths of the pairs, then tuning the lengths within each pair.

Length Tuning Between Pairs

Targeting the pairs

Typically the pairs are targeted by the Matched Length design constraint using one of the Differential Pair query keywords - InAnyDifferentialPair, InDifferentialPair, InDifferentialPairClass, IsDifferentialPair. To match the lengths between pairs, enable the Group Matched Lengths option in the Matched Length design constraint (Between pair tolerance - Constraint Manager Between pair tolerance - Rules dialog). 

If you have defined xSignals these can be used to scope the length tuning design constraints, and the Source Target option will become available in the constraint. Refer to the Defining High Speed Signal Paths with xSignals page to learn more.

What is the target length?

The Matched Length design rule detects the longest pair targeted by the rule scope and uses the Longest Signal Length value of that pair as the Max Limit for the other targeted pairs, setting the Min Limit to Max Limit - Tolerance. Note that this is a dynamic process, as pairs are tuned it is possible that a newly tuned pair becomes the longest, with its longest net becoming the new Longest Signal Length value.

Tune the length of a pair To tune the length of a pair, run the Route » Interactive Differential Pair Length Tuning command. As with differential pair routing, this command operates on the two nets in the pair simultaneously. Learn more about tuning the length of a net.
Controlling the shape during tuning As with single-net length tuning, after launching the length tuning command you must select the tuning style before clicking on a route. During length tuning, the properties of that style can be changed using the shortcuts, or by pressing Tab to access the Properties panel.
Monitoring the progress

During length tuning, use the Shift+G shortcut to toggle the Net Length Gauge on and off.

You can also monitor the progress in the PCB panel, in Nets mode or xSignals mode (). Yellow highlight indicates a value that is below the constraint Min Limit, red highlight indicates a value that is above the Max Limit.

Adjusting the finished tuning shape Tuning shapes are objects, they can be selected, dragged, resized and deleted. Learn more about modifying a placed tuning pattern.
Checking the results Use the PCB Rules and Violations panel to check the between-pair Matched Net Length constraint(s) (). Adjust the tuning accordions if required.

Static Phase Matching for Differential Pairs

Given the inherently poor differential coupling that can be achieved when a signal pair is implemented as routing on a printed circuit board, matching the lengths of the two nets in the pair plays a critical role in the overall effectiveness of differential pair routing.

Length matching ensures that the positive and negative sides of the pair arrive at the same time, a technique referred to as phase matching. The simplest approach to match the phase is to add a length tuning shape somewhere along the length of the shorter net in the pair. This type of length tuning is referred to as static phase matching, meaning, the overall lengths match, but there has been no attempt made to resolve the length mismatch as it occurs along the path of the differential route.

Demonstration of tuning the lengths within each pair.

Static Length Tuning Within the Pair

Targeting the pairs Typically the pairs are targeted by the Matched Length design constraint using one of the Differential Pair query keywords - InAnyDifferentialPair, InDifferentialPair, InDifferentialPairClass, IsDifferentialPair. To match the lengths with each pair, enable the Within Differential Pair Length option in the Matched Length design constraint (Within pair tolerance - Constraint Manager Within pair tolerance - Rules dialog). Configure the tolerance as required.
Tune the length of the shorter net in the pair To tune the length of the shorter net in the pair, run the Route » Interactive Length Tuning command. Learn more about tuning the length of a net.
Controlling the shape during tuning After launching the length tuning command you must select the tuning style before clicking on a route. During length tuning, the properties of that style can be changed using the shortcuts, or by pressing Tab to access the Properties panel.
Monitoring the progress

During length tuning, use the Shift+G shortcut to toggle the Net Length Gauge on and off.

You can also monitor the progress in the PCB panel, in Nets mode or xSignals mode (). Yellow highlight indicates a value that is below the constraint Min Limit, red highlight indicates a value that is above the Max Limit.

Checking the results

Use the PCB Rules and Violations panel to check the within-pair Matched Net Length constraint(s) (). Adjust the tuning accordions if required.

Automatic Length Tuning

The PCB editor also supports automatic length/delay tuning (or multi-tuning), for both single nets and differential pairs. Regular traces and odd angles (apart from differential pairs at odd angles) are also supported.

The Auto Length Tuning feature is available when the PCB.TraceTuning.AutoTuning option is enabled in the Advanced Settings dialog.

The Auto Tuning process will attempt to tune the lengths of the currently selected nets, in accordance with the applicable Matched Length / Length design constraints. Refer to the Configuring the Design Constraints section to learn more.

Lengths can be automatically tuned, both between nets and pairs, and also within each pair.

The functionality is used as follows:

Automatic Length Tuning Between Nets ()

Configure how lengths are matched Configure the Length / Matched Length (with the Group Matched Length option enabled) design constraint for the nets / diff pairs / xSignals as required.
Select nets to be matched Select the nets whose lengths are to be tuned.
Configure the length matching pattern

Select the Route » Automatic Length Tuning command (shortcut: Ctrl+Alt+T) from the main menus to open the Auto Tuning Process dialog (). In the dialog, select the Min/Max/Group Matching mode to tune the lengths between the nets.

Select the accordion-based pattern style and configure its attributes as required. Refer to the Choosing the Tuning Pattern section to learn more.

Auto tune the lengths Click OK in the Auto Tuning Process dialog and the software will attempt to create the tuning patterns.
 
 
 
 
 

Automatic Diff Pair Phase Matching ()

Configure how lengths are matched Configure the Length / Matched Length (with the Within Differential Pair Length option enabled) design constraint for the nets / diff pairs / xSignals as required.
Select nets to be matched Select the nets whose lengths are to be tuned.
Static phase matching Static matching is applied when the Dynamic Phase Matching ()Dynamic Phase Tolerance () option is disabled in the Matched Length constraint. Tuning patterns are added anywhere along the length of the shorter net in the pair.
Dynamic phase matching Dynamic matching is applied when the Dynamic Phase Matching ()Dynamic Phase Tolerance () option is enabled in the Matched Length constraint. Tuning patterns are typically added at multiple points along the shorter net in the pair.
Configure the within pair Sawtooth tuning properties

Select the Route » Automatic Length Tuning command (shortcut: Ctrl+Alt+T) from the main menus to open the Auto Tuning Process dialog (). In the dialog, select the Within Pair Matching mode to tune the lengths within the pair.

Configure the attributes of the sawtooth pattern style as required. Refer to the Sawtooth Tuning Pattern section to learn more.

Auto tune the lengths Click OK in the Auto Tuning Process dialog and the software will attempt to create the phase tuning patterns.

The Phase Tuning is in Open Beta and available when the PCB.TraceTuning.PhaseTuning option is enabled in the Advanced Settings dialog.

  • For dynamic phase matching, the electrical types of pads at either end of a routed diff pair are taken into account, so that if a source/load has been specified, tuning will be applied moving along the diff pair in the appropriate direction.

  • Automatic within pair tuning uses the Sawtooth pattern to minimize the disruption to the impedance balance and geometry of the pair.

Other Tuning Tools

Suggested Reading

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

The features available to you depend on which Altium solution you have – Altium Develop, an edition of Altium Agile (Agile Teams or Agile Enterprise), or Altium Designer (on active term).

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

Legacy Documentation

Altium Designer documentation is no longer versioned. If you need to access documentation for older versions of Altium Designer, visit the Legacy Documentation section of the Other Installers page.

Content