线性反馈移位寄存器讲解(线性反馈移位寄存器(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的实用指南
编辑:李倩
推荐阅读
- 接触器的文字符号是什么(接触器的电气符号由什么组成)
- 武侠群英传1超级内存修改器游戏介绍(武侠群英传1超级内存修改器)
- 一汽丰田suv全部车型_一汽大众新款SUV车型
- 梅西为什么离开巴萨,梅西为什么会离开巴萨
- 魔兽dota omg ai地图游戏介绍(魔兽dota omg ai地图)
- 汽车车牌号识别_汽车车牌
- 消谐装置概述(一次消谐器通流试验方法)
- 在手机上安装佳能打印机驱动程序? canon官网驱动下载
- 歌手阿朵复出娱乐圈了吗,阿朵这些年都在做什么
- ct800_ct8
- sony ericsson pc suite软件软件介绍(sony ericsson pc suite软件)
- 卷积码编码及译码算法的基本原理是什么(卷积码编码及译码算法的基本原理)
- 奥运会自行车骑多少公里一圈,奥运会自行车骑多少公里
- 红米2和红米2a有什么区别? 红米2a参数
- 掠夺者系列凯佰赫战盾_凯佰赫战盾
- 可以装下全地球水的瓶子,你见过吗英语(可以装下全地球水的瓶子,你见过吗)
- 斯洛伐克足球世界排名,斯洛伐克的足球排名
- 轩辕伏魔录3.2泯灭(魔兽地图)游戏介绍(轩辕伏魔录3.2泯灭(魔兽地图))
- 新车磨合期多少公里_新车磨合期注意事项