序列检测器(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     
相关推荐
蓑衣客VS索尼克3 小时前
什么是逻辑分析仪?
arm开发·人工智能·fpga开发
Terasic友晶科技1 天前
第29篇 基于ARM A9处理器用C语言实现中断<五>
c语言·fpga开发·定时器中断
9527华安1 天前
FPGA实现GTY光口视频转USB3.0传输,基于FT601+Aurora 8b/10b编解码架构,提供2套工程源码和技术支持
fpga开发·音视频·aurora·gty·usb3.0·ft601
博览鸿蒙1 天前
FPGA开发要学些什么?如何快速入门?
fpga开发
@晓凡1 天前
FPGA中利用fifo时钟域转换---慢时钟域转快时钟域
fpga开发
乘风~&2 天前
fpga助教面试题
fpga开发
Hcoco_me2 天前
HDLBits ——> Building Larger Circuits
fpga开发
碎碎思2 天前
FPGA DSP:Vivado 中带有 DDS 的 FIR 滤波器
fpga开发
电子阿板4 天前
ZYNQ TCP Server PS端千兆网口速率低问题,要修改BSP中LWIP配置参数
嵌入式硬件·tcp/ip·fpga开发·tcp
9527华安4 天前
FPGA实现SDI视频解码转GTY光口传输,基于GS2971+Aurora 8b/10b编解码架构,提供工程源码和技术支持
fpga开发·架构·音视频·8b/10b·sdi·gty·gs2971