How to specify a repetition of a transition in a bin

For instance, say I have a signal X[3:0]. I want to say:

cp_X: coverpoint X[3:0] {
bins bin_1 = (9=>A=>B=>9=>A=>B=>9=>A=>B);
bins bin_2 = (9=>A=>B)[*3];
}

bin_2 above is the shorthand for bin_1. Functionally they are both same. However, seems this shorthand ‘(9=>A=>B)[*3]’ is not legal in SV. Can someone please tell how to code this kind of repetition of a transition. Thanks.

In reply to abhishkothari:

The BNF and the examples from the LRM restrict the repetition operators to individual values, not sequences (as you might now from SVAs):

trans_range_list ::=
trans_item
| trans_item [* repeat_range ]
| trans_item [–> repeat_range ]
| trans_item [= repeat_range ]

There’s no way to achieve what you want in SV-2012, other than writing the sequence out explicitly (as for bin1).

In reply to Tudor Timi:

Hi Tudor,
Thanks for the clarification. I have earlier used repeat operators on temporal sequences in both PSL and SV assertions. A bit disheartening to see that its not supported for bins even in SV-2012.

In reply to abhishkothari:

Covergroups were not intended to collect anything but simple temporal sequences. Use a cover directive instead.