「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
相关推荐
lwf00616422 分钟前
导数学习日记
学习·算法·机器学习
qeen871 小时前
【编程日记】现阶段总结
学习
daanpdf2 小时前
新视野大学英语视听说教程2第四版听力音频原文及答案
笔记
-Marks-3 小时前
【C++编程】STL简介 --- (是什么 | 版本发展历程 | 六大组件 | 重要性缺陷以及如何学习)
开发语言·c++·学习·stl·stl版本
U盘失踪了3 小时前
Playwright Trace 查看器
笔记
Joseph Cooper5 小时前
STM32MP157 Linux驱动学习笔记(四):典型总线与设备模型(SPI/USB)
linux·stm32·学习
2401_827499995 小时前
数据分析学习05(黑马)-Pandas
学习·数据分析·pandas
喝醉酒的小白6 小时前
Elasticsearch 故障分析笔记:Pending Tasks 堆积与 Alias 风暴
笔记·elasticsearch
Cathy Bryant6 小时前
微分几何:曲面与坐标系
笔记·矩阵·高等数学·物理学·微分几何
jiayong236 小时前
第 38 课:任务列表里高亮当前正在查看详情的任务
开发语言·前端·javascript·vue.js·学习