RE: [sv-bc] always_ff

From: Bresticker, Shalom <shalom.bresticker_at_.....>
Date: Thu Jul 03 2008 - 21:03:28 PDT
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