Unable to ignore automatic bins


I have 2 CP with 3 bins in each I want to do a cross coverage and I only need a set of values and dont want the automatic bins in my coverage score. Example code below which is not working. When I use the below code I am unable to ignore the auto bins that dont fall under cross_1 bin.

cp_a:coverpoint a iff(..){
bins a1 = {some value};
bins a2 = {...};
bins a3 = {...};
cp_b: coverpoint b iff(..){
bins b1={..};
bins b2={..};
bins b3={..};
cp_cross: cross cp_a,cp_b{
bins cross_1 = binsof(cp_a.a1) && binsof(cp_b.b1);
ignore_bins ignore = !binsof(cp_a.a1) && !binsof(cp_b.b1);


In reply to sj1992:

I think you want || instead of &&.

BYW, I find it easier to move bins a1 and b1 into separate coverpoints, and then cross them directly instead of trying to create complex bin expressions. Especially if bins a1 and b1 are really multiple bins and you want to retain the cross product autobins. When you create an explict cross bin, the autobins get collpased into a single bin.

In reply to dave_59:

Hi Dave,

Thanks for the reply. As suggested by you I am trying to implement a seperate cp for bins a1 and b1. Should I have to use iff clause of cp_a and cp_b in the new CP (updated code above)


In reply to [url=/forums/t/unable-to-ignore-automatic-bins/34947/3]sj1992[/ur.l]:

The iff clause only suppresses sampling—it has no effect in bin construction