assert ( std::randomize(read_tr_max_num) with {read_tr_max_num inside {[1:sequental_tr_max_num]};} );
这句的意思是read_tr_max_num的取址范围是 [1:sequental_tr_max_num];
std::这个是个类库引用,randomize是它提供的一个function。
数组的约束:绿皮书P162,,动态数组的大小:sum,数组的长度
定义一个数组:
bit[3:0] B[8],约束这个数组中第0bit为1的个数必须大于2个,实现方式如下:
std::randomize(B)wirh{B.sum>=2;
foreach(B[i])B[i][3:1]==0;}