Interactively Tuning the Lengths of Your Routes on a PCB in Altium NEXUS
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 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.
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.
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.
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.
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.
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.
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.
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:
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.
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:
- 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.
- Press the Spacebar to cycle through the modes, leaving it in
Mitered Lines
mode. - Press the 1 shortcut multiple times, to reduce the Miter to zero.
- 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.
- 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
.
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.
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 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.
Length Gauge Example
- 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 toMaxLimit
) - Green slider and the overlaid numerical value (Current route length) is 47.197.
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
.
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.
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:
- Route the pairs.
- 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.
- Then length tune the shorter net within each pair against the other net in the pair using the Interactive Length Tuning command.
- 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.
- 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.
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.
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
- The Routing
- Interactive Routing
- Differential Pair Routing
- Controlled Impedance Routing
- Modifying the Routing
- High Speed Design
- Website for Eric Bogatin, signal integrity lecturer and industry expert http://www.bethesignal.com/
- Website for Dr Howard Johnson, high speed design lecturer and industry expert http://www.signalintegrity.com/
- Website for Lee Ritchey, lecturer and high speed PCB design expert http://www.speedingedge.com/