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 07:42:34 2006
This archive was generated by hypermail 2.1.8 : Thu Jun 22 2006 - 07:42:44 PDT