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

Re: gEDA-user: wishful UI



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/
jpd@xxxxxxxxx




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