----------  Forwarded Message  ----------

Subject: Re: VCOMP problem with blocking assignments
Date: Tuesday 09 February 2010
From: Paul Campbell <p...@taniwha.com>
To: Sébastien Bourdeauducq <sebastien.bourdeaud...@lekernel.net>

On Tue, 09 Feb 2010, you wrote:
> Wow, that's wicked. I can hear the VHDL people laughing. Thanks for the 
heads-
> up, I will fix my code as you suggested.

heh - it's a historical thing I'm afraid and a little too subtle to be obvious 
which is why people get caught by it - the original verilog (pre-vhdl) was 
done by people who probably didn't understand a lot about computer languages 
but did understand hardware - that left us with a bunch of cruft that 
interpreted well but made writing compilers really hard. (I wrote the first 
version of this compiler prior to VCS).

When I started doing chip design (I have a background writing compilers) a lot 
of people still made assumptions about 0-time event ordering that had to do 
with virtually secret knowledge of how Verilog (the original simulator) did 
things (this particular issue with output regs is just such an area) - of 
course depending on any event ordering is just plain wrong - if you do you may 
well have something that mostly works

I've recently seen a bunch of low level hardware people who still think it's a 
good way to define an extracted latch is:

        assign q = (mux?in:q);

rather than including the delays they would need in the real world to make 
such a thing work reliably

        Paul

-------------------------------------------------------
_______________________________________________
http://lists.milkymist.org/listinfo.cgi/devel-milkymist.org
IRC: #milkym...@freenode
Webchat: www.milkymist.org/irc.html
Wiki: www.milkymist.org/wiki

Reply via email to