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

相关推荐
m0_689618284 小时前
水凝胶发生器,不对称设计妙,医电应用前景广
笔记
Ace'4 小时前
每日一题&&学习笔记
笔记·学习
IM_DALLA4 小时前
【Verilog学习日常】—牛客网刷题—Verilog进阶挑战—VL25
学习·fpga开发·verilog学习
挥剑决浮云 -4 小时前
Linux 之 安装软件、GCC编译器、Linux 操作系统基础
linux·服务器·c语言·c++·经验分享·笔记
辣个蓝人QEX5 小时前
【FPGA开发】Modelsim如何给信号分组
fpga开发·modelsim·zynq
新晓·故知5 小时前
<基于递归实现线索二叉树的构造及遍历算法探讨>
数据结构·经验分享·笔记·算法·链表
魔理沙偷走了BUG6 小时前
【数学分析笔记】第4章第4节 复合函数求导法则及其应用(3)
笔记·数学分析
NuyoahC7 小时前
算法笔记(十一)——优先级队列(堆)
c++·笔记·算法·优先级队列
li星野8 小时前
ZYNQ:点亮LED灯
fpga开发·zynq·7010