gEDA-dev: Diode symbols in GSchem and PCB

Stuart Brorson sdb at cloud9.net
Tue Dec 12 11:50:15 EST 2006


>> The user *must* read the datasheet.  The user is supposed to be an
>> engineer, right?
>
> In most "real companies" there are three "users" involved.  One reads
> the data sheets and makes the official symbols and footprints.  The
> second creates the schematics from said symbols.  The third does the
> layout from said footprints.

That is true.  Indeed, at my day job we have a layout engineer who
makes both symbols and footprints, as well as a component engineer who
is supposed to check the library work and also maintain the AVL.

Nonetheless, I still *must* check any new parts since the layout guy
can make mistakes (he has) and the component engineer doesn't
necessarily check anything.  Finally, I find that I end up making a
lot of the symbols I use anyway since the layout guy is oftentimes
swamped with other work.

This has been the case everyplace I've been, with some places being
better at maintaining the libraries than others.  That is, it is
always my job -- my responsibility -- to check my designs -- symbols,
footprints, and everything else.  And I don't think my
experience is unique.  In any event, the engineer's life is full of
check & recheck of designs.  It's an integral part of the job.

> This works because there's a huge database mapping the symbols,
> footprints, and part numbers to each other.  We don't have that.

True.  But my point is this:  Maintaining a real parts library is a
full time job.  And it's not fun -- it's drudgery.  Since I expect to
get paid to do drudge work, I don't think we should make any promise
that gEDA's parts library is anything more than a shell, or a large
collection  of examples which might be useful to another user.  That
is to say:  Our current implementation places the entire burden of
maintaining the parts library on the user, and keeps it away from us
developers who do this as an unpaid hobby.   I view this as "tough
love" for our users.  Since we push the burden of keeping the library
onto the user, we  should accordingly use a parts library mechanism
which is drop-dead simple and can be used as a basis for creating his
own parts library, which he maintains himself.

> Thus, *our* way involves reading the spec sheet *every time*.  We have
> no mechanism for caching this information, other than to create a
> unique symbol/footprint for each part number, resulting in hundreds of
> diodes, dozens of NAND gates, millions of resistors, etc.

Well, we do have a mechanism.  Every user starts with the officially
distributed symbols, and then builds their own using the distributed
symbols as examples.  Plus, the gedasymbols project is a extremely
valuable resource for providing users with useful symbols.  You're a
hero to many for maintaining it!

> There's a break even point where the complexity of our implementation
> balances the complexity of the user's experience.  I think we're close
> to, if not past, that point.

I disagree.  Our system is dead-nuts simple -- just edit the symbol
file to provide the corrrect pinouts (if the pre-existing sym file is
wrong), figure out the name of the footprint you need, attach it in
gschem or gattrib, then proceed to layout.  A scheme where we maintain
a mapping file between symbols, pins, and footprints adds another
level of indirection which can be misconfigured, and it adds another
file which can have mistakes.

Stuart


More information about the geda-dev mailing list