Circuits--Sequential--Finite4

  1. Simple FSM3 asy

    module top_module(
    input clk,
    input in,
    input areset,
    output out); //

    复制代码
     parameter A=2'd0;
     parameter B=2'd1;
     parameter C=2'd2;
     parameter D=2'd3;
     
     reg[1:0] state;
     reg[1:0] next_state;
     
     // State transition logic
     always@(*)
         begin
             case(state)
                 A:
                     begin
                         if(in==0) next_state = A;
                         else next_state = B;
                     end
                 B:
                     begin
                         if(in==0) next_state = C;
                         else next_state = B;
                     end
                 C:
                     begin
                         if(in==0) next_state = A;
                         else next_state = D;
                     end
                 D:
                     begin
                         if(in==0) next_state = C;
                         else next_state = B;
                     end
             endcase
         end
    
     // State flip-flops with asynchronous reset
     always@(posedge clk or posedge areset)
         begin
             if(areset)
                 state = A;
             else
                 state = next_state;
         end
    
     // Output logic
     assign out = (state == D);

    endmodule

  2. Simple FSM3 sy

    module top_module(
    input clk,
    input in,
    input reset,
    output out); //

    复制代码
     parameter A=2'd0;
     parameter B=2'd1;
     parameter C=2'd2;
     parameter D=2'd3;
     
     reg[1:0] state;
     reg[1:0] next_state;
     
     // State transition logic
     always@(*)
         begin
             case(state)
                 A:
                     begin
                         if(in==0) next_state = A;
                         else next_state = B;
                     end
                 B:
                     begin
                         if(in==0) next_state = C;
                         else next_state = B;
                     end
                 C:
                     begin
                         if(in==0) next_state = A;
                         else next_state = D;
                     end
                 D:
                     begin
                         if(in==0) next_state = C;
                         else next_state = B;
                     end
             endcase
         end
    
     // State flip-flops with asynchronous reset
     always@(posedge clk )
         begin
             if(reset)
                 state = A;
             else
                 state = next_state;
         end
    
     // Output logic
     assign out = (state == D);

    endmodule

相关推荐
Hacker_Z&Q32 分钟前
CSS 笔记2 (属性)
前端·css·笔记
丝斯20111 小时前
AI学习笔记整理(67)——大模型的Benchmark(基准测试)
人工智能·笔记·学习
whale fall1 小时前
2026 年 1-3 月雅思口语完整话题清单(1-4 月通用最终版)
笔记·学习
xian_wwq1 小时前
【学习笔记】对网络安全“三化六防挂图作战”的理解与思考
笔记·学习·三化六防
三伏5222 小时前
Cortex-M3权威指南Cn第十章——笔记
笔记·单片机·嵌入式硬件·cortex-m3
AI视觉网奇2 小时前
metahuman 购买安装记录
笔记·学习·ue5
koo3642 小时前
pytorch深度学习笔记19
pytorch·笔记·深度学习
历程里程碑2 小时前
Linux 17 程序地址空间
linux·运维·服务器·开发语言·数据结构·笔记·排序算法
夜流冰3 小时前
工程师 - ADC的Gain和offset
笔记
wdfk_prog4 小时前
[Linux]学习笔记系列 -- [drivers][dma]stm32-dma
linux·笔记·学习