Transition

In reply to dave_59:

Hi Dave ,

For the following :


 bins d2 = (2=>3[=2]);

Won’t bin d2 be covered if the sampled values were :: 2 3 1 3 ?

One possible solution for the requirement :


  //  Assuming  coverpoint  ' data '  is  3-bit  variable
  wildcard bins transitn   =  ( 2 => 3 => 3'b?[*0:50] => 2 => 3 );
  ignore_bins   ig_trans   =  ( 2  =>  3  =>  2[*1:50]  =>  2  =>  3 );

Bin tranitn would be covered if the sampled values were ::

  1. 2 3 1 2 3
  2. 2 3 2 3

*One of the tools throws compilation error for [0] which I believe is incorrect

Error-[FCITRV] Illegal repeat value in transition
Illegal value 0 specified in repeat min/max field of a transition in bin transitn of coverpoint data

This can be bypassed using ::


  wildcard bins transitn = ( 2 => 3 => 2 => 3 ) , ( 2 => 3 => 3'b?[*1:50] => 2 => 3 );

A Note for future reference : ’ $ ’ can’t be specified as upper bound i.e following is illegal :


  wildcard bins transitn = ( 2 => 3 => 2 => 3 ) , ( 2 => 3 => 3'b?[*1:$] => 2 => 3 );