RE: [sv-ac] 928 Proposal Updated

From: Eduard Cerny <Eduard.Cerny_at_.....>
Date: Thu Jun 22 2006 - 08:55:30 PDT
I think that the parenthesized solution (2nd one) might be the simplest
even though it is only required for the case containing a ",". Would
there be a way to require () only in that case? 
ed


________________________________

	From: Lisa Piper [mailto:piper@cadence.com] 
	Sent: Thursday, June 22, 2006 10:42 AM
	To: spsaha@cal.interrasystems.com
	Cc: Brad Pierce; Eduard Cerny; sv-ac@verilog.org
	Subject: RE: [sv-ac] 928 Proposal Updated
	
	

	Surya,

	 

	You are correct that this is an issue.  Does anyone have
suggestions on how to fix this?  It is only a problem for positional
binding since there are parenthesis when name binding is used.  

	 

	Breaking the syntax into one for positional and one for name
binding would be messy, but could be done. It might be more clear to
simply state in text that "event_expression, event_expression" is not
allowed as an actual argument in positional binding.  

	 

	Another possibility is to define:

	 

	            sequence_actual_arg ::=

	                          sequence_instance

	                        | expression

	                        | ( event_expression )

	 

	This would allow for having expressions with or without
parenthesis, but event expressions would require parenthesis. This might
have backwards compatibility issues though, depending on how the 1800
was previously interpreted. 

	 

	lisa

	
________________________________


	From: spsaha@cal.interrasystems.com
[mailto:spsaha@cal.interrasystems.com] 
	Sent: Thursday, June 22, 2006 12:30 AM
	To: Lisa Piper
	Cc: Brad Pierce; Eduard Cerny; sv-ac@verilog.org
	Subject: Re: [sv-ac] 928 Proposal Updated

	 

	Hi, 
	I have some comment on inclusion of event_expression as part of
sequence_actual_arg. By definition event_expression is: 
	event_expression ::= 
	[ edge_identifier ] expression [ iff expression ] 
	| sequence_instance [ iff expression ] 
	| event_expression or event_expression 
	| event_expression , event_expression 

	So it is already containing ',' separator. And if we see the
definition of sequence_list_of_arguments, the ',' separator is again
used: 

	sequence_list_of_arguments 
	[sequence_actual_arg] { , [sequence_actual_arg] } { , .
identifier ( [sequence_actual_arg] ) } 
	| . identifier (sequence_actual_arg] ) { , . identifier (
[sequence_actual_arg] ) } 

	So there is obvious conflict in BNF. SV 3.1a version had that
conflict earlier, and 1800 fixed it by including only expression as
sequence_list_of_arguments. Now if we again going back, then I think
this conflict should be fixed first. 
	  

	Lisa Piper wrote: 

		Thanks Brad - you have a good eye!  I have incorporated
the changes in the attached and will update Mantis.

		lisa 

		
		
________________________________


		From: Brad Pierce [mailto:Brad.Pierce@synopsys.com]

		
		Sent: Wednesday, June 21, 2006 12:00 PM 
		To: Lisa Piper 
		Cc: Eduard Cerny 
		Subject: RE: [sv-ac] 928 Proposal Updated  

		Lisa,

		I think property_port_item and sequence_port_item each
have an extra semicolon at the end that should be deleted. 

		Also, I would recommend defining property_actual_arg as 

		    property_actual_arg ::=  property_instance |
sequence_actual_arg 

		-- Brad 

		
		
________________________________


		From: owner-sv-ac@eda-stds.org
[mailto:owner-sv-ac@eda-stds.org] On Behalf Of Lisa Piper

		
		Sent: Tuesday, June 20, 2006 1:52 PM 
		To: sv-ac@verilog.org 
		Subject: [sv-ac] 928 Proposal Updated 

		Hi all,

		928 is ready for review again.  I have reviewed and
incorporated comments from John Pierce, Bassom Tabbara, John Havlicek's,
Miller Hillel,  and Ed Cerny.  The summary is as follows: 

		The purpose is to fix issues with the existing BNF.
Specifically: 

		1. removal of list_of_formals, formal_list_item, and
actual_arg_expr that were not referenced 

		2. list_of_arguments was redfined as
sequence_list_of_arguments and property_list_of_arguments. actual_arg
was defined as sequence_actual_arg and property_actual arg.   They
should be unique because sequences cannot have property arguments. 

		3. tf_port list was replaced by sequence_port_list and
property_port_list to fix the issue that tf_port_list does not allow
default values assignment other than expression.  The new definition
allows for intiialization of all args in the definition. Named or
positional association of arguments is allowed when the sequence or
property is instantiated.  

		4. Actual args for a sequence include sequence_instance
or event_expression (which includes expressions) Actual args for a
property are the same as for a sequence with the addition of a
property_instance. 

		Lisa 

	-- 
	Regards
	Surya.

	  
Received on Thu Jun 22 08:55:43 2006

This archive was generated by hypermail 2.1.8 : Thu Jun 22 2006 - 08:55:52 PDT