线性反馈移位寄存器LFSR,是移位寄存器的一种,通常用于在数字电路中产生伪随机数。寄存器中的初始值叫做种子,种子应该是非零的。LFSR的下一时刻输入为是由整个移位寄存器值的某些位做异或运算的结果。选取哪些位置 用于移位,是需要进行预先设计好的,目的是要产生一个伪随机并且尽可能长周期的数字序列。
n位LFSR,最多产生2^(n-1)种序列(全零或全一被排除,因为全零异或nor结果为0,不会产生新序列,全1同或xnor也是)。
影响下一个状态的比特位叫做抽头。移位寄存器链的多个抽头用作XOR或XNOR门的输入。 然后,此门的输出用作对移位寄存器链开始的反馈,因此用作LFSR中的反馈。
注意:当抽头使用XOR门时,全0的模式不会出现。 当抽头使用XNOR门时,全1的模式将不会出现。 此两种情况LFSR将停止运行。LFSR是伪随机的。输出模式是确定性,可以通过了解XOR门的位置以及当前模式来确定下一个状态。
怎样选取抽头可以产生最大长度的随机序列,可以参考下表;

LFSR的特征方程根据抽头位置来定:

本文详细介绍了线性反馈移位寄存器(LFSR)的工作原理,包括其如何用于生成伪随机数序列,以及种子的选择和抽头的影响。LFSR的特征方程和最大长度序列的生成方法也被讨论。通过Verilog代码示例展示了LFSR的实现,并对比了IE型和EE型LFSR的区别。
最低0.47元/天 解锁文章
1万+





