「Verilog学习笔记」序列检测器(Moore型)

专栏前言

本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网

复制代码
`timescale 1ns/1ns

module det_moore(
   input                clk   ,
   input                rst_n ,
   input                din   ,
 
   output	reg         Y   
); 
    parameter S0 = 0, S1 = 1 , S2 = 2, S3 = 3, S4 = 4 ;
    reg [2:0] nstate, state ; 

    always @ (posedge clk or negedge rst_n) 
        if (!rst_n) state <= S0 ; 
        else state <= nstate ; 

    always @ (*) 
        case (state) 
            S0 : nstate = din ? S1 : S0 ; 
            S1 : nstate = din ? S2 : S0 ; 
            S2 : nstate = din ? S2 : S3 ;
            S3 : nstate = din ? S4 : S0 ; 
            S4 : nstate = din ? S1 : S0 ; 
            default : nstate = S0 ;
        endcase

    always @ (posedge clk or negedge rst_n) 
        if (!rst_n) Y <= 0 ; 
        else if (state == S4) Y <= 1 ; 
        else Y <= 0 ; 

endmodule
相关推荐
长路归期无望13 分钟前
一步步入门机器人【Arduino基础】
开发语言·经验分享·笔记·学习·机器人
weiabc14 分钟前
MessageBox的用法,在Delphi与vs中的区别
学习
物联网牛七七14 分钟前
2、stm32f407学习笔记-存储器和寄存器以及映射
笔记·stm32·学习
王解22 分钟前
game1
学习·ctf
人邮异步社区23 分钟前
想学习大语言模型(LLM),应该从哪个开源模型开始?
学习·语言模型·开源
Moonquakes54024 分钟前
嵌入式学习基础笔记(51)
笔记·学习
星期五不见面27 分钟前
机器人学习!(二)ROS-基于v4l2loopback虚拟摄像头项目(4)2026/01/14
学习·机器人
Gary Studio29 分钟前
轮[特殊字符]机器人学习笔记
学习
yi.Ist39 分钟前
博弈论 Nim游戏
c++·学习·算法·游戏·博弈论
电子小白12341 分钟前
第13期PCB layout工程师初级培训-5-生产制造
笔记·嵌入式硬件·学习·制造·pcb·layout