[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