您当前的位置: 首页 > 

FPGA硅农

暂无认证

  • 1浏览

    0关注

    282博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【数字IC/FPGA】线性反馈移位寄存器

FPGA硅农 发布时间:2022-03-10 10:30:00 ,浏览量:1

线性反馈移位寄存器

LFSR用于产生可重复的伪随机序列PRBS,该电路有n级触发器和一些异或门组成,如下图所示。它和移位寄存器最大的区别就是他有反馈。 在这里插入图片描述 其中, g n g_n gn​为反馈系数,取值只能为0或1,取为0时表明不存在该反馈之路,取为1时表明存在该反馈之路;这里的反馈系数决定了产生随机数的算法的不同。用反馈函数表示成 y = a 0 x 0 + a 1 x + a 2 x 2 . . . . . . . y=a_0x^0+a_1x+a_2x^2....... y=a0​x0+a1​x+a2​x2.......反馈函数为线性的叫线性移位反馈序列,否则叫非线性反馈移位序列。 LFSR的初始值被称为伪随机序列的种子,影响下一个状态的比特位叫做抽头。LFSR的触发器编号一般从1开始,抽头取值范围是 1 到 2 n − 1 1到2^n-1 1到2n−1。抽头序列可以用来描述该LFSR的反馈多项式。由n个触发器构成的LFSR电路可以产生一个周期为 2 n − 1 2^n-1 2n−1的序列。理论表明,要使LFSR得到最长的周期,这个抽头序列构成的多项式加1就是其反馈多项式,必须是一个本原多项式,也就是说这个多项式不可约

LSFR的分类

目前常用的LFSR电路可分为斐波那契LFSR和伽罗瓦LFSR。

斐波那契LFSR

斐波那契LFSR也可以称为多到一型LFSR,即抽头序列对应bit位置的多个触发器的输出通过异或逻辑来驱动一个触发器的输入。如下图所示 在这里插入图片描述

伽罗瓦LFSR

伽罗瓦LFSR和斐波那契刚好相反,它是一到多型的LFSR,即最后一个触发器的输出通过与抽头序列对应位置触发器前一级触发器的输出异或逻辑驱动多个抽头序列对应位置触发器的输入。如下图所示 在这里插入图片描述

代码实现
`timescale 1ns / 1ps
//
// Company: 
// Engineer: 
// 
// Create Date: 2022/03/09 15:40:06
// Design Name: 
// Module Name: LSFR1
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//


module LSFR(
input logic clk,
input logic rst_n,
output logic [3:0] o1,
output logic [2:0] o2
    );
always_ff@(posedge clk,negedge rst_n)
if(~rst_n)
    o1            
关注
打赏
1658642721
查看更多评论
0.0500s