Use this to check that the spacing rules defined in the Design’s Technology data are not violated within the design or footprint. Also used to check various manufacturing rules have been obeyed.

When errors are found Error Markers are added to the design on the appropriate layer to help you find and correct the error.

Shortcuts

Default Keys: None

Default Menu: Tools

Command: Design Rule Check

Locating this option

Available from: Tools menu > Design Rule Check option

How To Run A Design Rule Check

There are several ways to get to the DRC Dialog as follows:

  • On the PCB Toolbar select the Design Rule Check Icon
  • Under Tools on the menu bar select Design Rule Check
  • From within the DRC Errors Browser window, right click to use the shortcut menu and select the Design Rule Check option.

A dialog is then displayed which allows you to control which items are included in the check.

Spacing Checks

Use the check box next to the Spacing title to choose whether any checks on the space between items will be performed. Then, if spacing checks are required, choose which types of items you wish to perform spacing checks on. Selected item types will be checked against all other items in the design in accordance with the Spacing Rules defined in the Design’s Technology data.

Notes:

Back Drill - Checks the spacing between Back Drills and other items using the Back Drill To Copper Items spacing defined in technology. Back Drill to board and Back Drill to drill is checked in Drill spacing.

Components - Component placement areas are allowed to touch, but not cross. If the Component has placement areas defined in the footprint, these are used for the spacing check. If the Component has no placement areas, then the top and bottom rectangles are calculated which enclose all documentation shapes on that side. For a component with an irregular shaped outline, this may result in placement errors which are apparently some distance from the component. It is therefore recommended that placement areas are used.

When using Flexi-Rigid Boards or Board Cavities components will be checked to make sure they are on an exposed surface of the board and not ‘floating’ above or embedded within the designs layer structure.

Copper Checking - when Spacing checks for Pads, Tracks or Vias are enabled, an additional consistency check will be carried out on all copper shapes that contain cutouts. This consistency check will help prevent issues with these copper shapes going unnoticed when generating Gerber output files.

Differential Pairs - When checking the spacing between two tracks in the same differential pair, the gap is determined by the Differential Pair Gap Rules, and will be used instead of the track to track spacing. This is true regardless of if the tracks were interactively paired or not. The tracks will also be checked for spurs or branches according to the rules defined.

Drill Spacing - When using the Drill To Drill check, coincident drill holes of the same size will not be flagged as an error unless the Allow Coincident Holes option is disabled in the Spacings Rules. Coincident different size drill holes will always be flagged as an error. This also checks that the drill hole on a suppressed pad does not break a track on the same net.

Excluded Items - You can exclude a Copper Shape or Component Via within a footprint from spacing checks with other items within that footprint. This allows you to create components where pads are externally on different nets but are deliberately joined within the footprint (for example, a spiral inductor). When designing the footprint, there is an additional option in the Spacing Checks called Excluded Items. Check this option to perform spacing rule checks on the Copper and Component Vias which are excluded, temporarily overriding the exclusion.

Guard Spacing - In addition to the Spacing Rules, any net can have an additional “Guard Spacing” applied. This is defined in the Nets Page of the PCB Design (or Footprint) Technology dialog or via the Net Properties dialog.

Same Net Checks - Are applied to nets with the Check between items on same net option checked. This means that it is possible to get spacing rule violations between items which are on the same net.

Split Planes - These are templates that are on power plane layers. This spacing check checks for overlapping Split Planes. They are allowed to touch each other, but not cross over.

Variants - If the design is using variants, spacing violations are not reported between components that are never fitted in the same variant.

Keep In/Out Checks

Use the check box next to the Keep In/Out title to choose whether any area checks will be performed. Selected item types will be checked to see if they are in or out of any Areas that have Keep In/Out rules set up. This will also include Component Height checks.

Note: explicit Keep Out Areas specified in an Area Properties Dialog take priority over any matching Component Place Rules. Whereas, explicit Keep In Areas are overridden by any matching Keep In rules.

When checking Keep In/Out areas, Vias and Test Points are also checked that they are not outside all board outlines (i.e. they are within or cross a board outline). For Components this is done as part of the Component to Board Spacing check. Copper includes Pads and Text on copper layers, but does not include Tracks, Vias or Component Vias which are checked using the Tracks or Vias option.

Note that for Component Pad Keep In/Out areas, Component Pads does not include Mounting Holes, Component Vias or Die Pads.

Component Mounting Holes are checked separately.

The Component and Via checks also include Flexi Bend Regions. This means that if Components or Vias are inside Flexi Bend Regions, an error will be shown.

Manufacturing Checks

Use the check box next to the Manufacturing title to choose whether any manufacturing checks will be performed:

  • Acid Traps - This combines all the copper (tracks, pads, poured copper, etc.) and then checks for places where a piece of copper gets too close to itself or another piece of copper. This will detect corners where acid might get trapped, even if the corner is unusually shaped. You can still define this check in terms of angles if you want by using the Use Angle For Min Perimeter checkbox. This, and the other parameters can be setup in Technology - Spacing Rules - Acid Traps.

  • Bond Wire Length - Bond wire must not exceed the minimum and maximum lengths defined in the Spacing Rules.

  • Component Name - Checks that displayed component names are nearer to the owning component than to another component. This helps to identify if two component names have been accidentally switched over.

  • Copper Antennae - Checks that the maximum width and minimum length of copper which would be considered an antenna are not exceeded. The rules are defined in the Copper Antennae Rules.

  • Copper Shapes - Where shapes such as poured copper containing cutouts will have to be broken into multiple shapes during manufacturing, such as during Gerber plotting with hardware fill enabled, this check can be used to validate the resulting shapes. If an error is reported as a result of running this option, you should contact your local technical support.

  • Copper Sliver - This check ensures there are no thin pieces of copper in the design. The maximum sliver width is defined in Copper Check Rules.

  • Copper Text On Board - Checks that all text on copper layers is within a board outline. Copper text outside a board outline may indicate a problem as it will not appear on the finished board.

  • Drill Backoff - Tracks are backed off during plotting to protect the drill hole. A problem occurs when you get a thick track which is much bigger than the pad, the backoff causes the track end to be pulled so far out of the pad (to avoid the drill hole) that there are two small ‘cuts’ between the track and the pad which can cause ‘over-etching’ during manufacture.

    The diagram above illustrates the area which the over-etching could occur. With larger tracks this is obviously more exaggerated.

    When a Drill Backoff error exists, the track is not backed off during the plotting stage. In every instance where this situation occurs the edge of the track will be plotted over the pad to the far edge of the pad, covering the drill hole.

  • Footprint Rules - This option will check that component footprints are valid according to the defined Footprint Rules.

  • Flexi Bend Regions - Checks for any errors that will affect Flexi Board folding in the 3D Viewer. This uses the area that is recognised as the Affected Area calculated from the Bend Line and Radius. This will check for:

    • Flexi Bend Lines without a bend region.
    • Flexi Bend Regions intersecting with other Flexi Bend Regions.
    • Flexi Bend Regions intersecting with other boards.
    • Multiple rigid fixed boards in a collection of boards.
  • Incorrect Back Drills - Checks if any vias have incorrect Back Drills spans assigned to them. Upon encountering an error, use the Update Back Drills option on the utilities menu.

  • Isolated Copper - Checks that all copper is on a net.

  • Minimum Copper Width - Checks

    The rules are defined in the Copper Check dialog.

  • Minimum Pad Land - Checks that drilled pads have a minimum amount of copper surrounding the drill hole.

  • Minimum Text Size - Checks that all the text in the design is larger than the minimum size specified in the Text tab of Design Level Spacings.

  • Mirrored Text - Checks that all displayed text items are shown mirrored on mirrored layers and unmirrored on any other layer. The text will therefore be readable on the finished board.

  • Modified Templates - Checks if any templates have been modified and not repoured with copper.

  • Pad Undersize - Checks that undersized pads are larger than the limit specified in the Layer Class.

  • Panel Items On Board - Checks for items that fall outside the board outline that might effect another board in close proximity when creating a panel. Items checked relate to the status of their Layer Class.

  • Plane Thermal Pad - Checks that every thermal pad on a power plane or split plane has the required minimum number of spokes as defined in the technology.

  • Silkscreen Overlap - This checks pads for any overlapping silkscreen text or shapes. A Silkscreen layer is one where Pad Lands are not drawn, but Pad Types and Pad Conditions are set (see Layer Class).

  • SMD To Corner - This check ensures the distance between an SMD pad and the first corner of a track routed from it is greater than or equal to the distance defined in SMD Rules.

  • Split Plane Pad - Checks for pads within split planes that are on the same net as the split plane, but cross the split plane outline. These pads must be completely inside or outside of the plane outline. If they are on the outline they may not end up being attached to the plane when plotted.

  • Track Corner Acid Track - This checks for acute angles between track segments and acute angles of tracks when entering a pad. The parameters are setup in the Technology - Spacing Rules - Acid Traps

  • Unpoured Templates - Checks if any templates are not poured with copper unless they are on a power plane layer (i.e. Split Planes)

  • Wire Cross - Wires on the same side of the board, which are not insulated, are not allowed to cross.

  • Wire Under Component - Will report an error if the end of a wire (not a bond wire in a component) is on a free pad or via that is under a component.

Net Checks

Use the check box next to the Nets title to choose whether any of the net checks will be performed:-.

  • Adjacent Nets - Checks for adjacent net rules as defined in the Adjacent Nets page of the Technology dialog. This is a more specialised check where nets close to each other need to be checked and reported.

  • Connection Length - Checks that no pin to pin connection length exceeds the limit defined in the Net Rules.

  • Connection Vias - Checks that no pin to pin connection exceeds the maximum via count defined in the Net Rules.

  • Copper Check - Checks for long, thin, dangling sections of copper acting as a net antenna, as defined in Copper Check Rules.

  • Copper Neck Width - Checks that the rules defined in the Net Rules have not been exceeded.

  • Creepage - Checks the Creepage rules defined in the Creepage Rules.

  • Differential Pairs - Checks the length rules as defined in the Differential Pairs Technology. This checks the maximum allowed track length difference between pin pairs, and the minimum allowed percentage of paired track length verses total track length. The paired track length is the sum of all sections of track that are exactly the differential pair gap apart, they do not have to be interactively paired.

    Also gives an error if either pin pair does not have a complete track path between it’s pins, i.e the path must not contain unrouted connections or T-Junctions. Note: If the differential pair is incomplete, the length checks will not be performed on it.

  • Loop Antennae - Checks for closed and/or open loops formed across layers without an intervening copper plane which covers the loop area, as defined in Loop Antennae Rules.

  • Necked Track - Checks necked track rules as defined in the Necked Length tab of the Technology dialog. Helps ensure that tracks are not excessively necked.

  • Net Connectivity - Checks that all nets do not contain any breaks in the physical connectivity (i.e. no breaks between the pads, tracks, vias and copper which form the circuit).

    Power Planes - this does a more in depth check of breaks in power plane copper - in particular split planes. This can be much slower than the normal connectivity check.

  • Parallel Track - Checks parallel track rules as defined in the Track Parallel Segment tab of the Technology dialog. Helps ensure that tracks on different nets do not run parallel. This may include tracks on adjacent layers.

  • Pin Order - Checks daisy chain routing order by checking that pins are connected in the order defined by the Sub Nets.

  • Return Path - This check ensures there is a continuous signal return path along the reference layers above and/or below the matched signals.

  • Same Net Via To SMD - Checks for same net via to SMD rules as defined in the Via Rules page of the Technology dialog.

  • Serpentine - Checks that Serpentined track has been generated with the most up to date Serpentine Rules. If a Serpentined track uses it’s own custom rules, then you have overridden the technology rules and it is considered up to date (i.e. the parameters were edited away from those inherited from the Serpentine Rules).

  • Single Pin Nets - Checks that all nets contain more than one component pin . Use this after Transfer to PCB to locate the single pin nets that have been created by error.

  • SMD To Plane - This check ensures the routed distance between an SMD pad and a power plane is greater than or equal to the distance defined in SMD Rules.

  • Stub Routing Length - This check ensures the routed length from the edge of a pad to another node (junction, via, pad etc) does not exceed the maximum value defined in Stub Routing Length Rules.

  • Stub Via - Checks for track segments which end on a via that does not appear to be connected to a template or plane.

  • Teardrops - Checks for teardrops that are missing due to insufficient length before a corner on the track, the track is too wide compared to the pad/via to which it is connected, etc.

  • Track Layer - Checks that no tracks are on layers which are forbidden by the Track Size Rules. Also checks that no tracks are on layers that have their Routing Bias set to No Tracks.

  • Track Length - Checks that the total track length for a net does not exceed the limit defined in the Net Rules. The Net Track Length Difference check is also performed, to check that nets using the same Net Class are within the tolerance specified on the Net Class.

    This also checks any Pin Network parts do not exceed the maximum distance from their master component pins. These values are defined using the Pin Networks option in the design technology, or by selecting the pin network component pin and using the Properties option.

  • Track Mitring - Checks that all track corners are mitred for all matching tracks defined in Track Size Rules.

  • Track Width - Checks that no tracks exceed the width limits defined in the Track Size Rules.

  • Unfinished Track - Checks that all tracks end on an item (such as a pad, via, copper, etc.).

  • Via Size - Checks that no vias exceed the size limits defined in the Via Size Rules.

  • Via In Pad - Checks that no vias touch or cross pads on the same net, there is no minimum spacing applied. You can control if vias are allowed in surface mount pads using the Via Rules. Vias in through hole pads will always be flagged as an error.

    Note that a micro-via stop pad ending on a pad (which would have to be embedded in the layer stack), would not be considered a via in pad error.

Testpoint Checks

  • Testpoints - Centre to Centre - Checks that Testpoint centres are far enough apart to be probed. Each testpoint must be more than the Testpoint Centre Space away from the centre of other testpoints, regardless of the nets they are connected to. Note that this is a different check to the normal copper spacing checks defined above.

  • Testpoints - Minimum Points Per Net - Checks that the net has enough Testpoints, as defined in the Net Class Rules section of the Design’s Technology data, or through an attribute defined for Min Testpoint Count.

  • Testpoints - Pad Size - Checks that Testpoints have a large enough pad to be probed, as defined by the Minimum Testpoint Land Size in the Design’s Technology data.

  • Testpoints - Under Component - Checks that Testpoints are not placed under or too close to a Component. This check uses the component placement shapes to determine the extents of each component. Each testpoint must be more than the minimum distance away from all components on the probe side.

    Note: If a component has an area body, it will be considered for checking, if it does not have an area body, as for a single pin testpoint for example, the component will not be considered for checking. For testpoints which will be used under components but probed during a bare board test, you should leave this check unselected.

  • Testpoints - Unreachable Side - Checks that all Pads and Vias that have been allocated as Testpoints are on the correct side of the board, or have the correct via layer span, to reach the side of the board that can be test probed. The probe side is set up in the Testpoint Rules section of the Design Technology.

On Grid Checks

Use the check box next to the On Grid title to choose whether any Interactive Grid checks will be performed. If required, choose which types of items you wish to perform grid checks on. Selected item types will be checked for being on their appropriate grids.

See the Interactive Grids help page for details on how to set up these special grids.

Note: Pads do not have their own grid. They are checked to see if they are on the Track grid.

Note: When editing PCB footprints or symbols, the Symbol Origin is also checked that it is on the same grid as the pads.

Validate Attributes

This option will check that the value of each attribute, which has a validation string define, matches that validation string. Validation strings are defined on the attribute names page of the technology dialog.

Select All / Deselect All

Use the Select All button to select all of the check boxes under the categories that have been selected. This button does not select every item in every category in the dialog. If you wish everything to be selected, you must first individually select each of the categories, then use the Select All button to select items within them.

The Deselect All will deselect items under each selected category.

Acceptance Rule Set

The design rule switches that are shown in this dialog can be saved into the design to form the acceptance rule set. This is the set of rules that should be checked before the design is to be accepted as finished. Use the Load button to change the switches in the dialog to the acceptance set in the design, and the Save button to change the acceptance set in the design to the switches in the dialog. The summary at the end of the DRC report says if all acceptance checks were checked or not.

You can run the Acceptance Rules for DRC from a user defined report created in the Report Maker.

Source

Choose between checking the whole Design, just checking the Selection (selected items in the design), or just checking the items within the current design Window. If no items were pre-selected, the Selection option is not available. If checking Selection only, then each selected item will be checked against all other items (selected or not) in the design. If checking in the current Window all items within or crossing the window are checked.

You can also choose to check Inside Named Area. The radio button is only available if there is a named area defined in the design. If there are multiple named areas, there will be a drop-down list with all the available named areas in the design.

Output

Check the Generate Report box to produce a report of all Errors Markers that are generated by this Design Rule Check session. Errors Markers that were already in the design prior to this session will not be included.

If generating a report, check the Report Rules Not Checked box to include a list of all rules not checked during the session.

The format of the report starts with a header block giving information about the design file, followed by a list of all the errors found. Each error is described by type, location and layer. The report ends with a count of the errors found. Here is an example report:-

Note: If there are several errors between two items, only the first is reported.

Error Markers

Clear Locked Errors

Check this box to force locked Error Markers to be deleted. Error Markers are deleted, either when performing a Design Rule Check, or when using the Clear All Errors option. Normally, locked Error Markers are not deleted because they are considered to be marked as acceptable by the designer. If they are not deleted, the error is not reported during the Design Rule Check. This option will be disabled when there are no locked Error Markers to delete.

Clear Warnings

Check this box to force Warning Markers to be deleted. Warning Markers are deleted, either when performing a Design Rule Check, or when using the Clear All Errors option. Warning Markers are added during some DRC checks. If they are not deleted, the warning is not reported during the Design Rule Check. This option will be disabled when there are no warning Markers to delete.

Clear All Errors

Normally, only the Error Markers of the type you are checking will be removed from the design prior to running the checker. If you want to remove all the errors in the design, press the Clear All Errors button. This button will be disabled when there are no errors in the design to delete.

Recheck Locked Errors

You may have locked some errors to prevent them from being reported again. Recheck Locked Errors will recheck all the locked errors of the types you are currently checking and remove any that would not now be reported as errors. This is done at the same time as the rest of the checking process.

Performing the checks

Press Check to perform the checks.

Press Close to leave the dialog, retaining any changes you have made in the dialog.

Press Cancel to leave the dialog, losing any changes made.

DRC Error Markers

When an error is found an Error Marker is added to the design on the correct layer and close to the error location. This Marker is displayed as a text string showing a Code for the type of error found. Next to the code , in the same colour as the Error Marker is a line showing the gap between the two items in error. This line is only included if the error is between two items.

For more information about a DRC Error, select the Error Marker and use Properties. This will give details of the item(s) in error. For example, the actual gap between them and the spacing that was violated.

Locating Error Markers in your design

After DRC Check, you can find the Error Markers in the design using one of two methods:

  • Find Error - This option allows you to find Error Markers by specific type and cycle through them using a Next Error command.
  • DRC Errors Browser - Use this modeless dockable window to show you an ordered list of the Error Markers in the design. You can Double Click on an error in the list to find it in the design.

Show Errors Bar

By selecting the Show Errors Bar check box on the DRC dialog you can automatically display the Errors Browser when you run the check.

Selecting the Fully Expand Bar check box will enable the Errors Bar to show all error markers without the need to expand each one.

Design Rule Checking in the Panel Editor

When using the Panel Editor, there are specific checks that can be carried out. See the DRC Panel Editor page for more details.

Defining the Rules

Spacing Rules | Via Rules | Differential Pairs | Track Parallel Segments Rules | Adjacent Nets | Paired Tracks | Grids

Online Checking and Finding

Online DRC | Display Clearances | DRC Errors Browser | Find Error

Areas

Out Rules | Footprint - Placement Areas | Split Power Planes