Subject: FW: [sv-ec] Comments on OCR-2: inside proposal
From: David W. Smith (David.Smith@synopsys.com)
Date: Thu Dec 04 2003 - 20:53:02 PST
This was dropped from the reflector so I am resending it.
David
-----Original Message-----
From: owner-sv-ec@eda.org [mailto:owner-sv-ec@eda.org] On Behalf Of Arturo
Salz
Sent: Wednesday, December 03, 2003 11:42 PM
To: Ryan, Ray; sv-ec@eda.org
Subject: Re: [sv-ec] Comments on OCR-2: inside proposal
Ray,
I believe you are right about the need to coalesce some of the 'range' BNF
rules.
The precedence of inside is defined in Table 7-2. It has the same precedence
as
the relational operators (< > <= >=). The rationale for this is because
'inside' is
just a shorthand for a compare (or set of compares).
We have stated in the past that the constraint solver only deals with
2-state
values. But that information does seem to be missing from the LRM. We need
to create an errata to address that. Since constrains can accept 2-state
values,
the last example is illegal.
Arturo
----- Original Message -----
From: "Ryan, Ray" <Ray_Ryan@mentorg.com>
To: <sv-ec@eda.org>
Sent: Wednesday, December 03, 2003 7:19 PM
Subject: [sv-ec] Comments on OCR-2: inside proposal
Feedback on OCR-2: inside proposal
The BNF need to have added where a 'inside_expression' can be used. Likely
this needs to be added as an alternative for 'expression'.
I believe it would be useful if the BNF productions for 'open_range_list'
and 'open_value_range' were included in figure Syntax 7-2. This is the first
place these productions are referenced. They are also described in 20.5
(Defining cross coverage) however, users who don't use the coverage features
may be interested in the inside operator.
At the end of the proposal, in the section "REPLACE BNF in A.8.3", the
open_range_list should not be enclosed in braces {}. The BNF in Syntax 7-2
is correct.
What is the precedence for the inside operator?
For example in:
y = x + z inside {A} + wt;
y = x + z inside {m, n, o} + {a, b, c};
y = x ** z inside {a,b,c};
I'd recommend that 'inside' have the highest precedence of the binary
operators (7.9).
-------------------------------
Specific to usage of the 'inside' operator in constraints:
In previous discussion I believe it was stated that the constraint solver
only deals with 2-state values (although I can't find this in section 12).
So, are 'z' values allowed in an inside constraint?
IE is
constraint C1 { x inside {3'b1?1'}; }
equivalent to
constraint C2 { (x inside {3'b101}) | (x inside {3'b111}); }
Ray
This archive was generated by hypermail 2b28 : Thu Dec 04 2003 - 20:55:07 PST