Circuits--Building--FSM1101

  1. FSM1101

    module top_module (
    input clk,
    input reset, // Synchronous reset
    input data,
    output start_shifting);

    复制代码
     parameter s0 = 3'd0;
     parameter s1 = 3'd1;
     parameter s2 = 3'd2;
     parameter s3 = 3'd3;
     parameter s4 = 3'd4;
     
     reg[2:0] state;
     reg[2:0] next_state;
     
     always@(*)
         begin
             case(state) 
                s0:
                    begin
                        if(data) next_state = s1;
                        else     next_state = s0;
                    end
                 s1:
                    begin
                        if(data) next_state = s2;
                        else     next_state = s0;
                    end
                 s2:
                    begin
                        if(data) next_state = s2;
                        else     next_state = s3;
                    end
                 s3:
                    begin
                        if(data) next_state = s4;
                        else     next_state = s0;
                    end
                 s4: next_state = s4;
                    
             endcase
         end
     
     always@(posedge clk)
         begin
             if(reset)
                 state <= s0;
             else
                 state <= next_state;
         end
     
     assign start_shifting = (state == s4);

    endmodule

相关推荐
Lips61132 分钟前
2026.1.20力扣刷题笔记
笔记·算法·leetcode
Hammer_Hans1 小时前
DFT笔记20
笔记
jane_xing2 小时前
【Hello-Agents】学习笔记(一)
笔记·ai agent
zhangrelay5 小时前
ROS云课三分钟-cmake默认版本和升级-260120
笔记·学习
lkbhua莱克瓦246 小时前
JavaScript核心语法
开发语言·前端·javascript·笔记·html·ecmascript·javaweb
SmartBrain6 小时前
Agent 知识总结
服务器·数据库·笔记
杨浦老苏6 小时前
离线优先的自托管笔记应用Anchor
笔记·docker·群晖
CryptoPP6 小时前
主流国际股票行情API接口横向对比:如何选择适合你的数据源?
大数据·笔记·金融·区块链
代码游侠6 小时前
嵌入式开发——ARM Cortex-A7内核和i.MX6处理器相关的底层头文件
arm开发·笔记·嵌入式硬件·学习·架构
hetao17338377 小时前
2026-01-19~20 hetao1733837 的刷题笔记
c++·笔记·算法