I believe the intent was to emulate normal synthesizable RTL semantics for flip flops and distinguish the clock from the reset. That is, the basic synthesizable flip flop form is roughly:
always @(posedge clk or posedge rst)
if (rst)
out <= 0;
else
out <= in;
That is, the event control contains the clock and the asynchronous reset. One of the distinctions between the clock and the reset is that the clock does not appear inside the procedure body whereas the reset does.
(One might want to consider other non-design logic statements in which the clock could legitimately appear, such as in a $display statement.)
> But perhaps I'm missing some reasoning here. Does anyone
> remember the motivation for the original rule? Was it due to
> difficulties implementing tools that could handle this, or
> some insight into the usual intent of such code?
Regards,
Shalom
---------------------------------------------------------------------
Intel Israel (74) Limited
This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
-- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Tue May 4 02:41:20 2010
This archive was generated by hypermail 2.1.8 : Tue May 04 2010 - 02:41:44 PDT