艾巴生活网

您现在的位置是:主页>科技 >内容

科技

线性反馈移位寄存器讲解(线性反馈移位寄存器(LFSR))

2024-11-21 12:20:00科技帅气的蚂蚁
线性反馈移位寄存器(LFSR):通常由移位寄存器和异或门逻辑组成。它主要用于伪随机数、伪噪声序列、计数器、BIST、数据加密和CRC校验等。第一

线性反馈移位寄存器讲解(线性反馈移位寄存器(LFSR))

线性反馈移位寄存器(LFSR):通常由移位寄存器和异或门逻辑组成。它主要用于伪随机数、伪噪声序列、计数器、BIST、数据加密和CRC校验等。

第一部分

线性反馈移位寄存器(LFSR)主要包括两大类:Fibonacci(外部LFSR),又称多对一;Lowa(内部LFSR),也称为一对多。

如下图(模2的多项式:x^8 x^6 x^4 1):

第二部分

Tap:影响线性反馈寄存器下一状态的位称为tap。tap的设置将决定线性反馈寄存器的最大输出序列长度。抽头在有限域算术中通常用模2的多项式表示(例如模2的多项式为:x^8 x^6 x^4 1)。通常,N位的线性反馈寄存器可以产生2 n-1的最长不重复序列。因为线性反馈寄存器在所有寄存器的输出都为零时陷入无限循环,所以Nbit 的线性反馈寄存器是2 N-1。抽头的位置将影响LSFR的最大输出状态的数量。例如,如果3bit的抽头为[3,2],将产生7个状态(对应多项式:x 3x21),如果抽头为[3,1],将产生2个状态(对应多项式:x 3x1)。当通过设置抽头产生的最大输出序列长度在N比特下是2 n-1时,对应的模2多项式是本原多项式。下表给出了不同比特下,抽头设置(对应不同的本原多项式)与最大输出状态数的关系。

第三部分

如上所述,N位LFSR可以产生的最大输出状态数为2 n-1。如果输出状态包括全零,输出状态的最大数量可以达到2 n,那么可以如下图所示修改LFSR,即如果检测到Q[7]-Q[0]的输出状态都是零,在~| Q [6: 0] Q [7]之后

第四部分

在实际应用中,比如crc校验,会用到模2多项式的运算,会遵循以下计算原则:

写在最后

本文只介绍线性反馈移位寄存器的原理,RTL的具体实现将在后面写出。

参考资料:1.https://en.wikipedia.org/wiki/Linear-feedback_shift_register 2。HDL芯片设计。使用VHDL或Verilog设计、合成和模拟ASICs和FPGAS的实用指南

编辑:李倩