Re: [sv-ec] Query regarding illegal bins

From: Abhishek Tiwari <atiwari_at_.....>
Date: Wed Jun 21 2006 - 00:17:32 PDT
Hi Rich,

Ignore_bins and illegal bins are part of the coverage calculation since 
they reduce the total bin space.
The link you have sent explains this. For example consider below code 
mentioned in your link.

bit [2:0] a,b;
covergroup ct;
coverpoint b {
option.auto_bin_max = 4;
ignore_bins ig = { [0:1], [5:6] };
}

In this case there are total of 4 automatic bins
auto[0]= (0,1)
auto[1] = (2,3)
auto[2] = (4,5)
auto[3] = (6,7)

if there would not have been any ignore bins then total bin space would 
have been 4.
But due to presence of ignore bins total bin space is = 4 - 1 = 3 (since 
1 bin namely auto[0] became empty).

Now my question was if ignore bin had an iff condition , which is true 
sometimes and false sometimes then what will
be total bin sapce. For example in above case , if we have
ignore_bins ig = { [0:1], [5:6] } iff(x);

and 'x' is false some times and true some times during sampling , then 
total bin sapce will be 4 or 3.

Thanks
Abhishek

Rich, Dave wrote:

>Abhishek,
>
>The bin guard expression only serves to prevent incrementing the bin
>counter, it does not change bin structure. Since ignore_bins and
>illegal_bins aren't part of the coverage calculation, the guard has no
>effect on the final coverage. You may want to look at
>http://www.eda-stds.org/svdb/bug_view_page.php?bug_id=0001237.
>
>Dave
>
>
>  
>
>>-----Original Message-----
>>From: owner-sv-ec@server.eda-stds.org [mailto:owner-sv-ec@server.eda-
>>stds.org] On Behalf Of Abhishek Tiwari
>>Sent: Tuesday, June 20, 2006 8:41 AM
>>To: sv-ec@server.verilog.org
>>Subject: [sv-ec] Query regarding illegal bins
>>
>>Hi
>>
>>I have a query regarding 'iff' with illegal bins .
>>
>>Consider the following example:
>>
>>coverpoint a {
>>  bins b1[] = {0, 1, 2, 3};
>>  illegal_bins il_bins = {0} iff x+y;  // Note guard expression
>>}
>>
>>Now, as per LRM, bins are effective only when guard expression
>>evaluates to true. I believe this will apply for
>>illegal_bins/ignore_bins. If
>>that is the case, values 0 will only be ignored iff "x+y"
>>is true while sampling. Now, it may happen that value 0 is ignored
>>during one sampling event (x+y true) and not ignored (x+y false)
>>during another sampling event.
>>
>>In such scenario, LRM does not specify how to calculate the final
>>coverage.
>>
>>Thanks
>>Abhishek
>>
>
>
>  
>
Received on Wed Jun 21 00:17:38 2006

This archive was generated by hypermail 2.1.8 : Wed Jun 21 2006 - 00:17:46 PDT