[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gEDA: Need help resolving a scheduling contradiction
>
> THIS IS NOT A BUG!
>
> Can I say it more strongly?
>
> THIS IS NOT A BUG!!!!!
>
> The test contains a race. A Verilog simulator which conforms to the
> standard may execute race conditions in any order it chooses. It
> should tell you something that ncverilog executes this in a different
> order than Verilog-XL, and ncverilog is newer and faster than Verilog-
> XL. It should also tell you something that VCS executes this in a
> different order than Verilog-XL, and coincidentally the same order as
> ncverilog. It's also newer and faster.
>
> The Cadence AEs my not be aware of the issues, but the developers
> certainly are, and you will just waste a lot of people's time. I
> personally spent a lot of time and effort on the IEEE 1364 committee
> making sure that the behavior of a simulator in the face of a race
> condition was NOT specified, in order to preserve the flexibility of
> the simulator writer to implement correct semantics in the most
> efficient way he could.
>
> Again, BOTH Verilog-XL AND ncverilog (AND VCS AND Icarus AND
> Modelsim) ARE EXECUTING THIS MODEL CORRECTLY.
>
> John
There is (IMO) a slight problem with the view that it's OK to treat
a continous assign the same way as a gate: while it makes sense for
the case of "wire x = y & z", the degenerate case of "wire x = w" is
perfectly realizable in hardware as a short-circuit and as such it
shouldn't incur ANY scheduling delay (and thereby race conditions).
So unless you want to differentiate simple and complex continuous
assignments I would recommend the XL behavior for all of them.
Kev.
PS: this is less of an issue with SystemVerilog since I added the
"alias" statement for doing short-circuits (for AMS reasons).
>
>
> On Jun 28, 2005, at 7:01 PM, Stephen Williams wrote:
>
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> >
> > Stephen Brickles wrote:
> > |>>XL is, theoretically, that reference, although that's for
> > IEEE1364-1995
> > |>>and not the -2001 standard. That said, XL seems to be alone on the
> > |>>particular scheduling issue that these tests bring up, and at this
> > |>>point I doubt even Cadence cares.
> > |
> > |
> > | Steve,
> > |
> > | I am terribly tempted to file this with Cadence as a bug - in
> > that their
> > | two verilog simulators don't agree on these two files - just to
> > see what their
> > | AE's say !! Would you have any objection to me sending these two
> > files
> > | to Cadence as test cases ?
> >
> > Heh! By all means go for it. I'd be curious to hear what comes
> > of it. Could be fun;-)
> >
> > - --
> > Steve Williams "The woods are lovely, dark and deep.
> > steve at icarus.com But I have promises to keep,
> > http://www.icarus.com and lines to code before I sleep,
> > http://www.picturel.com And lines to code before I sleep."
> > -----BEGIN PGP SIGNATURE-----
> > Version: GnuPG v1.2.5 (GNU/Linux)
> > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
> >
> > iD8DBQFCwgDorPt1Sc2b3ikRApQ9AKDpx+iddWGqQUAzf8pIF9MWwQ4G4ACcDxwE
> > jE/JwgHacir5GdZ414bAJ1k=
> > =utOT
> > -----END PGP SIGNATURE-----
> >
>