FPGA中的线性反馈移位寄存器(LFSR)详解
1. LFSR简介
线性反馈移位寄存器(LFSR)是一种非常实用的功能模块。从数学角度看,它是本原多项式的一种表示;从实际应用角度,它是生成伪随机数序列的一种方法。可以想象将写有从1到 (2^{n}-1) 数字的纸条放入帽子中,让蒙眼助手逐个抽取,LFSR的输出就类似这样的数字序列。虽然它并非真正的随机,因为能预测整个序列,但数字分布是随机的。
2. LFSR的基本实现方式
LFSR有两种基本实现方式,其功能图如下:
:8位线性反馈移位寄存器(LFSR)的一种实现。
:8位线性反馈移位寄存器(LFSR)的另一种实现。
这两种实现方式都会产生伪随机序列,但序列不同。图13 - 1的实现所需门电路较少,而图13 - 2的实现由于任意两个寄存器间只有一个两输入异或门,时序可能稍好。两种LFSR都会输出从1到 (2^{n}-1) 的数字(这里 (n) 为位数,如8位时输出1到255)。异或门也可用异或非门替换,不过序列会改变。
两种实现方式使用相同的抽头(taps),即接入移位寄存器的位置。例如,第一种实现中异或门的抽头位于第7、3、2和1位的输出;第二种实现中,第7位输入到第0位,并与第1、2和3位组合。关键抽头是第7、3、2和1位。并非所有抽头组合都能产生正确序列,以下是部分好的抽头组合列表:
| 位数 (n) | 序列长度 ((2^{n}-1)) | 抽头位置 |
| ---- | ---- | ---- |
超级会员免费看
订阅专栏 解锁全文
3925

被折叠的 条评论
为什么被折叠?



