Working with the Matched Lengths Design Rule on a PCB in Altium Designer
Rule category: High Speed
Rule classification: Unary
Summary
This rule specifies the allowable difference in net lengths. This rule is essential in a high-speed design, where the challenge is not just about how long it takes the signals to arrive (which is determined by their overall length), but how important it is that the specified signals arrives at the same time. Depending on the signal switching speeds, the function of the signal, and the materials used in the board, the allowed difference could be as much as 500mils, or as little as 1mil.
The set of nets being targeted is defined by the scope of the rule (as defined by its full query), with the reference length (the longest net in the set) being determined by the rule scope, in combination with the Constraints settings. Other targeted nets will pass the rule if their Current Length is:
(LongestLength - tolerance) ≤ CurrentLength ≤ LongestLength
Constraints
- Length Units - choose this option to define the length as a distance.
- Delay Units - choose this option to define the length as a time (how long the signal takes to travel along that length of route).
- Tolerance - specifies a length tolerance when comparing each net with the longest net in the set. Any net whose length does not lie within the specified tolerance is deemed to be too short and will have track added to it should the Equalize Net Lengths command be run.
- Group Matched Lengths - choose this option to check lengths between all nets targeted by the rule scope.
- Within Differential Pair Length - choose this option to check lengths between the nets in each differential pair targeted by the rule scope. Refer to the Tips section to learn more.
How Duplicate Rule Contentions are Resolved
All rules are resolved by the priority setting. The system goes through the rules from highest to lowest priority and picks the first one whose scope expression matches the object(s) being checked.
Rule Application
Online DRC, Batch DRC, the Equalize Net Lengths feature, interactive length tuning.
Notes
- The PCB Editor can add "accordion" sections to nets to equalize their lengths. Having defined the Matched Lengths rule, from the PCB document select Tools » Equalize Net Lengths . The matched lengths rule will be applied to the nets specified by the full query of the rule and accordion sections will be added to those whose length falls outside the permissible tolerance. The underlying algorithm that adds the accordion sections will only do so on vertical and horizontal tracks. If a net has been predominantly routed using 45° track segments, the possibility of successful equalization will be greatly reduced, depending upon the availability and extent of horizontal and vertical track on which to add the equalizing accordion lengths. If nets with such routing do exist, reroute them using short 45° track lengths and more orthogonal sections. The degree of success depends on the amount of space available for the accordion sections and the accordion style being used. The 90° style is the most compact and the 45° style is the least compact. Alternatively, use the Interactive Length Tuning command instead.
- When scoping a Matched Net Length rule for interactive tuning purposes:
- For individual nets - define a class containing the nets that you wish to tune (Net, Differential Pair or xSignal class), and scope the rule to target that class. The length tuning tool will then find the longest net in that set of target nets and give you a valid range for the target nets of:
(LongestLength - tolerance) ≤ CurrentLength ≤ LongestLength
. - For differential pair nets - if there are multiple differential pairs and the design requires pair-to-pair matched net lengths, you will create two Matched Net Length rules. The first rule defines the pair-to-pair length matching requirements, and has the Constraint set to Group Matched Lengths. The second rule is to ensure the nets within each differential pair are within tolerance, and has the Constraint set to Within Differential Pair Length. When this Constraint option is used, the software will detect all differential pairs targeted by the rule scope, and then compare the +ve and -ve members of each pair against each other.
- For individual nets - define a class containing the nets that you wish to tune (Net, Differential Pair or xSignal class), and scope the rule to target that class. The length tuning tool will then find the longest net in that set of target nets and give you a valid range for the target nets of: