这个系统函数提供了一个产生随机数的手段,当函数被调用时返回一个32位的随机数。它是一个带符号的整形数。
$random的一般用法:
$random%b,其中b>0。它给出了一个范围在(-b+1)到(b-1)的随机数。
例如:
reg[23:0]rand;
rand = $random%60;
上述例子是产生-59-59之间的随机数;
reg[23:0]rand;
rand = {$random}%60;
上述例子是产生0-59之间的随机数;
module random_pulse(dout);
output reg[9:0] dout;
integer delay1,delay2,k;
initial
begin
#10 dout = 0;
for(k=0;k<100;k=k+1)
begin
delay1 = 20*({$random}%6);//delay1的范围0-100
delay2 = 20*(1+{$random}%3)//delay2的范围20-60
#delay1 dout = 1<<({$random}%10);//dout的0-9位中随机出现1,并且出现的时间在0-100ns间变化
#delay dout = 0;//脉冲宽度在20-69间变化
end
end
endmodule