首页 > 技术 > 内容

基于LFSR伪随机数的FPGA产生

时间:2026-02-01  作者:Diven  阅读:0

1.概念

通过一定的算法对事先选定的随机种子(seed)做一定的运算可以得到一组人工生成的周期序列,在这组序列中以相同的概率选取其中一个数字,该数字称作伪随机数,由于所选数字并不具有完全的随机性,但是从实用的角度而言,其随机程度已足够了。这里的“伪”的含义是,由于该随机数是按照一定算法模拟产生的,其结果是确定的,是可见的,因此并不是真正的随机数。伪随机数的选择是从随机种子开始的,所以为了保证每次得到的伪随机数都足够地“随机”,随机种子的选择就显得非常重要,如果随机种子一样,那么同一个随机数发生器产生的随机数也会一样。

2.由LFSR引出的产生方法

产生伪随机数的方法最常见的是利用线性反馈移位寄存器(LFSR),是由n个D触发器和若干个异或门组成的,如下图:

其中,gn为反馈系数,取值只能为0或1,取为0时表明不存在该反馈之路,取为1时表明存在该反馈之路;n个D触发器最多可以提供2^n-1个状态(不包括全0的状态),为了保证这些状态没有重复,gn的选择必须满足一定的条件。下面以n=3,g0=1,g1=1,g2=0,g3=1为例,说明LFSR的特性,具有该参数的LFSR结构如下图:

假设在开始时,D2D1D0=111(seed),那么,当时钟到来时,有:

D2=D1_OUT=1;

D1=D0_OUT^D2_OUT=0;

D0=D2_OUT=1;

即D2D1D0=101;同理,又一个时钟到来时,可得D2D1D0=001. ………………

画出状态转移图如下:

从图可以看出,正好有2^3-1=7个状态,不包括全0;

如果您理解了上图,至少可以得到三条:

1)初始状态是由SEED提供的;

2)当反馈系数不得到的状态转移图也不同;必须保证gn===1,否则哪来的反馈?

3)D触发器的个数越多,产生的状态就越多,也就越“随机”;

3.verilog实现

基于以上原理,下面用verilog产生一个n=8,反馈系数为g0g1g2g3g4g5g6g7g8=101110001的伪随机数发生器,共有2^8=255个状态,该LFSR的结构如下:

verilog源代码如下:

Module RanGen( input rst_n, input clk, input load, input [7:0] seed, output reg [7:0] rand_num );always@(posedge clk or negedge rst_n)begin if(!rst_n) rand_num <=8'b0; else if(load) rand_num <=seed; else begin rand_num[0] <= rand_num[7]; rand_num[1] <= rand_num[0]; rand_num[2] <= rand_num[1]; rand_num[3] <= rand_num[2]; rand_num[4] <= rand_num[3]^rand_num[7]; rand_num[5] <= rand_num[4]^rand_num[7]; rand_num[6] <= rand_num[5]^rand_num[7]; rand_num[7] <= rand_num[6]; end endendModule

仿真波形:

以1111 1111为种子,load信号置位后,开始在255个状态中循环,可将输出值255、143、111……作为伪随机数。

编辑:黄飞

 

猜您喜欢


CBB聚丙烯薄膜电容器是现代电子元件。被应用于许多领域。其性能稳定,使用寿命长,深受用户喜爱。下面我们将详细介绍CBB聚丙烯薄膜电容器的特点和优势。 高绝缘性能...
2025-04-02 11:30:34
贴片电阻通常很小,上面的数字也微小,难以辨认方向。其实,判断数字方向是否正确并不直接影响电阻的功能,因为电阻本身没有极性,正反装都可以正常工作。 然而,为了方便...
2024-11-26 11:29:49
电子元件中,电容器是非常重要的部件。聚丙乙烯电容和聚丙烯电容是最常见的两种类型。很多人不知道选择哪种更好。本文将对此进行分析。材料特性聚丙乙烯电容是用聚丙乙烯材...
2025-04-12 08:31:08
0402贴片电阻的重量非常轻,通常在0.1毫克到0.2毫克之间,甚至更低。这个重量几乎可以忽略不计。要更精确地了解单个0402电阻的重量,需要考虑以下几个因素:...
2024-11-26 11:30:03
随着电子产品的不断发展,贴片电阻作为电子电路中的基础元件,其性能直接影响着整体电路的稳定性和可靠性。在众多贴片电阻型号中,R820电阻因其独特的规格和优异的性能...
2025-10-31 21:30:40
在现代电子设备中,快恢复和高效率二极管是不可少的关键组件。应用于电源管理、电机驱动和信号整流等领域。对于设计师和工程师而言,了解这些二极管的规格尺寸非常重要。快...
2010-10-14 00:00:00
贴片电阻0806指的是一种表面贴装电阻(SMD电阻)的尺寸规格。「0806」表示其长宽尺寸为0.08英寸 x 0.06英寸,约等于公制尺寸2.0mm x 1.5...
2024-11-26 11:29:27
十字槽圆柱头机螺钉是常见的紧固件,应用于机械、电子和建筑等领域。根据不同的分类标准,十字槽圆柱头机螺钉可以分为以下几类。从材质上来看,螺钉可分为碳钢、不锈钢和合...
2022-09-18 00:00:00
其熔断器产品以高品质和多样规格。熔断器在电子电路中起到保护电路、防止过载和短路的重要作用。本文将详细介绍SCHURTER熔断器的大小规格及其品牌特色,帮助用户全...
2025-01-23 07:29:30
瓷管电阻因其良好的耐高温性能和稳定的电阻值,被应用于各种高温、高压环境中。作为国内知名品牌,宇阳(EYANG)瓷管电阻凭借其高品质的制造工艺和可靠的性能,受到了...
2013-01-12 06:18:30