EETOP 创芯网论坛 (原名:电子顶级开发网)
标题:
FPGA如何在一个制定范围产生一个随机数
[打印本页]
作者:
xushuai_hit53
时间:
2013-9-10 17:10
标题:
FPGA如何在一个制定范围产生一个随机数
FPGA如何在一个高值一个低值间产生一个随机数,真伪随机数无所谓,希望有代码或者公式,谢谢大家。
我的邮箱
xushuai_hit53@163.com
作者:
shiyinjita
时间:
2013-9-10 19:49
用pn码就可以的,网上很多例子
作者:
xushuai_hit53
时间:
2013-9-11 08:08
回复
2#
shiyinjita
我这初出茅庐,菜鸟一只,pn码是什么意思?
作者:
加油99
时间:
2013-9-11 08:23
百度“FPGA 伪随机数”
作者:
xushuai_hit53
时间:
2013-9-11 11:01
回复
4#
加油99
产生伪随机数的代码啊什么的有很多,但是没有办法设定伪随机码的范围啊
作者:
coyoo
时间:
2013-9-11 12:06
比如7bit为随机码,范围就是0到127啊
作者:
xiaojia102003
时间:
2013-9-11 13:46
本帖最后由 xiaojia102003 于 2013-9-12 10:35 编辑
楼主是哈工大的?
给你提供1个简单的思路:
范围是A,B的,假设A<B,先用$ramdon生成0<(B-A)范围的随机数,再加上A。 只能用来仿真
作者:
shiyinjita
时间:
2013-9-12 07:32
回复
1#
xushuai_hit53
确实不能限定范围,如果仿真可以限定,但是应用还没有想出方法来
作者:
hllyh
时间:
2013-9-12 10:02
设置范围按照7#的思路做。下面是Altera公司的一个简单代码:
lfsr.rar
作者:
yadog
时间:
2013-9-12 10:20
仿真的话,使用rand函数就可以了
可综合的实现,用PRBS序列加最大最小值限制就实现了
作者:
xushuai_hit53
时间:
2013-9-12 12:34
回复
6#
coyoo
我要产生一个16位的随机数,但是有高值和低值,在两个值之间产生一个随机数
作者:
xushuai_hit53
时间:
2013-9-12 12:35
回复
7#
xiaojia102003
我是要应用,模仿一个故障,这个光仿真不行,不过同样感谢~!
作者:
xushuai_hit53
时间:
2013-9-12 12:37
回复
9#
hllyh
谢谢
作者:
xushuai_hit53
时间:
2013-9-12 12:39
回复
10#
yadog
有点不太明白PRBS,这个是在什么地方设置?跟用的开发环境有关吗?我比较熟悉Quartus 2
作者:
yucaoxilin
时间:
2013-9-12 21:58
LFSR~~
作者:
xushuai_hit53
时间:
2013-9-13 08:06
回复
15#
yucaoxilin
密码学,高端大气上档次啊,谢谢啊,有帮助,现在有一定的想法了。
作者:
浩然若枫
时间:
2013-9-23 08:52
记得像混沌信号就是伪随机序列,可以用FPGA产生一个有一定范围的混沌信号。
作者:
xushuai_hit53
时间:
2013-9-23 12:19
回复
17#
浩然若枫
谢谢,我已经限定了一个范围,你说的好像很有意思,我会查查。
作者:
eagle654321
时间:
2013-10-10 17:14
回复
1#
xushuai_hit53
建议你看看LFSR 生成 伪随机序列
作者:
donaphael
时间:
2015-1-22 16:03
回复
9#
hllyh
看看了谢谢楼主的分享
作者:
glace12123
时间:
2015-1-25 00:17
always @(posedge sys_clk or negedge rst_n)
begin
if(rst_n == 1'b0)
prbs_out <= #U_DLY 7'b1110_101;
else
prbs_out <= #U_DLY {prbs_out[5:0],prbs_out[6]^prbs_out[5]};
end
恭喜,你已经有一个周期为127的7bit伪随机序列了,它的本原多项式为 x^7 + x^6 + 1,每个时钟周期产生一个,如果要加范围,你可以再逻辑限定,多于某个值后者少于某个值,就给它处理了。
产生PRBS码要用的是LFSR,说白了就是N个移位寄存器,然后把某些寄存器的输出拿来异或,每个时钟周期每个寄存器输出的结果可以组合成1个数,做得烂,这个数就不变,做得好,可以产生2^N -1个大小顺序不同的数,而怎么找抽头,需要去看近世代数知识,寻找本元多项式~~~
作者:
huangxjmail
时间:
2015-6-11 11:45
回复
1#
xushuai_hit53
我和楼主有着同样的需求,但是想来想去只能用除法器求余的办法来实现,太费资源,,不知楼主现在有没有更好的方法
作者:
xushuai_hit53
时间:
2015-7-1 11:10
回复
22#
huangxjmail
也没有更好的方法,用逻辑生成太费劲了,我这个有上位机,最后在上位机做随机数,把这个数传到FPGA中。
作者:
huangxjmail
时间:
2015-7-1 22:45
回复
23#
xushuai_hit53
上位机做速度不够,,目前我只能想到用除法器求余
作者:
辛中臣
时间:
2015-7-2 10:35
x+random
作者:
a290727130
时间:
2015-10-13 10:49
下来看看啊
作者:
孑然儿
时间:
2016-5-31 09:57
使用多项式的方法好些,取位异或等。
作者:
无所谓
时间:
2016-5-31 10:08
这个问题比较实在,有时候用的多,学习了
作者:
simuzi
时间:
2016-7-27 11:35
$random %范围 不可以吗啊?
作者:
孑然儿
时间:
2016-7-27 16:23
就是利用线性移位寄存器,求异或,多项式根据PN码的就可以。前段时间我刚用过。
作者:
yangxueboily
时间:
2016-7-27 20:38
rom..............
作者:
dasubuaa
时间:
2018-7-19 14:49
学习了!!
作者:
tangchaodefeng
时间:
2018-7-28 22:44
楼上的各位,伪随机数也仅仅是伪随机数而已,是假的。每次程序运行产生的随机数的数字还不是一样的一个确定值。
欢迎光临 EETOP 创芯网论坛 (原名:电子顶级开发网) (https://bbs.eetop.cn/)
Powered by Discuz! X3.5