[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