问个随机约束的写法
时间:12-12
整理:3721RD
点击:
rand bit [3:0] data[16];
期望产生16个data,分别对应0-15(当然顺序不固定)
这个约束应该怎么写呢?
如果是randc bit [3:0] data[16],那是两次随机过程中
同一个data[i]会不重复地取[0:15]中数,不是想要的约束。
请指教。谢谢
期望产生16个data,分别对应0-15(当然顺序不固定)
这个约束应该怎么写呢?
如果是randc bit [3:0] data[16],那是两次随机过程中
同一个data[i]会不重复地取[0:15]中数,不是想要的约束。
请指教。谢谢
post_randomize里面这么做
for(int i=0;i<16;i++) a[i]=i;
a.shuffle();
直接写约束也很简单
constraint t_c {
foreach(a[i]) {
foreach(a[j]){
if(i!=j) {
a[i] != a[j];
}
}
}
}