RE: [sv-ec] New Mantis item on Coverage: bins rhs non-constant expressions

From: Warmke, Doug <doug_warmke_at_.....>
Date: Wed May 09 2007 - 09:04:55 PDT
Arturo, Jonathan, Mark,

Thanks for the comments.  I agree with you guys.
We'll create a proposal which effectively documents
the motivation for this restriction in 18.4.

Regards,
Doug

> -----Original Message-----
> From: Arturo Salz [mailto:Arturo.Salz@synopsys.com]
> Sent: Tuesday, May 08, 2007 11:44 AM
> To: Warmke, Doug; sv-ec@eda.org
> Subject: RE: [sv-ec] New Mantis item on Coverage: bins rhs
non-constant expressions
> 
> Doug,
> 
> The decision to restrict the bins specification to be constant (or
> constant per class with an embedded covergroup) was a deliberate
choice.
> The motivation was to keep the per-type coverage space the same for
all
> instances of a particular covergroup. Otherwise, merging the coverage
> results of multiple covergroup instances onto the covergroup type
> becomes more complicated and more confusing.
> 
> If we do choose to relax this restriction, I agree that the proper
> semantics would be to take snapshot of the expression values at
> covergroup construction time. But, I believe that we will also have to
> specify the mechanism for merging the coverage results of multiple
bins
> with different ranges. Unless we are addressing a specific user need,
my
> bias would be to leave this restriction in place and document the
> motivation in the LRM.
> 
> 	Arturo
> 
> -----Original Message-----
> From: owner-sv-ec@eda.org [mailto:owner-sv-ec@eda.org] On Behalf Of
> Warmke, Doug
> Sent: Sunday, May 06, 2007 1:48 PM
> To: sv-ec@eda.org
> Subject: [sv-ec] New Mantis item on Coverage: bins rhs non-constant
> expressions
> 
> Hi All,
> 
> I've uploaded a new Mantis item
>    http://www.eda-stds.org/svdb/bug_view_page.php?bug_id=0001802
> 
> Following is the Mantis Description, reproduced for convenience.
> Comments, anyone?  Based on feedback, I can either create a proposal
> for this issue, or close the Mantis as "Not to be fixed".
> 
> Consider this testcase:
> 
> class myclass;
>      int id;
>      int ign_id;
>      covergroup cg;
>          coverpoint id {
>              ignore_bins ign = {ign_id};
>          }
>      endgroup
> endclass
> 
> The P1800-2005 LRM currently states, in 18.4:
> 
>     The open_range_list used to specify the set of values
>     associated with a bin shall be constant expressions,
>     instance constants (for classes only), or non-ref
>     arguments to the coverage group.
> 
> Thus, the above testcase is illegal.
> Is this overly restrictive?
> 
> The need for requiring constant expressions isn't clear. It would be
> possible to accept non-constant expressions, and take a "snapshot" of
> the expression value at covergroup construction time. There may be
some
> subtelties involved, such as function calls with side effects as part
of
> the expression. This should be considered, but we think it won't be a
> showstopper. Non-constant variables could easily be handled, in any
> case.
> 
> One clear fact is that the expressions used on the rhs of coverage
bins
> must not be allowed to vary with time after the covergroup is
> constructed.
> 
> Regards,
> Doug
> 
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
> 


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Wed May 9 09:05:21 2007

This archive was generated by hypermail 2.1.8 : Wed May 09 2007 - 09:05:39 PDT