In reply to dave_59:
Thanks Dave for quick reply. I did not see any error or warning. I still see weird behavior with code that you asked me to modify. However with that code i see that both the other constraint works fine.
notice that i modified code , converted bit to int and i want to make sure int are generated in specific range. is it a proper way to do it? or any other better way can you suggest ?>
constraint rand_num{foreach (num[i]) i+1 < $size(num) → num[I+1] != num[i];};
rand int unsigned num [10];
rand int unsigned data[10];
rand int unsigned uniqnum[10];
constraint rand_num{foreach (num[i]) i+1 < $size(num) -> num[i+1] != num[i];
foreach (num[i]) num[i] inside {[0:20]};
};
constraint data_values { foreach(data[i])
foreach(data[j])
if(i != j) data[i] != data [j] ;}
constraint rand_unitnum{unique {uniqnum};}
[\systemverilog]
num[0] 11
num[1] 10
num[2] 5
num[3] 18
num[4] 1
num[5] 8
num[6] 17
num[7] 6
num[8] 17
num[9] 12
uniqnum[0] 2585900447
uniqnum[1] 2885502533
uniqnum[2] 4138482668
uniqnum[3] 3688754642
uniqnum[4] 565161356
uniqnum[5] 3727708039
uniqnum[6] 1611526103
uniqnum[7] 1088663520
uniqnum[8] 405083532
uniqnum[9] 1919651944
data[0] 3040365644
data[1] 1549177249
data[2] 2520948884
data[3] 671157517
data[4] 3642241582
data[5] 1668691443
data[6] 2694328522
data[7] 616240321
data[8] 2242663180
data[9] 3757757259