On Aug 14, 2010, at 1:17 AM, Paul Tan wrote:

> Hi All,
> 
> We can all agree that the current gEDA(Gschem/Gnetlist) need to accomodate 
> more
> than just the netname attribute attached to a net. In fact, I would like to
> see that gEDA can process ANY attributes attached to a net in similar
> fashion as it process ANY attributes attached to a symbol currently. And that 
> Gnetlist
> front end will present similar functions to the backend Scheme procedures, so
> that different backends (Verilog, VHDL, Spice, GnuCap, SystemC, PCB, etc) 
> Scheme
> procedures can decipher net attributes particular to that backend.
> 
> Note that I stress the "ANY" word above, because one of the most powerful 
> features
> of gEDA is its architectural capabilities of supporting "ANY" attributes as 
> "ANY" backend
> dictates.

Yes, yes, yes!

> How the symbol and net attributes are handled should be up to the particular
> backend's Scheme procedure.

Remember that there's also a middle layer (gnetlist.scm and gnetlist-post.scm). 
It would be good if we made better use of it. Right now, the primitives are at 
too high a level, giving back ends access to specific design data, but not all 
of it. This simplifies back ends when it's the right thing, but it's a barrier 
when the back end needs more. Having these interfaces in the middle layer, 
based on lower level primitives (a primitive that returned a list of every 
object with its properties and attributes would be a great foundation), would 
increase our flexibility without impacting existing back ends. A back end 
writer would then be able to exploit the simplifying assumptions behind the 
middle layer interface, but would not be bound by them.

> 
> I am familiar with the gEDA codes (both the C and Scheme).  I can see
> that it is not too difficult to add the "ANY net attributes" feature., since 
> it fits
> similar pattern as processing of symbol's ANY attributes.

Except that it's slightly broken in the symbol case. Symbols are looked up by 
refdes, but a component may be represented by multiple symbols with the same 
refdes. Also, there may be more than one attribute with the same name, but the 
code only finds one at most. The code in gnetlist:get-package-attribute 
apparently looks in the the first matching symbol it finds for the first 
matching attribute (if any).

This problem would be worse for nets, since multisegment nets are very common, 
and multiple attributes of the same name would be a reasonable way to express 
multiple net properties.

>  It is on my
> list of "TO DO for gEDA", but we just don't have the time to do it yet. I am
> hoping someone will beat me to it.

I'm hoping you'll find time. You'll do it right.

John Doty              Noqsi Aerospace, Ltd.
http://www.noqsi.com/
j...@noqsi.com




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

Reply via email to