Subject: [sv-bc] RE: [sv-ec] Legal use of an inside_expression
From: David W. Smith (david.smith@synopsys.com)
Date: Wed Sep 03 2003 - 10:12:22 PDT
Greetings,
ERR-6 has been created to deal with the issue described below.
The issue is that the "inside" operator is defined in Section 12.4.3. The
only reference to constraints is with reference to its use within
constraints. It does not limit the use to only being with constraints.
The proposal is to move most of the 12.4.3 description to 7.16 (new section)
leaving on a reference to Section 7.16 within 12.4.3 and the comments on the
use of the inside operator with constraints.
Section 12.4 (4th paragraph, last sentence) will also have to be modified to
remove "inside" as a constraint-specific operator.
Being that the comment has been made that this operator is synthesizable we
need to handle this as a collaborative decision between SV-EC and SV-BC. As
such Karen and I have agreed on the following process:
1. Discussion will proceed on the email reflector with both committees.
2. SV-EC will record the errata (ERR-6) with the result being documented in
the LRM
changes (LRM-16).
3. Once the discussion has progressed both committees will vote on the
acceptance
of the change.
Regards
David
-----Original Message-----
From: owner-sv-ec@eda.org [mailto:owner-sv-ec@eda.org] On Behalf Of Arturo
Salz
Sent: Tuesday, September 02, 2003 6:57 PM
To: Neil Korpusik; sv-ec@eda.org
Cc: Brad Pierce
Subject: Re: [sv-ec] Legal use of an inside_expression
Neil,
The BNF is correct. The "inside" operator should be available anywhere in
the language, not just in constraints. The BNF was written to allow "inside"
in any expression. Therefore, it is legal to write:
if ( foo inside { [16:23] , [32:47] } ) ... ;
Not only that, but this construct is synthesizable so there's no reason why
it should be limited to constrains.
The description of the inside operator should be added to the "Operators and
Expressions" section. Currently, it's semantics are described only in the
constraints sections, but that is simply due to historical reasons.
Arturo
----- Original Message -----
From: "Neil Korpusik" <Neil.Korpusik@sun.com>
To: <sv-ec@eda.org>
Sent: Tuesday, September 02, 2003 4:21 PM
Subject: [sv-ec] Legal use of an inside_expression
Hi Brad,
I had a question on the SV3.1 BNF.
It was my understanding that an "inside_expression" was intended to only be
used within constraint blocks. The BNF seems to indicate that an
inside_expression can be used anywhere that an expression is allowed.
A.8.3 Expressions
expression::=
primary
|unary_operator{attribut_instance}primary
| inc_or_dec_expression
| ( operator_assignment )
| expression binary_operator { attribute_instance } expression
| conditional_expression
| string_literal
| inside_expression
inside_expression ::= expression inside range_list_or_array
Could you clarify this?
Neil
This archive was generated by hypermail 2b28 : Wed Sep 03 2003 - 10:13:43 PDT