At 01:26 PM 4/28/01 +0100, Terry Harris wrote:
>[in response to:]
> >Not if it is pulled directly from the database. The Gerbers can be wrong for
> >many reasons.
>And why can't D-356 files be wrong? Gerbers come from the database too.

Obviously any data translation has a possibility of being incorrect, though 
the probability of error can become low enough that it is uneconomic to 
consider it.

As I understand it, a D-356 file is a netlist with certain additional 
geometric information relating net nodes to board locations (and more.) 
This additional information allows a net list generated from Gerber to be 
compared with the net list; without this information, comparison would be 
tedious, i.e., expensive.

[I use the term node to refer to an individual pad or pin (or, perhaps, 
via) in a net list; the term is used by some to refer to nets themselves

Now, the original Gerber generation can be incorrect, for some reason. 
There is a reasonable probability that a fatal error (such as an undetected 
inner layer short) *will* result in an incorrect Gerber net list, that is, 
the error will be reflected in the net list and will be flagged if the 
Gerber net list can be compared with the D-356 list.

D-356 would be used, I'd expect -- I don't have actual experience with 
using D-356 -- to correlate the flashes in the Gerber with physical 
component pins (and vias). Then the Gerber would be used to generate a net 
list showing which nodes were connected together; this would then make a 
net list which could be compared with the original schematic netlist or the 
PCB netlist or the D-356 net list, all of which should match (where they 

Thus D-356 can serve as a double-check of the PCB file's generation of 
gerber and its interpretation by the CAM software.

Errors produced by different algorithms and procedures will typically *not* 
match each other. Thus, even though the Gerber might contain an error, and 
likewise the D-356 netlist may contain an error, and likewise the 
generation of net information from the Gerber may contain an error, it may 
quite unlikely that all the errors track each other, so that comparison 
indicates no deviation where, in fact, there is an error reproduced in all 
three lists.

Obviously, if all the errors proceed from the same mistake (in design or 
programming), this might not be so true. But because the production of a 
net list from Gerber is quite a different process than the production of 
Gerber from a PCB file, the probabilities of the error events are mostly 
independent, and thus the probabilities multiply. That means that if there 
is one chance in 100 of an error in the PCB-generated gerber, and one 
chance in 100 of an error in the software that generates a net list from 
the Gerber, the probabilities that both are incorrect in any way would be 
one in 10,000. The probability of the errors occurring in such a way that 
the two netlists match would be far below that, how much lower would depend 
on the complexity of the PCB; the more complex, the less the probability of 
a match. But with a PCB complex enough that there is one chance in 100 of 
an error, the probability of a match would be well under 1 in 10^6. This, 
too, is an independent probability, so the probability that there are two 
errors *and* that they match would be 1 in 10^10. Forget about it. Even 
thinking about it takes more energy than it is worth. Remember, if a PCB is 
bad, it will almost certainly be detected by failure of the assembled 
product to perform as expected; the probability that this detection does 
not occur until the product is in a critical environment where truly 
serious damage is done is probably less than 1 in 10^4. It is far, far more 
likely that there will be errors in the design intention as realized by the 

Even without checking through D-356, I tell my clients that they should not 
bother checking the net list. Yes, there might be something wrong with it. 
But the probability of that is low enough, and the probability of errors in 
design intention, or in the assignment of footprints, or in mechanical 
considerations high enough that all the checking effort should be devoted 
to those things. But there are still engineers who sit down and mark off a 
net list against a checkprint of a design.

It's a lousy way to check a board, the way I've usually seen it done. I've 
seen plenty of errors get by an engineer making such a manual check, or by 
two people working together, for the same reason that we like to see 
double-blind testing of medicines. People tend to be influenced by their 
expectations or by the expectations of those with whom they communicate.

Before I went to CAD, I used to have one of my kids make a net list from 
checkprints of a taped design. A net list was also independently created 
from the schematic. I did this for about eight years and *never* did I see 
a schematic/PCB error when this kind of check was done. This is quite 
analogous to what IPC-D-356 checking combined with Gerber can do.

But there are still possibilities for error, and it is with those 
possibilities that we should exercise ourselves. As an example, a bad 
footprint is not going to be detected by all the kings horses and all the 
kings men unless someone checks the footprint.

Abdulrahman Lomax
P.O. Box 690
El Verano, CA 95433

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* To post a message: mailto:[EMAIL PROTECTED]
* To join or leave this list visit:
*                      - or email -
* mailto:[EMAIL PROTECTED]?body=leave%20proteledaforum
* Contact the list manager:
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Reply via email to