OpenCores
no use no use 1/1 no use no use
Delayed assignment recommendation
by rdiez2 on Feb 26, 2012
rdiez2
Posts: 3
Joined: Jul 29, 2011
Last seen: Nov 17, 2012
Hi all:

The "OpenCores HDL modeling guidelines" document states the following:

--------82. Recommendation: Use non-blocking assignment (synchronous process, and blocking assignment (=) in asynchronous
process.
Synopsys expects this format. Makes the simulation respond more
deterministically.
--------8
I'm getting one Verilator warning per "#1" in the source code, and, after talking to a number of more experienced people, it looks like it is a remmant of the past that should be taken away. A plain "
Here is some more background information on this matter: The "#1" bit will make the Icarus simulation differ from the synthesis, as both the synthesiser and Verilator ignore it. How much time #1 actually means depends on the current timescale, which is probably not what originally intended.

Regards,
R. Diez
RE: Delayed assignment recommendation
by rdiez2 on Feb 26, 2012
rdiez2
Posts: 3
Joined: Jul 29, 2011
Last seen: Nov 17, 2012
I'm sorry that the original post was garbled, something is not quite right with the forum web interface. I'm trying again:

Hi all:

The "OpenCores HDL modeling guidelines" document states the following:

--------------------------------
2. Recommendation: Use non-blocking assignment (<=#1) in
synchronous process, and blocking assignment (=) in asynchronous
process.
Synopsys expects this format. Makes the simulation respond more
deterministically.
--------------------------------

I'm getting one Verilator warning per "#1" in the source code, and, after talking to a number of more experienced people, it looks like it is a remmant of the past that should be taken away. A plain "<=" is the right thing to do. In fact, the guideline document should probably recommend against using #1 in that way.

Here is some more background information on this matter: The "#1" bit will make the Icarus simulation differ from the synthesis, as both the synthesiser and Verilator ignore it. How much time #1 actually means depends on the current timescale, which is probably not what originally intended.

Regards,
R. Diez
no use no use 1/1 no use no use
© copyright 1999-2026 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.