[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gEDA-dev: gnetlist as one way path?
On Tuesday 29 May 2007, John Doty wrote:
> 2. Guile data structures are themselves flexible and
> completely extensible. They are easy to store portably in
> files. This could give us a *neutral* file format for design
> data interchange. This seems much better to me than adapting
> a drawing, layout, or simulation format to cover all of these
> bases. Use a format simply designed for representing data.
I thought of that. Actually, a long time ago.
If it is simply a dump, it is not truly neutral. It ties us
into Guile.
The solution to this one is simple. Adopt a syntax, perhaps
XML, perhaps C-like, perhaps Guile-like, to represent the data
structures.
"Guile-like" is especially interesting in this context because
it is really your suggestion with some extra rules.
Now, look at other languages (C, C++, Python, ...) and you will
see that on a fundamental level, they are all the same: A list
of objects with connections and attributes. It can be
recursive.
So, look around for a language that is fully documented, with a
published standards document, and has an existing user base
that is designed to represent this. Give a bonus if the
existing user base includes EDA.
I found one! It is called VHDL.
To be honest here, I think Guile data structures in Guile syntax
is actually a nicer format. Maybe I should take it a step
further and say that the VHDL format is aesthetically horrible.
One apparent problem with VHDL (and also Verilog) is that the
true hardware description base is only a small piece of the
total, and most literature on it only devotes a page or two to
this (structural) part. This is a distraction, not a real
problem.
There are some other formats that come close: Verilog, TCL data
structures, XML, ... (each a little farther away)
So, suppose we pick one, (maybe even guile-derived) and adopt
it. To get buy-in from others, including developers who would
like to join us but see problems, we need to fully document it
as a language standard, so the language rather than the tool
becomes the common point.
What's the response I see or hear, outside of gEDA???
VHDL ... not much to do here. Just define what subset we are
using. VHDL was not designed as a simulation format.
Verilog ... The committee is receptive to the idea, and would
probably incoporate what we need into the official standard,
with the possible (likely) side effect of gEDA becoming
recognized as a serious player. Verilog (including AMS) really
was designed as a simulation format.
TCL? huh? (except among old Bell Labs people)
XML ... This one is the source of lots of entertainment in the
EDA industry.
Guile? ... oh .. scheme .... "skill" ... Cadence!!!
and for completeness:
the format promoted by "si2" under "openeda" ... Like the
Microsoft/Novell deal "helped" SuSE.
But whatever the choice, VHDL and Verilog (structural subset)
are required end points, and we need to be disciplined enough
that any of these would work, and be just an AWK script away
from any other. What is most important is just to have one.
.. and remember that if the new one doesn't work, you still have
the old one.
_______________________________________________
geda-dev mailing list
geda-dev@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev