[sv-ec] Updated version of 2506

From: Little Scott-B11206 <B11206@freescale.com>
Date: Sat Aug 13 2011 - 21:56:50 PDT

Hi all:

I have uploaded an updated proposal for 2506 (_v8) to mantis. It includes the major changes described below as well as a number of other minor edits found during the editing process. I believe these changes incorporate all of the feedback I have received from Shalom, Brad, and Jonathan (thanks for the feedback, guys!) and the SV-EC meeting.

Any feedback on the new version or the changes shown below is appreciated.

Thanks,
Scott

----------------------------------------------------------------------------------------------

REPLACE

Only constant expressions (see 11.2.1), instance constants (for an embedded covergroup), or non-ref arguments to the covergroup are allowed to be used in the following coverpoint constructs:
- with_expression
- select_expression
- open_range_list, or
- an expression specifying a fixed number of bins

Instance constants referenced from a covergroup shall be members of the enclosing class. The initializers for such instance constants shall appear before the referring covergroup constructor call in the class constructor, and shall not appear with the covergroup constructor call in the body of any looping statement (see 12.7) or fork-join_none, either before or after.

Function calls may participate in expressions within the coverpoint, but the following semantic restrictions are imposed:
- Functions shall not contain output or ref arguments (const ref is allowed).
- Functions shall be automatic, preserve no state information, and have no side effects.
- Functions shall not reference non-constant variables outside the local scope of the function.
- User-defined system task or function calls are restricted to constant system function calls (see 11.2.1)

WITH

Only constant expressions (see 11.2.1), instance constants (for an embedded covergroup), or non-ref arguments to the covergroup are allowed to be used as variables in a covergroup_expression.

Instance constants referenced from a covergroup_expression shall be members of the enclosing class. The initializers for such instance constants shall appear before the referring covergroup constructor call in the class constructor. These initializers shall not appear with the covergroup constructor call in the body of any looping statement (see 12.7) or fork-join_none, either before or after.

Function calls may participate in a covergroup_expression, but the following semantic restrictions are imposed:
- Functions shall not contain output or non-const ref arguments (const ref is allowed).
- Functions shall be automatic, preserve no state information, and have no side effects.
- Functions shall not reference non-constant variables outside the local scope of the function.
- User-defined system task or function calls are restricted to constant system function calls (see 11.2.1)

----------------------------------------------------------------------------------------------

REPLACE

To create a fixed number of bins for a set of values, a legal expression that evaluates to a number can be specified inside the square brackets.

WITH

To create a fixed number of bins for a set of values, a single positive integral expression can be specified inside the square brackets.

----------------------------------------------------------------------------------------------

REPLACE

The with clause specifies that only those values in the covergroup_range_list that satisfy the given expression (i.e., for which the expression evaluates to true) are included in the bin. The truth value of the with clause expression is interpreted in the same way an expression is interpreted in the condition of a procedural if statement (see 12.4).

WITH

The with clause specifies that only those values in the covergroup_range_list that satisfy the given expression (i.e., for which the expression evaluates to true, as described in 12.4) are included in the bin.

----------------------------------------------------------------------------------------------

REPLACE

a) e shall be self-determined
b) If there is no coverpoint type, then b shall be evaluated as though it were the right-hand side of an assignment to a variable whose type is type(e). In the presence of a coverpoint type, e and b shall be evaluated as though it were the right-hand side of an assignment to a variable whose type is the coverpoint type.

WITH

a) If there is no coverpoint type, then e shall be self-determined. In the presence of a coverpoint type, e shall be statically cast to the coverpoint type.
b) If there is no coverpoint type, then b shall be statically cast to the type of e. In the presence of a coverpoint type, b shall be statically cast to the coverpoint type.

----------------------------------------------------------------------------------------------

GRAMMAR CHANGES

-Added covergroup_expression and changed the appropriate expression to covergroup_expression
-Changed open_range_list to covergroup_range_list
-Changed open_value_list to covergroup_value_list
-Changed with_expression to with_covergroup_expression
-Changed set_expression to set_covergroup_expression
-Changed integer_expression to integer_covergroup_expression
-Changed the integer_covergroup_expression to remove $
-Scrubbed Clause 19 for text that needed to be changed because of the grammar update.

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

This archive was generated by hypermail 2.1.8 : Sat Aug 13 2011 - 21:57:27 PDT