Circuits--Sequential--Registers_2

  1. 3-bit LFSR

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

    复制代码
     wire clk = KEY[0];
     always @(posedge clk)
         begin
             case(KEY[1])
                 1'b0:	
                     begin
                         LEDR[0]<=LEDR[2];
                         LEDR[1]<=LEDR[0];
                         LEDR[2]<=LEDR[1]^LEDR[2];
                     end
                 1'b1:	
                     begin
                         LEDR[0]<=SW[0];
                         LEDR[1]<=SW[1];
                         LEDR[2]<=SW[2];
                     end
             endcase
         end

    endmodule

  2. 32-bit LFSR

    module top_module(
    input clk,
    input reset, // Active-high synchronous reset to 32'h1
    output [31:0] q
    );

    复制代码
     integer i;
     always@(posedge clk)
         begin
             if(reset)
                 q<=32'h1;
             else
                 begin
                     for(i=0;i<32;i++)
                         begin
                             if(i==0||i==1||i==21) 
                                 q[i]<=q[i+1]^q[0];
                             else if(i==31)
                                 q[31]<=q[0]^1'b0;
                             else
                                 q[i]<=q[i+1];
                         end
                     
                 end
             
         end

    endmodule

3.shift register

复制代码
module top_module (
    input clk,
    input resetn,   // synchronous reset
    input in,
    output out);
    
    reg [3:0] q;
    
    assign out = q[3];
    always@(posedge clk)
        begin
            if(!resetn)
                q<=0;
            else
                begin                 
                    q<={q[2:0],in};                       
                end
        end
endmodule
相关推荐
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.2 小时前
Keepalived VIP迁移邮件告警配置指南
运维·服务器·笔记
ling___xi2 小时前
《计算机网络》计网3小时期末速成课各版本教程都可用谢稀仁湖科大版都可用_哔哩哔哩_bilibili(笔记)
网络·笔记·计算机网络
中屹指纹浏览器4 小时前
中屹指纹浏览器底层架构深度解析——基于虚拟化的全维度指纹仿真与环境隔离实现
经验分享·笔记
Hello_Embed4 小时前
libmodbus 移植 STM32(基础篇)
笔记·stm32·单片机·学习·modbus
无聊的小坏坏4 小时前
实习笔记:用 /etc/crontab 实现定期数据/日志清理
笔记·实习日记
香芋Yu4 小时前
【机器学习教程】第04章 指数族分布
人工智能·笔记·机器学习
深蓝海拓6 小时前
PySide6从0开始学习的笔记(二十六) 重写Qt窗口对象的事件(QEvent)处理方法
笔记·python·qt·学习·pyqt
中屹指纹浏览器6 小时前
中屹指纹浏览器多场景技术适配与接口封装实践
经验分享·笔记
BugShare8 小时前
Obsidian 使用指南:从零开始搭建你的个人知识库
笔记·obsidian
深蓝海拓8 小时前
PySide6从0开始学习的笔记(二十五) Qt窗口对象的生命周期和及时销毁
笔记·python·qt·学习·pyqt