[sv-ac] if ... else ... property change

From: Kulshrestha, Manisha <Manisha_Kulshrestha@mentor.com>
Date: Thu Aug 25 2011 - 01:21:13 PDT

Hi,

Looks like there is a bug introduced in the BNF in the P1800-2009 LRM.

property_declaration ::=
property property_identifier [ ( [ property_port_list ] ) ] ;
{ assertion_variable_declaration }
property_statement_spec
endproperty [ : property_identifier ]

property_spec ::=
[clocking_event ] [ disable iff ( expression_or_dist ) ] property_expr

property_statement_spec ::=
[ clocking_event ] [ disable iff ( expression_or_dist ) ] property_statement

property_statement ::=
property_expr ;
| case ( expression_or_dist ) property_case_item { property_case_item } endcase
| if ( expression_or_dist ) property_expr [ else property_expr ]

In the above syntax, the 'if ... else ..' will not have semicolon at the end. Was this intentional ? This change makes it backward incompatible. Does anyone remember if this issue was discussed ?

The original syntax was:

property_declaration ::=
property property_identifier [ ( [ tf_port_list ] ) ] ;
{ assertion_variable_declaration }
property_spec ;
endproperty [ : property_identifier ]

property_spec ::=
[clocking_event ] [ disable iff ( expression_or_dist ) ] property_expr

property_expr ::=
sequence_expr
| ( property_expr )
| not property_expr
| property_expr or property_expr
| property_expr and property_expr
| sequence_expr |-> property_expr
| sequence_expr |=> property_expr
| if ( expression_or_dist ) property_expr [ else property_expr ]
| property_instance
| clocking_event property_expr

Thanks.
Manisha

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Thu Aug 25 01:21:48 2011

This archive was generated by hypermail 2.1.8 : Thu Aug 25 2011 - 01:22:03 PDT