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

相关推荐
丝斯20111 小时前
AI学习笔记整理(79)——Python学习8
人工智能·笔记·学习
Z.风止1 小时前
Large Model-learning(2)
开发语言·笔记·python·leetcode
烛之武2 小时前
SpringCloud基础(上)
笔记·spring·spring cloud
南境十里·墨染春水2 小时前
C++ 笔记 深赋值 浅赋值(面向对象)
开发语言·jvm·c++·笔记
今儿敲了吗2 小时前
算法复盘——差分
数据结构·c++·笔记·学习·算法
第二层皮-合肥2 小时前
50天学习FPGA第32天-添加HDL属性调试
学习·fpga开发
_李小白2 小时前
【OSG学习笔记】Day 23: ClipNode(动态裁剪)
android·笔记·学习
minglie13 小时前
MAC,PHY,变压器,RJ45
fpga开发
丝斯20113 小时前
AI学习笔记整理(78)——Python学习7
人工智能·笔记·学习