0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

FPGA之家 来源:FPGA之家 作者:FPGA之家 2022-06-16 10:04 次阅读

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

Part.1

线性反馈移位寄存器(LFSR)主要包括两大类:斐波那契(外部LFSR),又称many-to-one;伽罗瓦(内部LFSR),又称one-to-many。

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

5cd6b2f4-ed0d-11ec-ba43-dac502259ad0.png

Part.2

抽头(tap):影响线性反馈寄存器下一个状态的比特位叫做抽头,抽头的设定会决定线性反馈寄存器最大的输出序列长度,抽头通常用有限域算数中模2的多项式来表示(例如模2的多项式为:x^8+x^6+x^4+1)。

通常N bits的线性反馈寄存器能产生最长的不重复序列为2^N-1。因为当所有寄存器的输出为全零状态时,线性反馈寄存器陷入死循环,故Nbit的线性反馈寄存器的输出状态有2^N-1。

抽头的位置会影响LSFR的最大输出状态的个数,例如:3bit的抽头为【3,2】会产生7个状态(多项式对应为:x^3+x^2+1),若抽头为【3,1】会产生2个状态(多项式对应为:x^3+x+1)。

当N bits下,抽头的设定产生的最大输出序列长度为2^N-1时,此时对应的模2多项式为本原多项式。下表为不同的bits下,抽头的设定(对应不同的本原多项式)和最大的输出状态个数关系表。

5ce281ce-ed0d-11ec-ba43-dac502259ad0.png

Part.3

上面提到N bits的LFSR能产生最大输出状态的个数为2^N-1,如果输出状态包括全零的状态,最大输出状态的个数可达到2^N,那么通过对LFSR做如下图的修改,即如果检测到Q[7]-Q[0]输出状态为全零时,经过~|Q[6:0]^Q[7]逻辑运算后输出的结果为1,进而保证线性反馈寄存器不会陷入死循环中。

5cff7162-ed0d-11ec-ba43-dac502259ad0.png

Part.4

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

5d225a42-ed0d-11ec-ba43-dac502259ad0.png

写在最后

这里只是介绍了线性反馈移位寄存器的原理,后面会写到RTL的具体实现。

参考资料: 1.https://en.wikipedia.org/wiki/Linear-feedback_shift_register 2.HDL Chip Design. A Practical Guide for Designing, Synthesizing and Simulating ASICs and FPGAs Using VHDL or Verilog

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5308

    浏览量

    119978
  • 线性
    +关注

    关注

    0

    文章

    196

    浏览量

    25128

原文标题:线性反馈移位寄存器原理

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    移位寄存器的工作原理和类型

    移位寄存器是计算机中常用的一种寄存器类型,它能够按位进行数据的左移或右移操作。作为数字电路中的基本元件,移位寄存器由多个触发构成,每个触发
    的头像 发表于 08-02 18:11 1919次阅读
    <b class='flag-5'>移位寄存器</b>的工作原理和类型

    移位寄存器的工作原理、类型及应用

    。 一、移位寄存器的工作原理 基本结构 移位寄存器由多个存储单元组成,每个存储单元可以存储一位二进制数字。这些存储单元通常按照线性顺序排列,形成一个寄存器
    的头像 发表于 07-12 10:22 1412次阅读

    移位寄存器中使用的储存单元是什么

    移位寄存器是一种常见的数字电路组件,用于存储和传输数字信号。在移位寄存器中,存储单元是其核心组成部分,负责存储数字信号的每一位。本文将介绍移位寄存器中使用的存储单元。 移位寄存器概述
    的头像 发表于 07-12 10:21 369次阅读

    移位寄存器中Dsr有什么用

    移位寄存器(Shift Register)是一种数字电路,用于存储和传输数字信号。在数字电子学中,它广泛应用于数据存储、信号处理和时序控制等领域。DSR(Data Shift Register
    的头像 发表于 07-12 10:15 404次阅读

    移位寄存器右移是怎么移位

    将介绍移位寄存器的右移操作。 移位寄存器的基本概念 移位寄存器是一种具有多个存储单元的线性结构,每个存储单元可以存储一个二进制位(0或1)。移位寄存
    的头像 发表于 07-12 10:14 957次阅读

    PLC移位寄存器指令的工作过程

    在工业自动化领域,可编程序控制(PLC)的应用日益广泛。作为工业控制的核心设备,PLC不仅具备强大的数据处理能力,还拥有丰富的指令系统,以满足各种复杂的控制需求。其中,移位寄存器指令是PLC
    的头像 发表于 06-15 17:37 1475次阅读

    8位移位寄存器工作原理是什么?

    在数字化浪潮席卷全球的今天,数字电子系统已成为我们生活中不可或缺的一部分。而在这些系统中,有一个看似微小但至关重要的组件——8位移位寄存器,它如同一个周密的齿轮,在数据的传输与处理中发挥着至关重要
    的头像 发表于 06-04 16:20 1154次阅读

    SN74HCS16507-Q1移位寄存器数据表

    电子发烧友网站提供《SN74HCS16507-Q1移位寄存器数据表.pdf》资料免费下载
    发表于 06-04 11:04 0次下载
    SN74HCS16507-Q1<b class='flag-5'>移位寄存器</b>数据表

    移位寄存器的工作原理与作用

    在数字电路和计算机系统中,移位寄存器(Shift Register)是一个至关重要的元件。它不仅能够存储数据,还能在时钟信号的控制下,使数据按照一定的规律进行移位操作。这种独特的功能使移位寄存器在数
    的头像 发表于 05-30 17:17 2855次阅读

    双向移位寄存器的工作原理、特点及应用

    双向移位寄存器,作为一种特殊的数字电路元件,在数字信号处理和计算机体系结构中扮演着重要的角色。其独特之处在于能够根据控制信号实现数据的双向移位,即既可以向左移位,也可以向右移位。这种灵
    的头像 发表于 05-24 16:52 2097次阅读

    移位寄存器的功能是什么 移位寄存器的工作原理

    移位寄存器(Shift Register)是一种在数字电路中经常使用的重要元件,其功能是接受和存储数据,并以有序的方式将数据位进行移位操作。移位寄存器可以用来完成数据的平移、移位、串行
    的头像 发表于 02-03 16:43 5851次阅读

    线性反馈移位寄存器输出序列怎么算

    线性反馈移位寄存器(Linear Feedback Shift Register, LFSR)是一种重要的序列发生,广泛应用于密码学、通信
    的头像 发表于 02-03 11:09 2099次阅读

    移位寄存器可降低LED设计的尺寸和成本

    在使用 LED 的设计中,移位寄存器非常有用。例如,如果系统包括七段显示、单个指示或形成网格或面板的 LED 阵列,则可以使用标准 8 位移位寄存器来允许低引脚数微控制
    发表于 01-30 15:14 566次阅读
    <b class='flag-5'>移位寄存器</b>可降低LED设计的尺寸和成本

    移位寄存器的工作原理 移位寄存器左移和右移怎么算

    移位寄存器是一种用于在数字电路中实现数据移位操作的基本电路元件。它由多个触发以及相关控制电路组成,具有存储、接受和移动数据的功能。移位寄存器可以分为两种类型:串行
    的头像 发表于 01-18 10:52 7228次阅读

    labview移位寄存器如何清零

    LabVIEW中的移位寄存器(Shift Register)是一种用于存储和移动数据的功能性块。它类似于传统计算机中的寄存器,可以用于在循环中保留变量的状态。但与传统寄存器不同的是,移位寄存器
    的头像 发表于 01-05 13:49 2875次阅读