序列检测器(Moore型)

目录

描述

输入描述:

输出描述:

参考代码


描述

请用Moore型状态机实现序列"1101"从左至右的不重叠检测。

电路的接口如下图所示。当检测到"1101",Y输出一个时钟周期的高电平脉冲。

接口电路图如下:

输入描述:

input clk ,

input rst_n ,

input din ,

输出描述:

output reg Y

参考代码

cpp 复制代码
`timescale 1ns/1ns

module det_moore(
   input                clk   ,
   input                rst_n ,
   input                din   ,
 
   output	reg         Y   
);
    reg [4:0] state, next_state;
    parameter S0 = 5'b00001,
              S1 = 5'b00010,
              S2 = 5'b00100,
              S3 = 5'b01000,
              S4 = 5'b10000;
    
    always@(posedge clk or negedge rst_n)
        if(!rst_n)
            state <= S0;
        else
            state <= next_state;
    
    always@(*)
        case(state)
            S0: next_state <=  din ? S1 : S0;
            S1: next_state <=  din ? S2 : S0;
            S2: next_state <= ~din ? S3 : S2;
            S3: next_state <=  din ? S4 : S0;
            S4: next_state <=  din ? S1 : S0;
            default: next_state <= S0;
        endcase
    
    always@(posedge clk or negedge rst_n)
        if(!rst_n)
            Y <= 1'b0;
        else if(state == S4)
            Y <= 1'b1;
        else
            Y <= 1'b0;

endmodule     
相关推荐
zlinear数据采集卡4 小时前
从0到1硬核拆解:工业级数据采集卡的隔离设计与Modbus通信实战
arm开发·单片机·嵌入式硬件·fpga开发·开源
FakeOccupational10 小时前
fpga系列 HDL:Microchip FPGA开发软件 Libero Soc FPGA 在线逻辑分析
fpga开发
FPGA技术联盟17 小时前
如何在跨时钟域分析中处理好复位信号?
fpga开发
国科安芯17 小时前
基于ASM1042S2S的箭载通信网络抗辐射加固方案研究
服务器·网络·嵌入式硬件·fpga开发·架构·信号处理
YYRAN_ZZU2 天前
Lattice 自定义IP业务逻辑核
嵌入式硬件·fpga开发
FPGA小徐2 天前
FPGA FIFO一篇完整解释
fpga开发
I'm a winner2 天前
【IP核】 Xilinx FPGA LVDS 高速接口,含验证工程与板级测试用例
tcp/ip·fpga开发·测试用例
I'm a winner2 天前
基于Xilinx FPGA的LVDS高速串行通信系统 - 完整源码解决方案(一)(文末附源码)
fpga开发
国科安芯2 天前
航天器多路并联大功率电源系统设计与ASP4644均流特性分析
单片机·嵌入式硬件·fpga开发·安全性测试
techdashen4 天前
从网络栈继续往下:micro:bit、2.4GHz、调制方式,以及一个不太靠谱但很有趣的想法
网络·fpga开发