[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: Global vs local attributes with symbols
On Feb 19, 2009, at 3:25 PM, Yamazaki R2 wrote:
>
> Here is an annoyance I'm experiencing often when it comes to
> gschem.
> When I instance an symbol in, whether it be a transistor, a
> subcell,
> or any other random component, all of the attributes are saved
> in the
> schematic file instead of inherited from the symbol file. This
> may not
> seem like a huge concern but imagine that you have a fairly large
> hierachrical design where you instanced transistors in from a
> symbol
> file 100's of times. Lets say the symbol properties of that
> symbol are
> refdes=M?, l=0.13u,w=1u,device=n3t,bulk=vss,value=n. Now, I
> bring in a
> new model for that transistor called nmos instead of n. So I go and
> change the symbol file from value=n to value=nmos. But whoops, the
> attributes are local so now I have to open up every schematic and
> changes the transistors one by one instead of editing on symbol
> file
> and having my whole design inherit the attributes.
> Now with that said, I know inheriting ALL attributes wouldn't
> make any
> sense. For example you can't have the refdes and w/l inherited.
You might want your most common w/l inherited. Doesn't hurt.
> However, there should be some way in the symbol file what to
> inherit
> something by default and making the local version optional.
I generally use (always-promote-attributes "") in gafrc. That stops
most attribute promotion, but refdes and symversion still make it.
Then, you inherit attributes unless you override them by attaching
something.
> For
> example the way other CAD tools I know of handle this is that each
> instance has a master attribute and a local attribute. If there
> local
> attribute is blank, it inherits from the master attribute. If the
> local attribute is filled out, then it takes that value of the
> master.
> refdes should me mandatory, all else should be optional.
And that's essentially what I get. That makes the project symbol
directory really useful. "low_speed_opamp.sym" is what the project
needs, and if I change it I don't need to edit dozens of instances.
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