[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gEDA-dev: Re: VHDL, was Re: Hierarchical buses



al davis wrote:
> On Wednesday 21 March 2007 18:45, Stephen Williams wrote:
>> al davis wrote:
>>> OK.....  Are you telling me that if there is a choice
>>> between Verilog and EDIF, that you prefer EDIF?
> 
>> If you are only interested in carrying netlist data, then I
>> personally prefer Verilog.
> 
> Check!
> 
>> But if you want to include 
>> schematic information, layout information, want to
>> communicate back and forth between gschem, pcb, gnucap, and
>> others, then I think EDIF would be better because the drawing
>> stuff is available as part of the standard (allowing one to
>> go *back* to the schematic after processing elsewhere)
>> whereas with Verilog or VHDL, schematic details would have to
>> be bolted on.
> 
> Can you tell me more?
> 
> EDIF passed from my focus about 10 years ago.  Before that, I 
> actually did some work with it, and had access to the standard 
> document.  Even then, I don't recall thinking of it as a 
> reasonable replacement for a SPICE deck, and I don't recall 
> seeing any hint of analog behavioral modeling.
> 
> *-AMS don't have resistors either. Even the notion of voltage 
> and current are not built-in.  Yet they are both a superior 
> replacement for a SPICE deck, because they are general.
> 
> I think the same applies to the objects that make up schematics 
> and layouts.
> 
> In a modern analog simulator, lines, motors, and boxes are all 
> reasonable as simulation objects.  They are as reasonable as 
> resistors.

I'm quite rusty too. I'm rummaging through my copy of the standard
right now. I know that the FPGA target generates edif netlists to
send information to the Xilinx tool chain. That works by writing
a netlist that references cell types that Xilinx tools implicitly
understand. For an analog simulator, I expect you can do exactly
the same thing. EDIF to carry netlists has been done to death.

I'm not sure exactly how to carry schematics in EDIF, but I believe
the way it would work is that a gschem-to-edif converter would
write an EDIF file that includes both netlist and schematic views,
and should be able to carry graphical elements as well. A resister
cell may for example have a view that carries the symbol graphics
that were used to draw it on the schematic. I see the right words
to suggest that all that is needed is present in EDIF 2 0 0.

> What is needed is a generic list of objects, with connections 
> and attributes, with types that are NOT inherent in the 
> language.  If EDIF has layout objects or schematic objects 
> built-in, that is actually a weakness.  Just like SPICE having 
> resistors and transistors built-in has become a weakness.

The viewTypes are inherent in the specification, but there seem
to be enough to encompass all the things we're likely to want,
and we can presumably create more just by declaring them to be
so. There is the STRANGER viewtype that seems to be a catchall.

>> If I correctly grasp what you are trying to do, then I think
>> that EDIF as an interchange format is the way to go. It
>> covers the most bases right off the bat, and is most easily
>> extended for the few bases that remain.
> 
> Can you show me some examples?  I tried searching, but didn't 
> come up with anything useful.

EDIF never got the buzz, because it attempted to solve a problem
that the proprietary vendors didn't really want to solve:-) They
are all about lock-in, and this is all about portability. So I
think readable examples may be hard to find.

Somehow I remember seeing EDIF export buttons on OrCAD version
SOMETHINGORANOTHER, Xilinx used EDIF to get netlists from schematic
tools into their tool chain. I hear that Altera tools also accept
EDIF netlists to get netlists from external tools into their tool
chain. I have generated EDIF netlists to get information into the
Xilinx tools as well.

I don't know of any obvious examples of schematics (as opposed
to netlists) carried by edif, but I see the bits needed in the
reference. I can't help with examples there.


And to complicate things even further, there is EDIF 400 (EIA-618?)
which is the most current version of the standard. Whew! There
is plenty of research to do. Wikipedia has some starting points.

-- 
Steve Williams                "The woods are lovely, dark and deep.
steve at icarus.com           But I have promises to keep,
http://www.icarus.com         and lines to code before I sleep,
http://www.picturel.com       And lines to code before I sleep."



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