In reply to dave_59:
Thanks for the clarification Dave .
The constraint expression ( without constraint guard ) is equivalent to ::
constraint VAL {
( ( 31 == int1 ) && ( v[ 31 +: 10 ] ) ) == 10'h0 ;
( ( 30 == int1 ) && ( v[ 30 +: 10 ] ) ) == 10'h0 ;
( ( 29 == int1 ) && ( v[ 29 +: 10 ] ) ) == 10'h0 ;
............................
( ( 0 == int1 ) && ( v[ 0 +: 10 ] ) ) == 10'h0 ;
}
Although the left part ( i == int1 ) is False for index value 23 and upwards ,
the right part ( v[ i +:10 ] ) still has Out of bound indexes .
Hence we observe Randomization Failure