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, or the longest (average length) differential pair) being determined by the rule scope in combination with the Constraints settings.
For example, when Check Between Differential Pairs is enabled, the average diff pair length is used for each pair (as displayed in the Differential Pair Editor mode of the PCB panel), with the average length of the longest pair then being compared to the average length of each other pair in the set defined by the scope. If the Check Nets Within Differential Pair option is enabled, then for each pair in the set, the nets within the pair are compared to each other.
Constraints
- 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.
- Check Nets Within Differential Pair - enables net length checking to occur between nets in a differential pair.
- Check Between Differential Pairs - enables net length checking to occur between differential pair nets.
- Check Between xSignals - enables net length checking to occur between defined xSignals.
- Check Between Other Electrical Objects - enables net length checking to occur between every net.
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 and the Equalize Net Lengths feature.
Tips
- 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.
- When scoping a Matched Net Length rule for interactive tuning purposes:
- For individual nets - it can be a good idea to define a net class containing the nets that you wish to tune, and scope the rule to target that net class. 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.
- For differential pair nets - it can be a good idea to define a differential pair class containing the differential pairs that you wish to tune, and scope the rule to target that differential pair class. The length tuning tool will then find the longest differential pair in the set of target differential pairs (using average length), and give you a valid range of that length, plus or minus the Tolerance specified in the rule.