Error Checking
Designing a board is a difficult process that involves the simultaneous juggling of competing design requirements. Mistakes will be present on your design.
Let's find them and deal with them.
1. Overview
There are multiple opportunities to catch design errors prior to shipping. Some of the error-checks must be performed by fabrication houses while other error-checks can be found by EDA programs. Unfortunately, some errors cannot be determined with current software offerings.
EDA Software
EDA software capabilities vary widely, but most of them are able to perform some type of electrical rule check (ERC) and Design Rule Check (DRC.) These tests are performed by the designer / electrical engineer.
ERC - Electrical Rules Check
The Electrical Rules Check (ERC) is performed in the schematic capture utility. Designers run this test to look for mistakes caused by inattention to detail during schematic capture. This test requires a well-maintained parts library to function correctly and requires customization to work with programmable microcontrollers, FPGAs, or anything else with programmable pins.
The ERC matrix from Diptrace
What it can do
This checks basic net connectivity -- looking for open-circuit and short-circuit faults in the schematic document. Additionally, these checks can ensure that pins are correctly connected to one another -- for example, that a digital output is connected to a digital input, that outputs are not directly connected to power-rails, etc...
What it cannot do
ERCs cannot perform basic electrical engineering tasks such as ensuring that a 5V output is not connected to a 3.3V input. They cannot tell you if you forgot to include a component, or made a mistake in setting up the hierarchy of your design.
Fabrication House
DRC - Design Rule Check
The Design Rule Check (DRC) checks trace and space minimums, copper clearances to board edges, minimum drill sizes, etc... This test checks the basic manufacturability of your design against values you input into your program.
What it Can Do
The DRC can determine if there is too little copper in an area or too little space between copper features. It checks for minimum annular ring sizes and minimum drill sizes.
What it Cannot Do
DRCs cannot determine if you chose the correct copper weight for your design, or if you selected the right creepage and clearance values for high-voltage circuits. This test doesn't care what pins are connected, or if you use teardrops. It's just an algorithm that measures dimensions and distances between features in your design.
Fabrication House Software
DFM - Design For Manufacture
The Design for Manufacture test checks everything that DRC test checks and more. Manufacturers have a quality control process that looks at the reasons that designs fail to be manufactured correctly at their specific plant. When they find a problem, they can create a "rule" that looks for that problem in future layouts. For example, a designer might have run a trace a bit too close to a non-plated through-hole -- not a problem on a laser-drill process, but a big problem on a mechanical-drill process.
What the Test Can Do
Similar to the DRC performed by the EDA software, the DRC looks for measurements between copper features. A good DRC will apply rules based on the stackup and processes used to fabricate the board.
What the Test Cannot Do
DRCs have no idea what you designed, and what the nets actually do. So no signal-integrity or power-integrity analysis can occur. There is no indication of voltages in gerber files, so no creepage and clearance checks can occur. DRCs do not look at part numbers and they do not look at footprints, so you can use the wrong part land pattern and create a board that cannot be assembled.
DFA - Design for Assembly
The design for assembly test looks for issues that might keep a board from being successfully populated with parts.
What the Test Can Do
This test looks for problems that might keep the board from being successfully assembled. Are you mixing lead and lead-free parts? Do you have the wrong land-pattern for your part footprint? Are your parts too close to the edge? Do you have open vias in a thermal pad?
What the Test Cannot Do
DFA software cannot always predict how solder will behave on a board nor how the board will behave during reflow.