随机化约束,顾名思义就是让被随机的变量按照约束的要求得到期望的数值。如下:定义了一个随机化类rand_class,
class rand_class;
rand bit[7:0]a;
randc bit[15:0]b;
endclass
rand_class rand_class_r;
不加任何约束的话,执行rand_class_r.randomize()之后,a的值范围为0-255,b的值范围为0-65535。如果我们想要得到a的值全部小于100,有下面几种方法:
方法一:加with{}
执行 rand_class_r.randomize() with {a < 100;}
方法二:加约束块
class rand_class;
rand bit[7:0]a;
randc bit[15:0]b;
constraint a_c {
a < 100;}
endclass
执行 rand_class_r.randomize();