[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
gEDA-user: Light? Heavy? Reuse...
Ales surprised me at the code sprint by calling me a "heavy symbol"
advocate. Let me try to make clear my real position.
The question is not "light" versus "heavy", but where to put the
"mass" so it doesn't become a burden, especially for design reuse.
The more I use gEDA, the more this is an issue to me.
1. For general-purpose symbols distributed with gEDA, light is the
only practical choice. There are too many possibilities for heavy
symbols. A handful of heavy symbols is nearly useless: millions would
be needed to have a reasonable chance of representing the part the
user needs.
2. In schematics, heavy *instances* are a barrier to reuse. If the
project's standard is 0402 resistors, a bunch of package=0603
attributes attached to components gets in the way. Global
substitution is tricky: some components are likely to need to be
0603, while others should use the project standard. There is no
perfect solution here, but reducing unnecessary specificity in the
schematic is helpful. This speaks against automatically promoting
attributes by default. It also speaks against embedding symbols in
the schematic in most cases.
Okay, I've just argued for light symbols everywhere, apparently. So
where do the attributes necessary to turn an abstraction into a
concrete design belong?
1. The most important place is a specific symbol directory for the
project. There, you can put footprint=0402 into your resistor.sym,
and have your resistors default to that. It's not perfect, but it
saves a significant amount of manual work when transferring
schematics from one project to another. gattrib is a great tool for
fixing a few attributes, but it's slow and inefficient when there are
many changes. Better to fix the symbol.
Now the trouble right now is that there's little direct support for
this in gschem, while gschem has lately become more hostile to
changes made in symbol directories "behind its back". Used to be, you
just had to close and reopen the directory to pick up a new file, but
now you have to refresh the browser as well. This even applies to
symbol files created by gschem itself!
We need a way to import symbols from the library to the *project*,
not just to the schematic. The schematic may ultimately be shared by
many projects, with different parts requirements.
2. Institutions often have preferred parts lists, stockrooms, etc. It
makes perfect sense for an institution to make a heavy symbol library
representing its preferred parts.
3. When you have special requirements, e.g. high power, it makes
sense to put attributes into the schematic. Can't dissipate a watt
with an 0402, barring liquid.
There is no perfect, universal solution. Design reuse takes care and
review. But there are ways to organize the attributes to make it
easier or harder. gEDA should support the easier path. The hard way
needs no special support ;-)
John Doty Noqsi Aerospace, Ltd.
http://www.noqsi.com/
jpd@xxxxxxxxx
_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user