I would like to know that how to generate cross coverage of all the combination of the coverpoints in efficient way.
For example
covergroup combination;
a1: coverpoint a;
b1: coverpoint b;
c1: coverpoint c;
// cross coverage
a1xb1: cross a1, b1;
a1xc1: cross a1, c1;
b1xc1: cross b1, c1;
a1xb1xc1: cross a1, b1, c1;
endgroup
For the real case I meet, there are 5 coverpoints in the group, which means 5!-1-5 = 114 combinations. Is there any method to generate the cross coverage part automatically without directly write them out explicitly?