Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
12 years ago

Errorr simulating in Quartus (Zero-time oscillation in node)

Errorr simulating in Quartus (Zero-time oscillation in node)

Hello everybody. I'm doing block control cache for study project and I have some problems when I use a functional simulation.

Process of functional simulation never ending and show many errors:

Error: Zero-time oscillation in node "|MAIN_MODULE|CACHE_BLOCK:inst5|CACHE_CONTROL:inst1|lpm_mux:Mux49|mux_ric:auto_generated|_~1094" at time 27.5 ns. Check the design or vector source file for combinational loop.

Error: Zero-time oscillation in node "|MAIN_MODULE|CACHE_BLOCK:inst5|CACHE_CONTROL:inst1|lpm_mux:Mux49|mux_ric:auto_generated|_~1145" at time 27.5 ns. Check the design or vector source file for combinational loop.

...

I's at 6 min after start simulate and simulation process is still in progress.

I use Quartus 9.1 Web Edition.

Here is VHDL code, where Quartus show errors:

cache_control.vhd (http://www.alteraforum.com/forum/attachment.php?attachmentid=7964&stc=1&d=1382735658)

I'm level beginner with VHDL and cannot find, what I'm doing wrong.

Can anybody help me with this?

Here is link for whole project if it need

I cannot attach it to post, cause it 3 mb more then max file size attach.

3 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    A logic loop is when X = f(A,X), ie. the output is a function of itself. So I assume you have generated a couple here.

    Is there any reason you have not created a synchronous circuit?
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    A logic loop is when X = f(A,X), ie. the output is a function of itself. So I assume you have generated a couple here.

    --- Quote End ---

    Thank you very much, I fix it and everything works ok.

    --- Quote Start ---

    Is there any reason you have not created a synchronous circuit?

    --- Quote End ---

    Yes, some other blocks work asynchronous.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    With asynchronous code you risk all sorts of timing problems (temperature problems, race conditions etc). I would highly recommend you make as much of the code synchronous as you can.