New Design Rules Editor (New Feature Summary)
This document is no longer available beyond version 21.0. Information can now be found here: Design Rule Management with the Constraints Editor for version 25
This Altium Designer release offers a new alternative approach for viewing, creating and managing design constraint rules used for your PCB layouts. Provided as a document-based user interface, the new Design Rules Editor coexists with the existing Rules and Constraints Editor, but takes a design-orientated rather than purely rule-orientated approach to PCB design constraints.
theSome of the notable advantages of this new approach are:
- Using a document-based presentation interface rather than a modal dialog means that the PCB Editor and its associated functions remain active and accessible. This is a similar approach to the application of a Bill of Materials (BoM) or Layer Stack Manager (LSM) document along with its associated Properties panel mode.
- A shift from query-based rule scoping to an applied object type matching simplifies constraint rule creation.
- Rule priority is automatic, based on the natural hierarchy of design objects.
- Interactive rule validation checking for detecting common syntax, assignment and scoping errors.
- The design constraint rules are available to both the Rules and Constraints Editor and the new document-based Rules Editor. Rules created in the new system are backward compatible with the old system.
New Rules Editor Interface
To access the new Rules Editor document interface, open the existing Rules and Constraints Editor dialog (Design » Rules) and then click the dialog's Switch to Document View button (on the left in the lower margin).
The new Rules Editor is opened as an interactive Rules document that is arranged into six selectable rule sections of increasing priority – Nets, Diff Pairs , xSignals, Polygons, Components and Advanced. In this arrangement the first five sections (Nets to Components) represent a design object view of the rules, while the Advanced view section applies to more complex rules (typically using queries) that cannot be expressed as the simpler design object -orientated rules. Click the Switch to Dialog View button to return to the Rules and Constraints Editor dialog view.
Constraint Rule Types
In the new Rules Editor, existing rules that feature more complex query expressions in their matching scope are considered as Advanced Rules (or Custom Rules) while other simpler rules are re-expressed as the object-type Basic Rules – rules based on the type of design objects being checked. See below for an overview of the design-orientated object (Basic) rules.
Most rules in the Advanced (query-based) format can be converted to the simpler Basic rules by dragging and dropping the rule on to the Basic Rules listing, or by selecting the Move Custom Rule to Basic option from the advanced rule's right-click menu options. When converted, the advanced rule's query-based scope will be interpreted to the basic rule's object type qualification.
Rule Priorities
In general, the priority of Rules is dealt with automatically by the system. This is indicated by the arrangement of the rules view buttons in the interface, which are positioned by rule priority from left to right – Nets having the lowest priority.
- Advanced (or Custom Created) rules take precedence over the sequence of Basic object rules, and can be manually reordered within the Advanced view by dragging their entries up or down.
- Conversely, Basic rules are automatically prioritized by the system based on the design object type, as indicated by the object sections (Nets to Components) in the document interface.
- Within each of the (Basic) object rule sections the priority is ordered from All (lowest) to Object Class to Object (highest), and by inference, rules with an All scope that have been converted to Basic rules will have the lowest priority.
- To set an explicit priority for a Basic rule, right-click on the rule and select the Move Basic Rule to Advanced option, and then manually set its priority position in the Advanced view. This applies to rules other than those with an All scope -- for example in the Nets view, a rule with a Net Class or Net scope specified can be converted (moved) to be an Advanced rule.
New Custom Constraint Rule
Creating a new Rule in the manager's default Advanced mode (as indicated and selected by the button) is similar to constructing a Rule in the existing Rules and Constraints Editor. To do so, select Add Custom Rule from the view's right-click context menu (or the lower button), add a query-based matching scope if required (), and enter the constraint parameters in the column grid or the lower graphical representation.
To simplify the repeated process of creating advanced/custom type rules, the Rules Editor allows you to store query-based object matching scopes in a Scopes Library (via the menu). The library is presented through the Properties panel, where custom scopes can be imported, managed and exported for reuse in other custom constraint rules. The use of a library-based scope in a rule is indicated by an icon in the rule's Object Match column entry.
Scope Cross Probe
The new Rules Editor includes a cross-probe feature that will show a constraint rule's object scope by visually highlighting the net and connections in the corresponding PCB layout. To cross probe to any rule in the manager's grid listing, right click on its entry and choose the Cross Probe option from the context menu, or select the Cross Probe option from an advanced rule's menu.
Set the Cross Probe View Settings – the Zoom and Select options – in the Properties panel, and use the PCB editor Clear Filter option to reset cross probe highlighting.
Design Object Constraint Modes
To take a simpler design-object orientation approach to constraint rule creation, select a suitable object mode button at the top of the rules grid to change from the default Advanced mode. Conceptually, these modes present a more integrated rule interface that focuses on constraining (limiting) how design objects can be applied, rather than the creation of breakable design rules. The positional sequence of the design object buttons relates to increasing object complexity (and rule priority), from basic Nets (and classes) to unified Components and on to the Advanced mode.
When in Advanced mode (), the rules are grouped by type, such as the basic Via
and Width
constraint rules shown in the below image(s). Further rule specificity would be created by adding a further rule and/or including a query language element.
Conversely, the object-orientated views (Nets to Components) organize the rules by design objects (eg: Nets) or classes (eg: Net Class), and as a result provide a direct overview of how the rules apply to the design. To see an overview of rules that apply to an object type, select an object or class in the left column to see all associated rules, or select All to see all rules associated with the object type. The below example shows the overview of rules associated with Nets ().
When using the design object orientated approach say with the Nets object type selected as shown below, the basic Via and Width rules are integrated in one composite entry. The grid layout also offers provision for more constraints to be added by (Net) object and class.
Adding further, more specific constraints in this example requires only that a Net or Net Class is selected, and then suitable values entered in the grid cells that correspond to the desired type of constraint rule. As shown below, a larger Via size has been permitted for Power
nets (defined by its class), and an increased maximum track width is assigned to the 5V
supply rail net. In effect, four rules are encompassed in the one simple grid view – a width constraint for the 5V net, a width constraint for all other nets, a Via size constraint for the Power nets, and a Via size constraint for all other net classes.
Use the button to add a variation of the currently selected constraint rule, such as in the example shown below, where an additional 5V
net rule sets a preferred width for the Bottom
layer.
Note that the availability of rule types within the grid entries is set by the available columns, which is in turn specified by those enabled in the Properties panel Rule Visibility listing. For example, enabling the Clearance entry in the Rule Visibility list will add the Clearance column to the Nets object type, as shown below. Adding an applicable clearance rule then involves just entering a net or class scope and suitable distance parameters.
Rule Validation
The validity of all active rules can be checked in the Rules/Constraints Checks section of the Properties panel by clicking the section's button. This action detects rules for likely errors such as duplicated rules, rules of the same scope with different values, rules with overlapping class members (such as nets), and rules with unresolved scopes. Each violation type entry can be expanded to show its violating rule(s), which when selected will open the specific rule entry.
Rule Violations
Enabled design constraint rules are applied to the current board design through a range of mechanisms, such as live Online Design Rule Checking, the batch Design Rule Checker or selectively run from the PCB Rules and Violations panel. Violations of those constraint Rules – where the specified and scoped limits are exceeded – are indicated through board graphics, panel entries and reports, and also by alert icons in the Rules Editor itself. And as a bonus, violations can be inspected, analyzed and corrected while the Rules Editor is open, thanks to its design document (rather than dialog) format.