[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: A couple o' questions




On Apr 7, 2006, at 1:34 PM, Carlos Nieves Ónega wrote:

OK, so you won't demand that pwr_in actually be connected to a
recognizable power source. But there's a whole common class of
blunders you thus cannot detect. Furthermore, it's actually one of
the few places where DRC might catch a problem that's difficult to
spot otherwise: passive power.

As you said, the DRC has to do automated checking, don't give false errors, and can't substitute the designer's mind. So it isn't possible to automate it that way without giving a _lot_ of problems. It's perfectly right if I give all the power to a circuit through a connector, which should have passive pins. There is no tool which can figure out where it is going to be connected there.

Good. We agree. Most blunders *cannot* be detected by DRC.

I'm not wondering
about things impossible to detect, but common errors which can be easily
detected, reported and avoided.

The detection rate is necessarily very low. Go through Horowitz and Hill's "Bad circuits": fine examples of common blunders, many pretty trivial, but I do not think *any* of them can be detected by DRC.


The class of errors drc2 handles reliably are things that prevent netlisting anyway: duplicate refdeses, duplicate or illegal slots. Here, drc2 is a useful time saver, but all it really does is give a clearer error message than other gnetlist back ends, and perhaps this really should be fixed in gnetlist itself.

drc2 is most dangerous with respect to unconnected pins and single pin nets: these should be removed from it until we have agreed upon and implemented a consistent and safe set of conventions for handling intentionally unconnected stuff. It is unacceptable that it demands short circuits ;-). And when this is reimplemented, it should not call these things by a negative term like error or warning, as there is usually nothing wrong. Maybe "note".

The pintype based analysis only really finds offenses against logic, so it is inapplicable to anything but logic circuits. A quick fix might be to have pintype default to "pas", so that only logic with proper pintypes gets checked.

John Doty              Noqsi Aerospace, Ltd.
jpd@xxxxxxxxxxxxx