[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: AW: gEDA: EDIF with quartus
Ielsch Francis wrote:
> classic... I forgot to attach the files ;-)
>
> -----Ursprüngliche Nachricht-----
> *Von:* Ielsch Francis
> *Gesendet:* Dienstag, 19. April 2005 14:59
> *An:* geda-dev@geda.seul.org
> *Betreff:* gEDA: EDIF with quartus
>
> Hello,
>
> I'm making some FPGA designs with Quartus II (tool from Altera) and
> I have a lot of
> problems at synthesizing some cores from OpenCores.org. I am trying
> iverilog to synthesise some module in the aim of using them as EDIF in
> Quartus.
> I have troubles at using this module blink.v (which successfully
> synthesises under Quartus) and maybe have you some explanations.
> First, I synthesized it with: "iverilog -tfpga -o blink.edf blink.v",
>
> which produced the EDIF file and the following messages as output:
> blink.v:49: warning: Process not synthesized.
> fpga target: unsynthesized behavioral code
> fpga.tgt: IVL_LPM_CMP_EQ not supported by this target.
> fpga.tgt: IVL_LPM_CMP_EQ not supported by this target.
> fpga.tgt: IVL_LPM_CMP_NE not supported by this target.
> fpga.tgt: IVL_LPM_CMP_EQ not supported by this target.
> fpga.tgt: IVL_LPM_CMP_EQ not supported by this target.
> fpga.tgt: IVL_LPM_CMP_EQ not supported by this target.
Blink.v is some very poorly written code. The always block at line 49
is missing signals in the sensitivity list. (Change "always @(state)"
to "always @*").
This doesn't solve all your problems. That always block produces 3
signals (wb_ack_o, wb_dat_o, and latch_dat_i). But not all signals are
assigned in every branch in the if statement -- they need to be. I
would also get rid of the non-blocking assignments in combinationl
always blocks.
And I just noticed that latch_dat_i is also an input to the always
block. This implies a combinational loop.
I would not touch this code with a 10 foot pole.
BTW, I think "-t fpga" only supports Xilinx Virtex, but I could be wrong.
-Tom
> Then when I'm trying to use the the EDIF file under quartus, I have the
> following error messages:
>
> Warning: Can't locate Library Mapping File
> Error: Can't find port "Result0" in instance "U42" of module "cell0"
> Error: Can't find port "Result0" in instance "U40" of module "cell0"
> Error: Can't find port "Result0" in instance "U39" of module "cell0"
> Error: Can't find port "Result0" in instance "U34" of module "cell0"
> Error: Can't find port "Result0" in instance "U34" of module "cell0"
> Error: Can't find port "Result0" in instance "U32" of module "cell0"
> Error: Can't find port "Result0" in instance "U30" of module "cell0"
> Error: Can't find port "Result0" in instance "U35" of module "cell0"
> Error: Can't find port "Result0" in instance "U35" of module "cell0"
> Error: Can't find port "Result0" in instance "U36" of module "cell0"
> Error: Can't find port "Result0" in instance "U24" of module "cell0"
> Error: Can't find port "Result0" in instance "U25" of module "cell0"
> Error: Can't find port "Result0" in instance "U27" of module "cell0"
> Error: Can't find port "Result0" in instance "U29" of module "cell0"
> Error: Can't find port "Result0" in instance "U29" of module "cell0"
> Warning: Net "N61" has no sources. Ignoring net during synthesis.
> Warning: Net "N66" has no sources. Ignoring net during synthesis.
> Warning: Net "N71" has no sources. Ignoring net during synthesis.
> Warning: Net "N74" has no sources. Ignoring net during synthesis.
> Warning: Net "N78" has no sources. Ignoring net during synthesis.
> Warning: Net "N79" has no sources. Ignoring net during synthesis.
> Warning: Net "N80" has no sources. Ignoring net during synthesis.
> Warning: Net "N81" has no sources. Ignoring net during synthesis.
> Warning: Net "N82" has no sources. Ignoring net during synthesis.
> Warning: Net "N83" has no sources. Ignoring net during synthesis.
> Warning: Net "N84" has no sources. Ignoring net during synthesis.
> Warning: Net "N85" has no sources. Ignoring net during synthesis.
> Warning: Net "N103" has no sources. Ignoring net during synthesis.
>
> Those messages refers to the lines from 200 in the EDIF file
> (blink.edf)
> Find attach verilog core, EDIF output from iverilog and pdf from
> help of quartus talking around the problem.
>
> I'm first writing to the mailing to know if someone as a solution.
> I'll post a bug report if it is one.
>
> An other question is: why is the -t option for EDIF creation named
> "fpga" and not "edif" ?
>
> Fran6
>
>