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

相关推荐
饕餮争锋2 小时前
设计模式笔记_行为型_观察者模式
笔记·观察者模式·设计模式
I'm a winner3 小时前
新手入门Makefile:FPGA项目实战教程(二)
笔记·fpga开发
汤姆大聪明5 小时前
【软件设计模式】前置知识类图、七大原则(精简笔记版)
笔记·设计模式
我爱C编程6 小时前
基于FPGA的8PSK+卷积编码Viterbi译码通信系统,包含帧同步,信道,误码统计,可设置SNR
fpga开发·通信·8psk·帧同步·snr·卷积编码·维特比译码
lingggggaaaa7 小时前
小迪安全v2023学习笔记(六十一讲)—— 持续更新中
笔记·学习·安全·web安全·网络安全·反序列化
不太可爱的叶某人8 小时前
【学习笔记】Java并发编程的艺术——第6章 Java并发容器和框架
java·笔记·学习
超勇的阿杰9 小时前
gulimall项目笔记:P54三级分类拖拽功能实现
android·笔记
饕餮争锋10 小时前
设计模式笔记_行为型_策略模式
笔记·设计模式·策略模式
₯㎕星空&繁华11 小时前
Linux-地址空间
linux·运维·服务器·经验分享·笔记
诗书画唱11 小时前
学习笔记与效率提升指南:编程、记忆与面试备考
笔记·学习·面试