SystemVerilog中随机的constrain语法
SystemVerilog中随机
通过关键字rand定义
rand bit [1:0] a;
randc bit [1:0] b;
rand bit [31:0] addr;
constraint rang{ addr >= 1024; //分开写
addr <= 16384;
a == b; //等于
}
用rand定义变量之后,调用randomize()函数进行随机化。若随机成功,这个函数返回值是1,否则0 。
rand_mode函数打开激励随机
class Packet;
rand integer src, dst;
endclass
Packet packet_a = new;
packet_a.rand_mode(0); //调用函数赋值0,关闭随机
packet_a.src.rand_mode(1);//打开类中src的随机
t = packet_a.rand_mode();//随机成功返回1