Re: [sv-ec] regarding "binsof" semantics in functional coverage

From: David Scott <david_scott_at_.....>
Date: Thu Sep 20 2007 - 10:46:58 PDT
Abhishek --

Abhishek Tiwari wrote:
> Hi
>
> Thanks for your reply.
>
> I  needed some more clarification regarding binsof such as
>
> 1)  what is the driving factor for including cross bins
>    that are not defined by user. For example , in below
>    shown cross  x1,   bins  <i[1],j[0]> and  <i[1],j[1]> are
>    also  included although user have not specified them.

This allows the cross space to be fully covered.  What the user-defined 
bins allow you to do, if you think about it, is collapse parts of the 
cross space into a single bin, and that's all.  So if you want the full 
cross space with some (but not all) of the cross space collapsed into 
individual bins, this is the only way to do it.  If the array syntax 
were allowed in cross bin declarations -- as you probably were thinking 
-- it would be possible to do otherwise: you could essentially redefine 
the automatically-generated bins in a user-defined declaration.  Note 
that if you actually don't want the remaining automatically generated 
bins, you can contrive one or more ignore/illegal bin declarations to 
remove them.

>
> 2)  why cross bins specified by binsof are only scalar bins.

A good question, we asked the same.  It is a slightly harder problem and 
requires defining the cross space more rigorously (at the least, it 
would require defining an enumeration order for the cross product.)  
Maybe this alone was enough for the original proposers of the language 
to leave it out.

I suspect this will be added eventually as an enhancement -- though not 
in the 2008 version, as that is near its deadline.

Cheers,

Dave


>
> Regards,
> Abhishek
>
> David Scott wrote:
>
>> Yes, I believe you are correct.  This was clarified in Mantis 1655, 
>> which did not make it into 2008 Draft 3a.  I believe 1655 has had all 
>> changes necessary for Champions approval, though it has not yet been 
>> finally approved.  (It was approved by SV-EC but rejected by the 
>> Champions with friendly amendments suggested.)
>>
>> http://eda.org/svdb/view.php?id=1655
>>
>> -- David Scott, Mentor Graphics
>>
>>
>> Abhishek Tiwari wrote:
>>
>>> **Hello All,
>>>
>>> I have below interpretation regarding semantics
>>> of "binsof" construct in functional coverage.Please
>>> let me know if I am correct.
>>>
>>>
>>> *int* i,j;
>>>        *covergroup* ct;
>>>                *coverpoint* i { *bins* i[] = { [0:1] }; }
>>>                *coverpoint* j { *bins* j[] = { [0:1] }; }
>>>                              x1: *cross* i,j {
>>>                        *bins* i_zero = *binsof*(i) *intersect* { 0 };
>>>                }
>>>        *endgroup*
>>>
>>> **
>>> *cross* x1 has the following  three bins:
>>>
>>>    i_zero
>>>  <i[1],j[0]>
>>>  <i[1],j[1]>
>>>
>>> Now,  suppose at simulation time
>>> below two values of  <i, j> were sampled
>>> <0, 0>
>>> <1, 0>
>>>
>>> Then only two bins, namely i_zero and <i[1], j[0]>
>>> will be covered and bin <i[1], j[0]> will be uncovered.
>>> Hence coverage of cross x1 will be 2/3 .
>>>
>>>
>>> Regards,
>>> Abhishek
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>  
>>>
>>
>>
>
>


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Thu Sep 20 10:47:18 2007

This archive was generated by hypermail 2.1.8 : Thu Sep 20 2007 - 10:47:28 PDT