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

Re: gEDA-user: symbol files



Bill Gatliff wrote:
> Kelvin Gardiner wrote:
>> Try to add something into current format.
> 
> Why not a new symbol attribute containing a comma-separated list of
> alternate symbol files for the current symbol?  If that attribute isn't
> found, then the GUI continues to work like it does today; if the
> attribute is there, then we come up with some way to indicate via the
> GUI that "there are two other symbols for this part that you might be
> interested in...".  Presumably, each symbol file that contained this
> attribute would also contain footprint information for that symbol.
> 
> If a symbol was compatible with more than one footprint as-is, then we
> could use another attribute to provide a comma-separated list of
> footprint options.

that is a huge, gigantic "if".

My personal feeling is what is needed is the concept of a component 
which consists of a symbol and then a mapping to what a backend might 
need.  For example in a pcb flow, the component would provide the 
mapping that says

- take this graphic symbol

- take this physical footprint

- here is the mapping between symbol pin and footprint pin

- here is other relevant info like vendor part number or internal 
company part number, etc.

A component is where simulator information would go too.

- here is the mapping between symbol pin and the pin order or pin name 
(this is netlist format specific) in the output netlist

- here is a mapping between any attributes (parameters) that you may 
need to get into the output netlist.

Why the complexity of this extra layer?  Because a chip may come in 2 
different packages that have different pin outs (different number of 
pins even).  See for example 10H116 in a DIP or PLCC.  Because pin 1 on 
a transistor package isn't always the collector.  Because spice based 
simulators have weird restrictions on how things netlist out (device 
type is based on the first letter of the refdes).  Because simulator A 
may want a particular physical parameter to be called "x" and simulator 
B may want that same physical parameter to be called "y" and you have to 
do the mapping.

So what do I do?  For symbols intended on being used for pcb layout, I 
just have an ascii database and a short awk program that generates a 
bunch of symbols that have the pin mapping done already and the 
footprint hard coded.

Where do I not like this?  2 pin passives.  There I really would like a 
resistor symbol where I can pick the tolerance family, then pick a value 
from a pre-populated list which is consistent with the tolerance I 
picked, then pick a power rating and a package from a list which is 
consistent with the power rating.




_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user