Interrogating & Resolving Design Violations

Altium Training

Altium Essentials: PCB Design Rule Checks

This content is part of the official Altium Professional Training Program. For full courses, materials and certification, visit Altium Training.

With care and attention and staged design rule checking along the way, running that final Batch DRC on the finished, fully routed board takes the design one step closer to release. 

DRC reports can appear 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 reported by setting a limit in the Design Rule Checker dialog. Another strategy is to run the DRC in a number of stages, enabling the rules in blocks in the DRC dialog, and a third is to run selected rules individually from the PCB Rules and Violations panel. With experience, you will develop a preferred approach to testing the various design rules.

The DRC system supports two styles of flagging, or marking, objects that are violating a design rule; by adding a violation overlay onto the object, or by placing a violation detail marker adjacent to the object. 

For example, in the image number 1) shows a violation detail marker flagging a via with a diameter greater than the 0.9mm allowed by the applicable Routing Via Style design rule. Number 2) is also a detail marker – a line drawn from the via to the pad broken by a double-slash, indicating the location of an Un-Routed Net. Number 3) is both a clearance detail marker flagging a Clearance violation (clearance is less than 0.2mm), as well as a violation overlay (green dots) flagging the primitives involved in this violation. 4) shows the same view zoomed out, note how the violation overlays are very effective at locating violating primitives at low zoom levels.

  • The DRC error markers can be removed from the design space by running the Tools » Reset Error Markers command. Note that this simply removes the error markers; the underlying design rule violations must still be analyzed and resolved.

  • Specific DRC violations can be waived to effectively suppress a violation that is considered not to be an issue, for example where a component's silkscreen overlaps the edge of the board. Waived violations are still reported and can be browsed. Refer to the Selectively Waiving DRC Violations page to learn more.

Features for Highlighting a Violation as you Browse

To effectively resolve a design violation, you must first be able to locate it. The PCB editor provides various methods for browsing and interrogating design violations, including: the Messages panel, the PCB Rules and Violations panel, the DRC report, and even from outside of Altium Designer when you are viewing the project in the Altium Web Viewer.

The PCB editor also includes features to present and highlight a violation as you browse using one of these methods. Underlying the PCB editor is a powerful query engine, coupled to flexible zooming and highlighting features. The query engine can quickly filter the large volume of design data, returning exactly the object(s) of interest. Those objects can then be highlighted in the design space using selection, zooming, and masking or dimming. 

When you click on a violation entry the PCB editor applies filtering using the offending object(s) as the scope of the filter. The view in the main design window updates, depending on how the highlighting options are configured at the top of the panel (Mask/Dim/Normal, Select, Zoom). If zoom is enabled, then the violation is centered in the display. Learn more about masking and diming, and the query engine and filtering system.

Interrogate rule violations using the PCB Rules And Violations panel, click on an entry to highlight it as per the settings at the top of the panel.
Interrogate rule violations using the PCB Rules And Violations panel, click on an entry to highlight it as per the settings at the top of the panel.

  • Masking or Dimming leaves the offending primitives in their normal visibility, with all other objects in the design space being faded.

  • Violations themselves - or the custom violation graphics to be more specific - are drawn only on the layer(s) involved in the rule violation (the layers on which the offending primitives reside). Clicking on a particular violation will cause the layer on which that violation is associated to become the active layer in the design space (if that the layer is enabled for display).

PCB Rules and Violations Panel

The PCB Rules And Violations panel is purpose-built for managing design rules and examining violations in the board design space. The panel provides a central point for browsing and editing rules, instigating design rules checks, and viewing individual violations in the editor design space.

The PCB Rules And Violations panel
The PCB Rules And Violations panel

PCB Rules And Violations panel

Accessing the panel

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, or

  • Select the View » Panels » PCB Rules And Violations command from the menus.

Highlighting Controls

Use these controls at the top of the panel to configure the response as you click on entries in the panel sections below:

  • Apply – click to apply the chosen highlighting options to the item clicked on in the panel.

  • Clear – click to clear the highlighting options from the item clicked on in the panel.

  • 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.

  • Mask and Dim settings – use the drop-down to select the highlighting mode – how the objects will present when you click on an entry in the panel. The choices are: Normal, Mask, and Dim. Dim and Mask are display filter modes, where everything other than the object(s) of interest are faded, leaving only the chosen object(s) at normal display strength. The Dim mode applies the filter but still allows all design space objects to be edited (note that the faded objects keep their color). The Mask mode filters out all other design space objects (faded objects are displayed in monochrome), only allowing the unfiltered object(s) to be edited. Mask and Dim levels are set in the View Configuration panel (), learn more about mask and dim settings.

  • Select – enable to select the item clicked on in the panel.

  • Zoom – enable to zoom to the item clicked on in the panel, at the zoom level defined by clicking the Magnify button.

  • Clear Existing – enable to clear any existing highlighting that has been applied in the design space.

Rule Classes section

This section of the panel lists all of the Rule Classes (rule-types that one or more design rules has been defined for). In this section of the panel:

  • Click once on an entry in the list to display all rules of that type that have been defined in this board (). The Rules section just below will list all of the rules of that type that are currently defined, if any of those rules are in violation, they will be listed in the Violations section. 

  • To perform a design rule check for just the rules of that rule-type, right-click on the rule type and select Run DRC Rule Class from the context menu (). The menu also includes a command to Clear Violations for Rule Class.

Rules section

This section of the panel lists the individual design rules defined for the currently selected Rule Class.

  • Click once on an entry in the Rules list to highlight all of the objects targeted by that rule in the design space, in accordance with the highlight options configured at the top of the panel ().

  • Double-click on a rule to open the Edit PCB Rule dialog (), where the matching criteria and constraints of that rule can be examined and edited. This dialog is essentially a rule-specific version of the PCB Rules and Constraints Editor.

  • To perform a design rule check for that specific rule, right-click and select Run DRC Rule from the context menu (). The menu also includes commands to Clear Violations for Rule.

  • For each rule, its Name, Priority, Scope, Attributes, and Enabled state are presented. Hover the cursor over the rule attributes section to display a tooltip detailing the attributes of that specific rule ().

When the design includes one or more user-defined rule sets, this section will include an additional Rule Set column that indicates the rule set to which each rule in the list belongs.

Violations section

This section of the panel details each rule violation reported by the last design rule check.

  • A summary of each violation is given, hover the cursor over the violation to display a tooltip with more detailed information ().

  • Click once on an entry in the list to highlight the object(s) in violation, in accordance with the highlight options configured at the top of the panel.

  • Double-click on an entry in the list to highlight the object(s) in violation, and also open the Violation Details dialog. The dialog includes details of the primitive(s) causing this violation. More about the Violations Details dialog.

  • Violations are displayed in the color chosen in the System Colors region of the Layers and Colors tab of the View Configuration panel ().

  • Right-click on an entry to display a context menu where you can choose to Waive Selected Violations. 

Waived Violations

This section of the panel details each rule violation that is waived, as reported by the last design rule check.

  • A summary of each waived violation is given, hover the cursor over the violation to display a tooltip with more detailed information.

  • Click once on an entry in the list to highlight the object(s) involved with this waived violation, in accordance with the highlight options configured at the top of the panel.

  • Double-click on an entry in the list to highlight the object(s) involved with this waived violation, and also open the Violation Details dialog. The dialog includes details of the primitive(s) causing this waived violation, as well as a field to add details about why the violation has been waived (). More about the Violations Details dialog.

  • Waived violations are displayed in the color chosen in the System Colors region of the Layers and Colors tab of the View Configuration panel ().

  • Right-click on an entry to display a context menu where you can choose to Unwaive Selected Violations. 

Working with Violations in the Design Space

Violations can also be interrogated directly in the PCB design space. Position the cursor over the offending object, right-click, and choose a command from the Violations sub-menu, as shown in the first two slides below. Alternatively, use the Board Insight panel (slide 3).

Right-click on a violating object in the design space to see exactly what rules are in violation, then select either a specific rule to open the Violations Details dialog (as shown), or

Select Show All Violations to open the Violation Details dialog with a list of all violations at the top, as shown above.

Alternatively, press Shift+V when the cursor is over a violation to display the Board Insight panel, where each violation can be examined and the violation details (Properties) displayed.

 

Examining a Violation in the Design Space

Inspect a violating object When you right-click on a violating object the context menu will include a Violations submenu. This submenu includes an entry for each rule that is in violation as well as a Show All Violations option.
Violation details When an entry in the Violations submenu is chosen, the Violations Details dialog opens. Towards the top of the dialog are the details of the rule that is in violation. The pale blue rule name is a link, click on it to open the PCB Rules and Constraint Editor, where the rule settings can be examined and edited. The next section of the dialog details the primitive(s) in violation, and below that are options for Waiving (choosing to ignore) this violation. More about the Violations Details dialog. More about waiving a violation.
Showing all violations Select the last entry in the Violations submenu to Show All Violations. This command also opens the Violations Details dialog, except this time it includes a list of all violations that were present under the cursor when you performed the right-click (as shown in the second slide above). This list allows you to examine the details of each of the violations. More about the Violations Details dialog.
How the display responds When you choose an entry from the Violations submenu, as well as the Violation Details dialog opening, the display zooms into the object(s) detailed in the dialog. This zoom level is fixed.
Other dialog options The default behavior is to jump and zoom to the violation. The Jump button can then be used if you open the dialog using the Show All Violations command and want to jump to each of the listed violations in turn. The Highlight button temporarily dims all objects that are not part of the violation, move the dialog to one side to more easily see the impact of this.
Board Insight panel An alternate approach is to examine the violations in the Board Insight panel. When the cursor is over a violating object, press Shift+V to display the panel, where each violation can be jumped to, selected, and the properties examined in the Violation Details dialog. Click anywhere in the design space to close the panel. Note that the panel will not appear when you press Shift+V if there is no violation under the cursor when the shortcut is pressed.
From the Messages panel If there are violations detected during a Batch DRC, the Messages panel will automatically open. Double-click on a violation in the panel to zoom to the object(s) causing that violation (). The violating object(s) will be zoomed and centered, but no other highlighting (masking, dimming) will be applied. The zoom level is configured in the System – Navigation page of the Preferences dialog (), or by clicking the Magnify button at the top of the PCB Rules and Violations panel ().
From a 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 (). The violating object(s) will be zoomed and centered, but no other highlighting (masking, dimming) will be applied. The zoom level is configured in the System – Navigation page of the Preferences dialog (). The report format and opening options are configured in the PCB Editor - Reports page of the Preferences dialog (). Learn more about DRC reports.

Interpreting the Violations

A screen peppered with violation markers can seem daunting. You can help this by managing the process in a staged way, for example holding off the manufacturing rule checks until component placement and routing is complete.

The DRC system supports both 2-dimensional and 3-dimensional component clearance checking.

 The exact shape of the 3D model is used for clearance checking, allowing models to fit within each other.

To accurately model the component in 2D, define a closed shape on the Courtyard layer. If there is no Courtyard shape, the software uses the smallest rectangle that encloses all primitives.

The left and middle components have a Courtyard layer outline, the component on the right does not so the software uses the smallest rectangle that encloses the primitives.

 

Tips for Interpreting Violations

Test in stages

A good approach is to only enable the rules for testing that relate to where you are in the design process – if you are placing components then enable the Placement rules and disable all others, if you are routing then enable just the Routing rules, and so on.

Use the right-click context menu in the Design Rule Checker dialog to toggle rule checking on and off. A handy feature is that the context menu commands only apply to the rules that are currently visible, if you select a rule-type on the left then you can quickly toggle the rules of that type off or on ().

Use detail markers The advantage of violation detail markers is that they give feedback about the type of violation, and where possible, details of the violation.
Understanding component collisions

To understand why a component collision is being flagged, it is important to understand how the DRC system views the components:

  • The basic approach is the DRC system views each component as the smallest rectangle that encloses all of the objects present on all copper and mechanical layers. Designator and comment strings are ignored, but other strings are not. This is how the software is viewing the component on the right in slides 2 and 3 above. 

  • To more accurately model the component for DRC in 2D, define the component clearance outline on the Courtyard layer. To do this, create a closed shape from tracks and arcs (other object-types, such as regions, are not supported). The software traces along the centerline of the closed shape to define the outline of the component for DRC. Slides 2 and 3 above demonstrate this, for the left and middle components. This Courtyard layer shape is used if there is no 3D model present, or, if the Check clearance by component boundary option is ON.

  • If a 3D model is present, and the Check clearance by component boundary option is OFF, the exact shape of the 3D model is used. Component clearance checking is supported in all 3 dimensions when there are 3D models.

Learn more about the Component Clearance design rule.

Selectively Waiving DRC Violations

The software supports the ability to selectively waive any DRC violation. This allows you to effectively 'suppress' a violation that is considered not to be an issue, without having to craft a special (and perhaps complex) design rule to handle the design situation. Waved violations are detailed in the PCB Rules and Violation panel when their rule-type is selected.

Information that is stored for a waived violation is entered either through the Waived Violation Info dialog or the Violation Details dialog.Information that is stored for a waived violation is entered either through the Waived Violation Info dialog or the Violation Details dialog.

All violations are always detected during a Design Rule Check; the software keeps track of which violations you have chosen to waive, re-applying the status after a design rule check is performed. Also, while waived violations are removed as error messages from the Messages panel, they are still flagged visually in the design space.

Waiving DRC Violations

Waiving a DRC Violation

DRC violations can be waived by:

  • Selecting the required violation(s) in the Messages panel, right-clicking, and choosing the Waive Violation command from the context menu ().

  • Selecting the required violation(s) in the Violations region of the PCB Rules and Violations panel, right-clicking, and choosing the Waive Selected Violations command from the context menu ().

  • Enabling the Waive this violation option in the Violations Details dialog (). The dialog appears when you either double-click on a violation in the PCB Rules and Violations panel or interrogate a violation directly in the design space, as just mentioned.

What information is stored

Against each waived violation, the software records three pieces of information:

  • Created At – date and time that the violation was waived. This field is automatically populated when the Wave this violation option is enabled.

  • Author – if you are signed into a managed content server, this field is automatically populated with the first and last names of the user currently signed in, and the value cannot be edited. If you are not currently signed into a managed content server, this field is populated with the first and last names of the Sign In Account currently being used for this seat of the software. In this situation, the field can be edited.

  • Reason – use this field to enter an optional reason as to why the violation is being waived.

  • Note that these edits apply to all of the selected violations that are being waived.

  • Design Rule Checking is performed on the primitive objects - that means a single design choice, such as positioning a connector over the edge of the board, can result in multiple objects in violation. For example, if a connector's component overlay projects outside the edge of the board, there will probably be a number of overlay tracks in error. The violations on all of these tracks must be waived to resolve this design situation. The most efficient way to do this is to select them all in the PCB Rules and Violations panel, and waive all in a single action.

Working with Waived Violations
  • When there are waived violations present in the design, they are listed in the lower section of the PCB Rules and Violations panel (). 

  • Click on a waived violation entry to jump to that violation in the design space (provided the Zoom option is enabled at the top of the panel). Double-click to both jump to the violation (provided Zoom option enabled) and access the Violation Details dialog with the violation presented.

Revoking a waived violation

The waived status for a violation can be revoked at any time by:

  • Right-clicking on the entry for the violation in the Waived Violations region of the PCB Rules And Violations panel and choosing the Unwaive Selected Violations command from the context menu.

  • Accessing the Violation Details dialog for the waived violation and disabling the Waive this violation option.

A waived violation that is un-waived will be removed from the Waived Violations region of the PCB Rules And Violations panel, and appear listed in the Violations region.

Documenting Waived Violations

If the Create Report File option is enabled in the Design Rule Checker dialog, waived violations are included in a separate section of the report (). Learn more about setting up the DRC Report.

If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Contents
Feature Availability

The features available to you depend on which Altium solution you have – Altium Develop, Altium Agile Teams, Altium Agile Enterprise, or Altium Designer (on active term).

If you don’t see a documented feature in your actual software, contact Altium Sales to find out more.

Legacy Documentation

Altium Designer documentation is no longer versioned. If you need to access documentation for older versions of Altium Designer, visit the Legacy Documentation section of the Other Installers page.

Contents