基于LFSR伪随机数的FPGA产生

时间:2025-09-17  作者:Diven  阅读:0

1.概念

基于LFSR伪随机数的FPGA产生

通过一定的算法对事先选定的随机种子(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……作为伪随机数。

编辑:黄飞

 

猜您喜欢

内径千分表是精密测量工具,主要用于测量孔径、内径等尺寸,其参数关系到测量的精确性和可靠性。内径千分表的测量范围是一个重要参数,通常在几毫米到几百毫米之间,用户需...
2013-02-11 00:00:00

韩国科学家近期取得了一项突破性的研究成果——成功研制出一款基于半导体光纤的多功能传感器。这款传感器具有模拟人类多种感觉器官的独特能力,能够感知光、压力、气味以及...
2025-02-11 09:48:00

现代电子设备中,连接器是不可少的组成部分。CONN_102X2.54MM_TM作为特定类型的连接器,因其独特的设计和优越的性能,应用于各种电子产品中。本文将对C...
2025-04-20 16:30:10

初探卡尔曼滤波的广泛应用卡尔曼滤波是基于线性系统的基础上,测量方差已知的前提下,在包含一系列噪声的观测数据中进行系统状态的最优估计,得到误差最小的估计值。众所周...
2023-07-14 11:41:00

0 引言随着半导体技术的高速发展,大规模集成电路变得更加复杂,开发周期变得更长。FPGA由于具备可编程性,其广泛应用可以降低电路的开发成本。然而,单粒子翻转(...
2020-01-26 16:31:00

随着电子产品的不断小型化,集成电路的封装技术也在不断发展。其中,MSOP8L_3X3MM(微型小外形封装)因其优越的性能和紧凑的设计,成为了许多电子设备中的热门...
2025-02-21 13:50:45

玻璃清洁工具种类繁多,各具特色,适合不同的清洁需求。传统的玻璃刮刀通常由铝制手柄和橡胶刮片组成,适合大面积清洁,能够迅速去除水渍和污垢。喷雾瓶搭配清洁剂是家庭清...
2011-02-14 00:00:00

0402贴片电容是电子元件中常用的。尺寸为0.04英寸×0.02英寸。这个尺寸在电路设计中非常重要。本文将介绍0402贴片电容对照表的相关信息。0402贴片电容...
2025-04-12 21:31:41

2010-05-15 00:00:00

贴片电阻上的「1R2」表示其阻值为1.2欧姆。字母「R」在这里起到小数点的作用,它将前面的数字「1」和后面的数字「2」连接起来,形成1.2的数值。这种表示方法在...
2024-11-26 11:29:44