Transition bins

In reply to Shashank Gurijala:

Q1. Why can we not assign fixed size array to transition bins?
This is the error compiler throws: Fatal: (vsim-8541) A fixed-size array transition bin ‘d4’ is found in Coverpoint ‘c1’ of Covergroup instance '/transition_bins/#ublk#243269587#33/c '. It is illegal to have such fixed-szie array transition bin per LRM.

Time: 0 ns Iteration: 0 Process: /transition_bins/#INITIAL#35 File: transition_bins.sv

Can you share the code ?

Q2. Why can we not assign a dynamic array to a non-consecutive transition bin?
Here is the sample: bins d8 = (12 => 15[=3] => 10);
Here is the error it throws: Fatal: (vsim-8568) Unbounded or undetermined varying length sequences formed using Repetitive/Consecutive operators are not allowed in unsized Array Transition bins. A transition item in bin ‘d8’ of Coverpoint ‘c1’ in Covergroup instance '/transition_bins/#ublk#243269587#33/c ’ has an operator of kind ‘[= ]’. Please fix it.
Thanks in advance.


// This is unbounded length sequence (12...=>15...=>15...=>15...=> 10).   
// so using [] won't allowed
bins d8[]    =  (12 => 15[=3] => 10); // 12...=>15...=>15...=>15...=> 10

//Few examples   
bins d8[] =  (12 => 15[=3] => 10); //Not valid as unbounded length sequence (12...=>15...=>15...=>15...=> 10)

bins d8[] =  (12 => 15[->3] => 10); //Not valid as unbounded length sequence (12...=>15...=>15...=>15=>10)

bins d8[] =  (12 => 15[*3] => 10); //Valid as bound length sequence (12=>15=>15=>15=>10)

bins trans_3[] = (3[*3:5]);  //Valid as bound length sequence 3=>3=>3, 3=>3=>3=>3, 3=>3=>3=>3=>3

bins d8[] =  (12 => 15[*3:5] => 10); //Valid as bound length sequence 
//(12=>15=>15=>15=>10), (12=>15=>15=>15=>15=>10), (12=>15=>15=>15=>15=>15=>10)