In reply to Tapas:
class seq_item;
rand bit[7:0] mask;
rand bit[2:0] q[$];
constraint cont_mask_c { q.size() inside {[1:$size(mask)]}; //generate a queue of random size but less than size of mask
q[$] inside {[0:$size(mask)-1]};
foreach(q[i]) {if(q.size() > 1) if(i<= q.size()-2) q[i+1] == q[i] + 1;} //fill random queue with contiguous numbers
foreach(mask[i]) {if (i inside {q} ) mask[i] == 1; else mask[i] == 0;} //only in those contiguos positions generate 1, else 0
}
endclass: seq_item
This generates continuous masks, you can test it here…