That's circular reasoning. I said that your example is legal because it complies with the current LRM. That does not mean that people intentionally wrote the LRM that way in order to esnure that such an example would be legal. Shalom ________________________________ From: Gran, Alex [mailto:alex_gran@mentor.com] Sent: Friday, July 04, 2008 1:19 AM To: Bresticker, Shalom; sv-bc Subject: RE: [sv-bc] always_ff Shalom, In that case, given your original question >>The LRM does not today require always_ff to be followed by a sensitivity list with edge-sensitive event controls. Is that deliberate? I believe the answer is yes, the LRM is correct with the current sentence "The always_ff procedure imposes the restriction that it contains one and only one event control and no blocking timing controls." As shown in my example below, you can have a legal always_ff that is not followed by an edge sensitive event. ~Alex ________________________________ From: Bresticker, Shalom [mailto:shalom.bresticker@intel.com] Sent: Thursday, July 03, 2008 2:37 AM To: Gran, Alex; sv-bc Subject: RE: [sv-bc] always_ff Hi, Alex. A strict reading of the LRM gives the following: ________________________________ From: Gran, Alex [mailto:alex_gran@mentor.com] Sent: Wednesday, July 02, 2008 7:16 PM To: Bresticker, Shalom; sv-bc Subject: RE: [sv-bc] always_ff Shalom, Is this legal? [SB] Yes. module test(input my_in, clk, output logic my_out); always_ff begin @(posedge clk); my_out = my_in; end endmodule If so, does always_ff follow the rules from 9.4.2.2 'Implicit event_expression list' for making its sensitivity list? [SB] No. That applies only to @*. Specifically All net and variable identifiers that appear in the statement will be automatically added to the event expression with these exceptions: - Identifiers that only appear in wait or event expressions. The text in 9.2.2.4 that describes the always_ff behavior says "The always_ff procedure imposes the restriction that it contains one and only one event control and no blocking timing controls." So in my example is the "@(posedge clk)" the single event control, thus following the rules. [SB] Strictly speaking, yes. Or is there 1 implicit event control on the always_ff and then the @(posedge clk) is a 2nd, thus breaking the rules. [SB] No, there is no implicit event control. 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. --------------------------------------------------------------------- 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 Thu Jul 3 21:05:25 2008
This archive was generated by hypermail 2.1.8 : Thu Jul 03 2008 - 21:05:56 PDT