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

Re: gEDA-user: A couple o' questions




On Apr 5, 2006, at 4:33 PM, David Logan wrote:

One thing I would recommend is "harshest or most on by default, let the user back it off." In other words, I think DRC should check everything but everything, and let the user know how to lower those.

In general, if you do it the other way, you get users that are happy about passing when its really not. It's much better to fail for valid reasons than pass for invalid reasons.

And the main point is this: We all know how general behavior goes. If a users DRC is failed, and he/she/it wants it to pass, they will ask/read/learn. On the other hand, if DRC happily passes due to disabled checks, he/she/it won't take the time to make sure that his passing grade is actually valid.

It isn't a matter of grading: it's a matter of getting a job done. Strictness based in error is counterproductive. If DRC was *reasonably* accurate what you say might make sense, but:


Many components in the libraries don't have pintype attributes, and it isn't even obvious how to fix them.

DRC screams about too many non problems. It doesn't understand hierarchy, at least the way spice-sdb does. It thinks unconnected pins and single pin nets are errors. A simple error-free CMOS inverter SPICE subcircuit made with library MOSFET symbols gives 8 DRC errors for only two components, correctly connected. It isn't worth trying to figure out how to fix these when for the stuff I do DRC can't find the really important blunders anyway.

I suspect that in a pure digital design organized the way Carlos does it, DRC is very useful (but that isn't the kind of work I do). For my sorts of designs it "strains out gnats and swallows camels", and it's difficult to see how to make this sort of formal logical process work, when the issues are really in the applied physics domain. An exercise in AI...

So, how's a newbie drawing an analog circuit to know *which* errors to pay attention to? Chasing them *all* down is a waste of time.

The fable of "The Boy Who Cried Wolf" applies here.

Please note that I am *not* complaining about Carlos' valuable contribution here. What I object to is the idea that DRC is *universally* useful. It depends on your design flow and application, and I don't think trying to make it universally useful is even a sensible goal. Different applications need different flow, different tools. What's really nice about gEDA is that you can mix and match. You don't need to use DRC if it isn't helping, but you have it for when it *does* help. Just have to be sensible about drawing that distinction.


David Logan

It makes complete sense to you: it's your thing. It makes a great deal of sense to me too. But for a newbie, I think it just makes the job of getting a simple result more difficult. DRC is a power tool for experts doing big jobs (especially digital), not something of use for the simple but subtle projects newbies tend to start with.




John Doty Noqsi Aerospace, Ltd. jpd@xxxxxxxxxxxxx