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

Re: gEDA: User problems: Use of geda VERILOG tools to compile Lattice FPGA's?




wzab@ise.pw.edu.pl said:
> The Icarus Verilog at the moment supports only the XNF format. It
> can't be easily used by the "starter" version of ispDE, but maybe I'll
> find/write the conversion utility.

It is designed to be retargetable, but writing a new backend takes some
effort. I personally see more Xilinx stuff in front of me, so my
motivations tend to be in that direction. However, I'm willing to
cooperate because synthesis is interesting to me in general.

What format do you want? What forms does ispDesignExpert accept?

wzab@ise.pw.edu.pl said:
> However, when I implement it in the following way: 

Currently, the synthesis that Icarus Verilog does is "ad hoc", meaning
it looks for patterns in the behavioral code and transforms them into
LPM equivilents.  The LPM netlist is then written out into the target
format.

This technique can be used to recognize things like memories, but is not
really adequate for the general case. Proper control automaton synthesis
is not yet implemented and it will probably be a little while before I
get there. So that means you'll need to baby the compiler a bit when you
want complete synthesis.

One thing that helps is that expressions are in general synthesized
pretty easily, as are DFF and DFF /w chip enable. The if-else form of
the mux is not handled yet, but the "?:" form, being an expression,
works fine.


wzab@ise.pw.edu.pl said:
> Is it difficult to add such a backend myself?

See target.h for some hints. Also, look at t-xnf.cc for the XNF code
generator to get an idea how that happens. The netlist.h header file
describes the internal format that IVL uses to manipulate elaborated
designs.

The raw logical equations are available to targets in the context of
the netlist, and there are helper classes to scan them. Synthesized
expressions are presented to the target as gates and nets, though.
-- 
Steve Williams                "The woods are lovely, dark and deep.
steve@icarus.com              But I have promises to keep,
steve@picturel.com            and lines to code before I sleep,
http://www.picturel.com       And lines to code before I sleep."