《语文建设》网站,上传自己做的网站后台怎么办,淄博桓台网站建设定制,长沙seo网站建设袁飞最好一、概述
我们进行FPGA开发的过程中在做仿真的时候#xff0c;难免会需要一些数据作为输入。有的时候需要输入大量的数据对于设计结果进行一个验证#xff0c;如果逐个去进行输入#xff0c;就需要花费大量的时间。这种情况下我们通常会想到使用随机数。随机数在我们的日常…一、概述
我们进行FPGA开发的过程中在做仿真的时候难免会需要一些数据作为输入。有的时候需要输入大量的数据对于设计结果进行一个验证如果逐个去进行输入就需要花费大量的时间。这种情况下我们通常会想到使用随机数。随机数在我们的日常开发中非常常见。不管是在软件编程还是硬件开发中应用都非常广泛。
在FPGA开发中我们同样也可以使用Verilog提供的随机数生成系统任务$random来帮助生成大量的随机数。
二、调用方法分类
前面两种都是直接对于$random进行一个调用产生的结果都是一致的而第三种就和前面两种不一样。
$random、$random() $random的返回值是一个32位的整数但是有时不见得需要这么大的数。如果希望随机数的值能固定在某个范围那么可以这么使用$random%b那么生成的随机数的范围就是 [ ( -b1 ) : (b- 1 ) ]。 这其实就是对b取余。 此外如果我们希望只生成正数范围内的随机数那么可以这么使用{$random}%b那么生成的随机数的范围就是 [0 : (b - 1 )]。$random(seed): 这种写法与上面两种不同给$random传入了参数seed因此$random根据seed来产生随机数。seed不同产生的随机数的序列也不同。而且每执行一次$random(seed)产生一个随机数seed也自动更新一次。
三、 $random的调用
1$random rand$random % 52; //产生一个在 -52—52范围的随机数。 rand{$random} % 52; //通过位拼接操作{}产生0—52范围的随机数 rand 10{$random}%(10-11)//产生一个在1, 10之间随机数的例子 2$random(seed) $random(1)//这里当括号里面的值不发生改变时每次随机都会产生同一个数。