在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
12
返回列表 发新帖
楼主: 最酒店

[求助] verilog学习中的一个小问题

[复制链接]
发表于 2013-2-4 14:48:30 | 显示全部楼层
interger s;
time delay;

initial begin
delay = 0;
out = 0;
$value$plusargs("seed=%d",s);
    forever begin
         @(posedge clk) begin
         delay = (delay + out + {$random(s)}) % clk_half_period;
         #delay   out = out + ({$random(s)}%2);
         end
end
end

现手写,不知道能不能帮助你
如果不想传seed,可以把那个系统函数去掉
有问题发信给我,欢迎交流
发表于 2013-2-26 21:51:03 | 显示全部楼层
不清楚lz的需求是什么。是要TRNG还是PRNG?
发表于 2013-3-14 21:29:51 | 显示全部楼层
用 Verilog 的 $random() system task, 因為 output 範圍含正負, 再加上大括弧 {} 取其正, 再除以  N, 自然可以產生 0~(N-1) 之間的 pseudo random number, 依此 toggle wire 應該是你要的.
发表于 2013-4-28 14:32:27 | 显示全部楼层
虽不明,但觉厉
发表于 2013-5-9 14:54:16 | 显示全部楼层
仿真用还是设计用,仿真用直接调用ramdom函数就可以了,设计的话需要写伪随机数发生器了
发表于 2013-7-27 18:22:07 | 显示全部楼层
楼上正解
发表于 2013-8-10 14:50:33 | 显示全部楼层
用一个异或逻辑就可以了。
发表于 2013-8-14 11:25:41 | 显示全部楼层
如果只是仿真,那么可以使用系统随机函数生成;如果是可综合设计,那么就可以采用伪随机数算法生成
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-22 19:45 , Processed in 0.017912 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表