我想在 Specman 中从有限范围生成列表,并确保列表中没有两个连续条目具有相同的值,这样就可以了
[1,0,1,0,1,0,1]
[2,1,3,1,3,2,1]
[100, 22, 50, 62, 100]
但这些不会
[1,0,1,1,1,0,1]
[2,3,3,1,3,2,1]
[100, 22, 50, 50, 100]
我尝试像这样使用 unique()
mylist[mylist_len] : list of uint;
keep mylist.unique(it).size() == mylist.size()
我也不能只使用标量来保留它
keep mylist.unique(it).size() == mylist_len
我也尝试像这样在条目上使用 keep
keep for each (i) in mylist {
if (i > 0) {
keep mylist[i] != mylist[i+1];
};
};
重要的是我像这样限制列表中的条目:
keep for each (i) in mylist {
i < mylist_limit;
};
您可以在“foreach”中使用“prev”。
keep for each (i) in mylist {
i < mylist_limit;
i != prev;
};