您的位置:首页 > 汽车 > 新车 > 网页版浏览器怎么设置_深圳科技公司大全_论述搜索引擎优化的具体措施_疫情放开最新消息今天

网页版浏览器怎么设置_深圳科技公司大全_论述搜索引擎优化的具体措施_疫情放开最新消息今天

2025/8/27 20:08:18 来源:https://blog.csdn.net/m0_62785875/article/details/147080353  浏览:    关键词:网页版浏览器怎么设置_深圳科技公司大全_论述搜索引擎优化的具体措施_疫情放开最新消息今天
网页版浏览器怎么设置_深圳科技公司大全_论述搜索引擎优化的具体措施_疫情放开最新消息今天

基本概念

        在 Verilog 中,$random 是一种用于生成伪随机数的系统任务。它可以根据种子变量 (seed) 的值返回一个 32 位有符号整型随机数。如果没有提供种子变量,默认会使用内部定义的种子值。其调用格式有3种:$random;$random();$random(seed);

$random与$random() 

        其中$random;和$random();的效果是相同的。

        $random的返回值是一个32位的整数,但是有时不见得需要这么大的数。如果希望随机数的值能固定在某个范围,那么可以这么使用:$random%b;那么生成的随机数的范围就是   [ ( -b+1 ) : (b- 1 ) ]。 

initial beginrand_data = 0;repeat(5) begin#10 rand_data = $random; //每10ns产生一个随机数,重复五次end#5;$stop;
end

$random改成$random%10。即,正数范围的随机数生成结果[0:9]

如果想随机产生的是正整数,则使用{$random} % b;表示 0:(b-1)中的随机数

$random(seed) 

种子的作用

        种子变量决定了每次调用 $random 所产生的随机数值。如果希望获得可重复的结果以便调试或验证,可以通过设置固定的种子实现这一点;反之,若需要不可预测的序列,则应频繁更改种子或者不显式设定种子让其自动生成新值。

`timescale 1ns / 1psmodule key_filter_tb2();reg clk,rst;reg key;wire key_p_flag;wire key_r_flag;wire key_state;    key_filter key_filter(clk,rst,key,key_p_flag,key_r_flag,key_state);initial clk=1;always #10 clk=~clk;initial beginrst=0;key=1;#201;rst=1;#3000;press_key(2);$stop;endreg[31:0]rand;task press_key;input [3:0]seed;beginkey=1;#20000000;repeat(5)beginrand={$random(seed)} % 10000000;        #rand key=~key;        endkey=0;#40000000;repeat(5)beginrand={$random(seed)} % 10000000;        #rand key=~key;        endkey=1;#40000000;            end        endtask          endmodule

随机产生时间来测试按键消抖。 

结果与预期相符。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com