A
Allan Herriman
Guest
On Tue, 13 Jan 2004 15:17:18 -0800, Jim Lewis <Jim@SynthWorks.com>
wrote:
I agree they are easier to make, though.
I have never been bitten by a race in Verilog, whereas I have been
bitten by races in VHDL on several occasions! This has always in
other people's code though.
This may be a reflection of the relative amount of time I've spent
with the two languages, rather than any property of the languages
themselves.
executed. Can you point to the particular part of the LRM that says
this? Without a defined order, different simulators may produce
different results.
Yes, I have seen differences between VHDL simulators that weren't
considered to be bugs (Simili vs Modelsim, using the delta delayed
clock example from an earlier post).
problems in real-world designs. I have seen plenty of examples
(including a broken ASIC). This seems to be more of a problem in
testbenches, because designers typically don't introduce delta delays
to clocks in synthesisable code.
Regards,
Allan.
wrote:
Races in Verilog can also be avoided by following a coding standard.Allan,
It's actually quite easy to make races in VHDL.
I agree this is a clock to data race condition,
however, it is also easy to avoid and easy to
even forget the rule exists.
Are you suggesting that Verilog race conditions
are as simple to solve as this? After reading
Cliff's papers, I would conclude that it is not
an insignificant issue in Verilog.
I agree they are easier to make, though.
I have never been bitten by a race in Verilog, whereas I have been
bitten by races in VHDL on several occasions! This has always in
other people's code though.
This may be a reflection of the relative amount of time I've spent
with the two languages, rather than any property of the languages
themselves.
I didn't think the VHDL LRM defined the order in which processes areExperience indicates that even simple examples
may produce different results on different
LRM compliant simulators.
My read on the LRM and simulation cycle says that
if two simulators execute your example differently,
one of them is not compliant.
Have you seen different results for a delta
cycle situation like this that was not a
simulator bug?
executed. Can you point to the particular part of the LRM that says
this? Without a defined order, different simulators may produce
different results.
Yes, I have seen differences between VHDL simulators that weren't
considered to be bugs (Simili vs Modelsim, using the delta delayed
clock example from an earlier post).
I disagree with the "forget about it" part. Races in VHDL do causeJim, when discussing the relative merits of Verilog
and VHDL it is important not to make false claims
about either language.
Oops, it was not intentional.
Verilog does have a large, common problem in this area.
With VHDL it is minor enough to easily forget about it.
problems in real-world designs. I have seen plenty of examples
(including a broken ASIC). This seems to be more of a problem in
testbenches, because designers typically don't introduce delta delays
to clocks in synthesisable code.
Regards,
Allan.