S
Stephen Williams
Guest
OK, this one has got me. The standard is leaving out something
important here. My situation is that I have a design that
uses flip-flops. The hand written Verilog uses always @() and
non-blocking assignments to implement synchronous logic. No
problem.
(Especially since I now have the stratified event queue handling
non-blocking assign events properly.)
But in order to test a post-layout version, I get from the
Xilinx tools flip-devices implemented using synchronous user
defined primitives. Unfortunately, the IEEE1364-2001 LRM does
not say out sequential udp primitives are scheduled.
I suspect that all the big name tools cause the output of the
*sequential* primitives to be scheduled exactly like non-blocking
assignments, and the output of *combinational* primitives to be
scheduled exactly like continuous assignments.
I need confirmation of this assumption. The implications are
pretty drastic.
--
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."
important here. My situation is that I have a design that
uses flip-flops. The hand written Verilog uses always @() and
non-blocking assignments to implement synchronous logic. No
problem.
(Especially since I now have the stratified event queue handling
non-blocking assign events properly.)
But in order to test a post-layout version, I get from the
Xilinx tools flip-devices implemented using synchronous user
defined primitives. Unfortunately, the IEEE1364-2001 LRM does
not say out sequential udp primitives are scheduled.
I suspect that all the big name tools cause the output of the
*sequential* primitives to be scheduled exactly like non-blocking
assignments, and the output of *combinational* primitives to be
scheduled exactly like continuous assignments.
I need confirmation of this assumption. The implications are
pretty drastic.
--
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."