Linear Feedback Shift Register

线性反馈移位寄存器(Linear Feedback Shift Register,简称LFSR)是一种数字电路设计和密码学中常用的寄存器类型。它是一种简单而高效的方式,用于生成伪随机的二进制序列,并在数据混淆、错误检测和加密等领域中有应用。LFSR通常用于流密码的生成。

以下是LFSR的关键特性和组成部分:

  1. 移位寄存器:LFSR通常由一组触发器或存储元件连接在一条链上组成,每个触发器存储一个二进制位。

  2. 反馈机制:名称中的"线性反馈"指的是将移位寄存器的特定位以线性方式连接起来的反馈回路。反馈机制涉及对寄存器的某些位进行异或(XOR)运算,并将结果反馈到移位寄存器的输入上。参与反馈回路的位的位置称为"反馈点"。

  3. 时钟信号:LFSR受时钟信号控制,这意味着它们在每个时钟周期中将其内容向右(或向左)移动一位。移位寄存器的输入位通常来自其中一个触发器,该位随后被移动到下一个触发器。反馈机制然后确定输入位的值。

  4. 序列生成:LFSR生成一个二进制位序列,看起来是随机的,但完全由初始状态(种子值)和反馈机制确定。该序列在一定数量的时钟周期后重复,这个数量称为LFSR的周期。周期取决于LFSR的具体配置和大小。

  5. 多项式表示:LFSR的配置通常使用多项式表示。多项式表示了反馈点和它们对应的系数。多项式用于确定反馈机制的反馈点。

  6. 应用领域:

    • 伪随机数生成:LFSR用于生成各种需要伪随机序列的应用,包括计算机科学和工程领域。
    • 错误检测和纠正:LFSR可用于检测数据传输和存储中的错误。它们通常用于循环冗余校验(CRC)算法。
    • 密码学:LFSR在某些加密和解密算法中使用,特别是在流密码中。

LFSR在硬件中实现相对简单,因此适用于需要伪随机序列的各种应用。然而,它们的简单性也意味着它们的输出序列可能具有一定的统计特性,不适合用于密码学目的,除非进行额外的处理。在密码学中使用时,通常与其他密码学技术结合使用以增强安全性。

Write the Verilog code for this sequential circuit (Submodules are ok, but the top-level must be named top_module). Assume that you are going to implement the circuit on the DE1-SoC board. Connect the R inputs to the SW switches, connect Clock to KEY[0], and L to KEY[1]. Connect the Q outputs to the red lights LEDR.

c 复制代码
module top_module (
	input [2:0] SW,      // R
	input [1:0] KEY,     // L and clk
	output [2:0] LEDR);  // Q

    wire b;
    assign b = LEDR[1] ^ LEDR[2];
    submodule module1(KEY[0], KEY[1], {SW[0], LEDR[2]}, LEDR[0]);
    submodule module2(KEY[0], KEY[1], {SW[1], LEDR[0]}, LEDR[1]);
    submodule module3(KEY[0], KEY[1], {SW[2], b}, LEDR[2]);

endmodule
        
module submodule(
    input clk,
    input L,
    input[1:0] in,
    output Q);
    
    always@(posedge clk)begin
        case(L)
            1'b0: Q <= in[0];
            1'b1: Q <= in[1];
        endcase
    end
endmodule
相关推荐
XINVRY-FPGA2 小时前
XC3S1000-4FGG320I Xilinx AMD Spartan-3 SRAM-based FPGA
嵌入式硬件·机器学习·计算机视觉·fpga开发·硬件工程·dsp开发·fpga
猫猫的小茶馆4 小时前
【ARM】ARM的介绍
c语言·开发语言·arm开发·stm32·单片机·嵌入式硬件·物联网
猫猫的小茶馆4 小时前
【PCB工艺】数模电及射频电路基础
驱动开发·stm32·单片机·嵌入式硬件·mcu·物联网·pcb工艺
点灯小铭4 小时前
基于单片机的智能药物盒设计与实现
数据库·单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
梓德原5 小时前
【基础】详细分析带隙型稳压电路的工作原理
单片机·嵌入式硬件·物联网
国科安芯6 小时前
航天医疗领域AS32S601芯片的性能分析与适配性探讨
大数据·网络·人工智能·单片机·嵌入式硬件·fpga开发·性能优化
小李做物联网6 小时前
【物联网毕业设计】60.1基于单片机物联网嵌入式项目程序开发之图像厨房监测系统
stm32·单片机·嵌入式硬件·物联网
贝塔实验室7 小时前
新手如何使用Altium Designer创建第一张原理图(三)
arm开发·单片机·嵌入式硬件·fpga开发·射频工程·基带工程·嵌入式实时数据库
@good_good_study7 小时前
STM32 ADC多通道采样实验
stm32·单片机·嵌入式硬件
Darken038 小时前
什么是“位带”?;在STM32单片机中有什么作用?
stm32·单片机·嵌入式硬件