Re: [sv-ec] Errata 238 and 240 and a suggestion for a BNF change

From: Surrendra Dudani <Surrendra.Dudani@synopsys.com>
Date: Thu Sep 30 2004 - 13:33:15 PDT
Hi Eugene,
I'm having difficulty understanding the semantics of this proposal. In sv-ac we carefully and formally defined the semantics of sequence_expr so that there is a clear semantic boundary between simulation and assertion evaluation (This includes the observe region where assertions are evaluated). Is your objective to allow a sequence expression anywhere a primary can be used?
Can you please elaborate on the semantics?

Surrendra
At 11:34 AM 9/24/2004 -0700, you wrote:
The following suggestion is a follow-up to the discussion in the last sv-ec meeting on Errata 238 ( Pipelined value access in clocking block) and
Errata 240 ( Expression valuation in cycle delay), with comments from Arturo.
 
In summary, 238 and 240 should be replaced by this proposal. as you can see, the change is minimal, however it can bring benefits to users. From our
experiences, writing self-checking testbenches, with embedded assertions,  is a natural process. Checking is usually done in testbench, doesn't
have to be in code called "Assertions' only.
 
We'd like to hear your feedback, tells us why if you say no and try to convince us. If we agree, the goal is to put this into the first IEEE standard.
 
Below is a brief description:
 
We carefully examined the whole section 17, and found that the functions we requested on SV-EC 238 (Pipelined value access) and 240 (delayed expression) can also  be realized with 'sequence_expr' and $past system  tasks in section 17 Assertions.

We agree that the basic functionality
can be somewhat achieved by using 17.16 (expect statement), but in terms of the flexibility, we still suggest to have 'sequence_expr' as a part of regular expression.

This provides
an  extremely flexible mechanism to express the cycled sequences   anywhere in the program statement. For example, it can be used in the  conditional qualifier for 'if' and 'while' statements .

Given that the the assertion mechanism must be implemented, we
don't see any major technical difficulty  to include it as part of the  primary.  This extension raises the SystemVerilog's expression capability to totally different level.

Suggested Revised  BNF:  to add sequence_expre to primary

<?/x-tad-bigger><?/fontfamily><?/smaller><?fontfamily><?param Times New Roman><?bigger>   A.8.4 Primaries

   primary ::=
     .
     .
     sequence_expr

<?/bigger><?/fontfamily><?smaller>
 
 
Cheers,
-Eugene



**********************************************
Surrendra A. Dudani
Synopsys, Inc.
377 Simarano Drive, Suite 300
Marlboro, MA 01752

Tel:   508-263-8072
Fax:   508-263-8123
email: Surrendra.Dudani@synopsys.com 
********************************************** Received on Thu Sep 30 13:33:34 2004

This archive was generated by hypermail 2.1.8 : Thu Sep 30 2004 - 13:35:26 PDT