How to concatenate or add to crossed coverpoints

covergroup combinations;

a_1 : coverpoint a.b
a_2 : coverpoint a.a
.
.
.
c_1 : coverpoint c.b

a : cross a_1, a_2;
b: cross b_1, b_2;
c: cross c_1, c_2;
//How do i enable a bucket that is equal to the sum of a+b+c as a coverpoint?

total : cross (a+b+c);
endgroup


In reply to markiv:

You can only cross other coverpoints.

Can you define what you mean by summing a cross?

Without any explicit bins and a really big auto_bin_max, crossing two coverpoints is the same as a coverpoint of the concatenation of the two other coverpoint expressions

a : cross a_1, a_2;
// is the same as
a : coverpoint {a.b,a.a};

In reply to dave_59:

Hi Dave,

Summing a cross as in adding the occurrences of a,b and c.
if a,b and c have 36 combinations each. I want to be able to quantify a coverpoint that counts 108 combinations (a+b+c)

I believe if i cross a,b and c i will end up getting 36^3 combination buckets.

In reply to dave_59:

The nature of the explicit wildcard bins that i have created will not give me the desired result if i cross them.

In reply to markiv:

You are not sharing enough information for anyone to help you. I would have said try

total: coverpoint (a+b+c) {
 bins b= {[0:107]};
}

But now you’re throwing in wildcard bins. You need to show us a concrete example of the types, bins, and values you want to cover.

In reply to dave_59:

In reply to dave_59:

Fair enough

This is the data i have:
A_feature : coverpoint addrbus[0]
{
wildcard bins feature1 = {1???};
wildcard bins feature2 = {?1??};
wildcard bins feature3 = {??1?};
wildcard bins feature4 = {???1};
}
A_type : coverpoint typebus[0]
{
wildcard bins t1 = {1???};
.
.
wildcard bins t4={???1};
}
.
.
B_feature: coverpoint addrbus[1]
B_type: …

A_comb : cross A_type, A_feature; //All types * features of A
B_comb : cross B_type, B_feature; //All types * features of B

Ideally, I want to find all combinations of [A,B,C…Z][Number of types][Number of features]
But i’m unable to disassociate the data, i only have data in the form of A_type and A_feature.
Therefore i was looking for a way to group A_comb+B_comb