Parent page: Design Rule Check (DRC)
With care and attention and staged design rule checking along the way, running that final Batch DRC on the finished, fully routed board may yield only a few design violations, if any. However, there may be a sizable quantity of violations flagged, and now the task becomes one of resolving those violations.
DRC reports generated by running a Batch DRC can appear quite daunting to the new PCB designer. The secret to keeping the process manageable is to develop a strategy. One strategy is to limit the number of violations that are reported. When setting up the report options in the Design Rule Checker dialog, set the Stop When Found feature to a small number. Another strategy is to run the DRC in a number of stages. If the design contains a large number of violations, begin by enabling the rules one at a time. With experience, you will develop a preferred approach to testing the various design rules.
There are a number of ways violation information is displayed within the software. The violation markers (both Overlay and Detail) provide strong clues to the location and nature of the violation. For example, in the image below the via on the left has a detail marker that shows the diameter of the via is less than 1mm, so it must be smaller than the size allowed in the applicable Routing Via Style design rule. There is also a line drawn from the via to a pad that is nearby; this line is broken by a double-slash. This indicates that the net is un-routed (broken) between the via and pad. Use the detail markers to help interpret the error condition.
Detail Markers showing a via that is under-sized and an un-routed net.
To effectively resolve a design violation, you must first be able to locate it. The PCB Editor provides various methods for interrogating design violations, as described in the following sections.
From the PCB Rules And Violations Panel
The PCB Rules and Violation panel simplifies the process of understanding and interpreting which objects a rule applies to, and why it is failing. When running an Online or Batch DRC, any rule violations will be listed in the Violations region of the PCB Rules And Violations panel. Browse violations associated with a specific rule class or individual rule within a class. Alternatively, browse all violations by selecting the [All Rules] class.
Clicking on a violation entry will apply filtering using the offending object(s) as the scope of the filter. The resulting view in the main design window will depend on the highlighting options enabled (Mask/Dim/Normal, Select, Zoom) at the top of the panel.
Interrogate rule violations using the PCB Rules And Violations panel.
Double-clicking on a violation entry (or right-clicking and choosing Properties) will open the Violation Details dialog, which provides information about the rule being violated and the primitive(s) responsible. From this dialog the offending object can be highlighted (causing it to flash in the design space) and jumped to, effectively providing 'zoom and center'.
Using the Violation Details dialog to highlight (and jump to) the primitives involved in a design rule violation.
The PCB Rules And Violations panel
Design Rule Checking (DRC) is a powerful automated feature that checks both the logical and physical integrity of your design. The PCB Rules And Violations panel allows easy browsing of the enabled design rules and violations in the current board layout workspace. The panel provides a central point for browsing and editing rules, instigating design rules checks, and viewing individual violations as graphic overlays in the editor workspace.
- To display the PCB Rules And Violations panel, click the Panels button at the bottom-right of Altium Designer when the PCB Editor is active then select the PCB Rules And Violations entry.
- Alternatively, you can access the panel by clicking View » Panels » PCB Rules And Violations.
- When a DRC batch process completes, the PCB Rules and Violations panel automatically launches.
The controls at the top of the panel allow you to apply highlighting, zoom, etc., to design rules/violations in the design space.
- Apply - click to apply the chosen highlighting options to the selected rule.
- Clear - click to clear the highlighting options from the selected rule.
- Magnify - click to open a pop-up that allows you to control the zooming of highlighted objects. Use the slider bar to configure the zooming level.
- Drop-down - select from the drop-down the desired mask/dim highlighting. Choices are: Normal, Mask, and Dim.
- Select - enable to select the rule
- Zoom - enable to zoom to the violation
- Clear Existing - enable to clear the existing highlighting features of the selected rule.
Selecting Rules and Violations
The body of the PCB Rules And Violations panel has four sections, each offering a finer scope of the design rules and violations:
- Rule Classes - Design rules grouped by classes, such as Clearances and Widths.
- Rules - The individual design rules of the selected class. The specific DRC can be run via the right-click menu.
- Violations - Details of each rule violation reported by activated design rules checks.
- Waived Violations - Details of each waived rule violation reported using the Waive Selected Violations command. This section is visible only after at least one violation has been waived.
Selecting an individual rule violation causes the design workspace to graphically highlight that violation. Enhanced violation graphics are drawn only on the layers on which the offending primitives reside, and that layer (if enabled) will become the active layer in the workspace. When the rule violations details are enabled (see below), the editor's graphics will display the constraint value defined for the rule and indicate how the offending primitive(s) are either below or above this value.
Violation of a minimum Width rule set to 12mil.
Violation of a Via dimension rule set to minimums of 50mil diameter and 28mil hole size.
Note that if you have the Zoom highlighting method enabled, the workspace will be zoomed-in to fit the browsed violation for a much more precise 'view' of the violating area. The level of that zoom can be varied via the panel's Magnify button.
You can also directly access violations from within the design space. With the cursor over an offending primitive, right-click and select Violations from the context menu, then select the appropriate violation to open the Violation Details dialog.
Controlling the Display of DRC Violations
The visual display of DRC violations can be configured to maximize clarity and/or suit your own preferences by setting the style, number and color of the graphic markers. Along with the graphic display of violation details, the design primitives can be overlaid with a graphic pattern selected from a number of styles.
Top: Violation details enabled. Middle: Violation error overlay enabled.
Bottom: Both details and error overlay enabled.
Violation Display Preferences
Control over how DRC violations are displayed using the custom violation graphics and/or a defined violation overlay is specified on the PCB Editor – DRC Violations Display page of the Preferences dialog.
Choose how you want DRC violations to be displayed in the workspace - using custom graphics and/or a defined violation overlay.
Specifying the Overlay Style
Use the options in the Violation Overlay Style region of the page to specify the style of violation overlay to use. The table below illustrates example results for a routed track on the Top Layer in violation of a Width rule based on the chosen violation overlay style.
None (Layer Color)
The DRC override color is ignored,
leaving the default layer color visible only.
Solid (Override Color)
The DRC override color is used,
totally overriding the default layer color.
The DRC override color is used in the display
of an exclamation-type pattern, leaving the
default layer color also visible.
The DRC override color is used in the display
of a cross-type pattern, leaving the default
layer color also visible.
(This is the default override pattern).
Specifying Violation Display Style for each Rule Type
The Choose DRC Violations Display Style region of the dialog presents a grid allowing you to choose the display style used on a per-rule basis. Enabling the Violation Details field for a rule type will use the associated custom violation graphics to display the DRC violations of that rule. Enabling the Violation Overlay field will display the violations using the specified overlay style.
Right-click within the grid to access a menu of commands to quickly enable or disable use of a violation display type for all rule types. You can also quickly enable the display of violations – detailed graphics or overlay styles – for only those rules currently being used in the design.
Use the grid and related commands to set up exactly how DRC violations will be displayed in the workspace.
Using the two display types together can prove useful in terms of providing a 'coarse' and 'fine' indication of violations.
The entries in each section of the panel offer a range of options via the right-click context menu. Notable right-click options for each section are:
- Run DRC Rule Class - runs all rules contained in the class. Classes may only contain a single rule (such as Short-Circuit Constraint) or a large number (typically, the Clearance Constraint class).
- Clear Violations For Rule Class - clears the violations (both graphically and listed in the panel) for all rules contained in the class.
- Run DRC Rule - runs the selected rule.
- Clear Violations - clears the violations reported by the selected rule.
- Properties - opens the Edit PCB Rule dialog that allows the rule configuration to be changed on the fly.
- Properties - opens the Violation Details dialog, which provides full details of the rule constraint and the current violation.
- Waive Selected Violations - opens the Waived Violation Info dialog in which information can be entered and saved about the violation selected to be waived. After entering the necessary information and clicking OK, the waived violations are displayed under the Waved Violations region.
- For full access to the PCB Constraint Classes and Rules, open the PCB Rules and Constraints Editor dialog by clicking Design » Rules.
- Online Design Rule Checking can be enabled/disabled in the PCB Editor - General page of the Preferences dialog.
- Design Rules can be individually enabled for Online or Batch checking (or both) in the Design Rule Checker dialog (Tools » Design Rule Check).
From the Messages Panel
After running a Batch DRC, double-clicking on a violation message in the Messages panel will cross-probe to the object(s) causing that violation in the design space.
Cross-probe to a violation from the Messages panel.
From a Generated DRC Report
If the option to Create Report File is enabled in the Design Rule Checker dialog, violations detected upon running a Batch DRC will be listed in a generated Design Rule Verification Report. Click on the hyperlinked entry for an offending object to cross-probe directly to that object in the design space.
Cross-probe to an offending object from the generated DRC report.
Directly in the Design Space
Violations associated with a particular design object can be interrogated directly within the PCB design space. Position the cursor over an offending object, right-click and choose a command from the Violations sub-menu. Either choose to investigate an individual violation in which the object is involved or choose to view all violations in which it is involved using the Show All Violations command. In each case, the Violation Details dialog will open, providing detailed violation information and controls for highlighting and jumping to the offending object(s). Highlighting is momentary and essentially leaves the offending primitives in their normal visibility with all other objects in the workspace becoming temporarily monochromatic. In addition, you can also opt to waive the violation.
Interrogate violations involving a specific object directly in the design space.
- Violated Rule - this area presents the design rule that is being violated, for the violation entry currently selected in the list above. The rule is displayed in terms of its type, violated constraint(s), and scoping.
- Violating Primitives - this area presents the primitives involved in the currently selected violation, in terms of object type, identifier (where applicable), location, and layer upon which they reside.
- Waive this violation - enable this option to waive the violation
- Created At - lists the date and time the violation was waived.
- Author - lists the user who waived the violation. This information is auto-filled using your account information and can be edited manually.
- Reason - manually enter text explaining the reason for waiving the violation.
- Highlight - click this button to have the primitives involved in the currently selected violation momentarily highlighted in the workspace. Highlighting essentially leaves the offending primitives in their normal visibility with all other objects in the workspace becoming temporarily monochromatic.
- Jump - click this button to quickly jump to the offending primitives for the currently selected violation in the workspace. The primitives will effectively be zoomed and centered within the design space.
Violations can also be browsed directly in the design space using the Board Insight pop-up. Position the cursor over an object in violation and toggle display of the pop-up using the Shift+V keyboard shortcut. Click on a violation entry to access a menu of commands, including Properties, which gives access to the Violation Details dialog. Expand an entry to browse the primitive(s) involved.
Interrogate a violation using the Board Insight pop-up.