verilog系统任务之$random

17 篇文章 16 订阅

这个系统函数提供了一个产生随机数的手段,当函数被调用时返回一个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

 

 

  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值