当前位置:   article > 正文

LFSR线性反馈移位寄存器及Verilog实现

LFSR线性反馈移位寄存器及Verilog实现

一、LFSR

LFSR线性反馈移位寄存器,通常由移位寄存器和异或门组成,主要用于产生伪随机序列等。

线性反馈的含义是各个寄存器的输出通过一个反馈函数连接到第一级触发器的输入;LFSR中的寄存器的个数被称为LFSR的级数。

在这里插入图片描述

LFSR分为两类:

  • 斐波那契LFSR(多对一)

    多个寄存器的输出通过反馈函数来驱动一个触发器的输入

  • 伽罗瓦LFSR(一对多)

    一个寄存器的输出通过反馈驱动多个触发器的输入

其中,多项式决定了反馈函数,下面将详细介绍。

二、斐波那契LFSR

我们以下面的多项式举例:

X 3 + X 2 + 1 X^3+X^2+1 X3+X2+1

其对应的电路结构如下:

在这里插入图片描述

即输出是第3级寄存器的输出,并且其和第2级寄存器的输出异或之后作为第1级寄存器的输入。

假设初始状态为111,则之后三级寄存器的输出(bit0、bit1、bit2)变化过程为111→011→001→100→010→101→110→111→011又回到之前的循环。

Verilog代码如下:

module LFSR(
    input clk,         
    input rst,
    output reg data_out // 伪随机信号输出
);

reg [2:0] lfsr=3'b111; // 4位线性反馈移位寄存器

always @(posedge clk or posedge  rst) begin
    if(rst)
    begin
        data_out<=1'b0;
    end
    else begin
    // LFSR 伪随机序列生成算法
    lfsr <= {lfsr[1:0], lfsr[2] ^ lfsr[1]};
    // 输出伪随机序列的最高位作为数据输出
    data_out <= lfsr[2];
end
end

endmodule

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

仿真结果如下:

在这里插入图片描述

三、伽罗瓦LFSR

我们以下面的多项式举例:

X 3 + X 2 + 1 X^3+X^2+1 X3+X2+1

其对应的电路结构如下:

在这里插入图片描述

即输出是第1级寄存器的输出,并且也是第3级寄存器的输入;同时第三级寄存器的输出和第1级寄存器输出异或的结果作为第2级寄存器的输入。

假设初始状态为111,则之后三级寄存器的输出(bit2、bit1、bit0)变化过程为111→101→100→010→001→110→111又回到之前的循环。

Verilog代码如下:

module LFSR(
    input clk,         
    input rst,
    output reg data_out // 伪随机信号输出
);

reg [2:0] lfsr=4'b1111; // 4位线性反馈移位寄存器

always @(posedge clk or posedge  rst) begin
    if(rst)
    begin
        data_out<=1'b0;
    end
    else begin
    // LFSR 伪随机序列生成算法
    lfsr <= {lfsr[1:0], lfsr[2] ^ lfsr[1]};
    // 输出伪随机序列的最高位作为数据输出
    data_out <= lfsr[2];
end
end

endmodule

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

仿真结果如下:

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/623268
推荐阅读
相关标签
  

闽ICP备14008679号