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

Re: gEDA-user: Method to create symbol for enhanced ICs with many pins



On Aug 4, 2010, at 8:53 PM, Kai-Martin Knaak wrote:

> Which symbol is first in the file depends on the order you added the symbols 
> to the schematic. So, depending on your habits, the problem will show 
> sometimes, always, or never. This is a bug(*) known for years.

Indeed. We all agree this is a bug in gnetlist. But what is the nature of it? The physician must focus on curing the disease rather than merely covering up the symptoms.

The design of gnetlist has a front end, a middle layer (gnetlist.scm, gnetlist-post.scm, and scripts identified with -l and -m), and backends (-g). Fundamentally, the job of the front end is to create the data structures the middle layer and back end query.

In the case of attributes, sensible design would have the front end present *all* of them to the middle layer and back end. This would allow the back end to do whatever is sensible for the particular flow, preserving the flexibility that is gEDA's unique strength. The fact that the front end censors information, denying the middle layer and back ends access to it, is the bug that we need to fix. Then it will be easy to fix the particular symptom in question.

Of course, present back ends don't expect multiple values, so "gnetlist:get-package-attribute" would need to be a function in the middle layer in this approach, for compatibility and ease of use. That's where the check for conflicting attributes should go.

My offer to collaborate with you on a fix stands. You apparently understand the front end well enough to make the necessary simplification there, while I understand the middle layer, and can do that part. If the two of us get together here, I think Ales will find it hard to reject our patch.

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