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

相关推荐
一隅论数智5 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
深圳老胡5 天前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
Because_of_Her15 天前
并查集-听课笔记
笔记·算法·并查集
彧azz5 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
陈卫军老师5 天前
陈卫军:把口味写在一张纸上,店才稳得住
经验分享·笔记·流量运营
`流年づ5 天前
人工智能学习笔记 - 补充
人工智能·笔记·深度学习·学习
qeen875 天前
【Linux】操作系统之进程介绍(二)
linux·笔记·学习·进程
从零开始的嵌入式之旅5 天前
day47
arm开发·经验分享·笔记·嵌入式硬件
陈年老古董5 天前
MediaPipe 姿态检测与脸部关键点检测
笔记·python·opencv·学习·dlib
彧azz5 天前
操作系统时间管理与系统核心板块学习总结
c语言·笔记·学习·系统架构