序列检测器(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     
相关推荐
传感器与混合集成电路9 小时前
1/16砖电源模块使能逻辑解析与上电时序设计
fpga开发
FPGA_小田老师15 小时前
ZYNQ7020笔记:MIO、EMIO、GPIO的区别及应用
fpga开发·gpio·zynq·外设·mio·emio
不会武功的火柴15 小时前
SystemVerilog语法(7)-接口(interface)
嵌入式硬件·fpga开发·仿真·ic验证·rtl
高速上的乌龟15 小时前
Lattice LFCPNX-100 Fpga开发+源码:基于I2c协议的IMU驱动控制
fpga开发
GateWorld16 小时前
LCD显示技术完全指南:原理·制造·驱动·FPGA实现之基础三
fpga开发·lcd显示·minilvds·fpga点屏
cjie22116 小时前
图像缩放因子的计算
计算机视觉·fpga开发
XINVRY-FPGA1 天前
XC7Z010-2CLG400I Xilinx Zynq-7000 FPGA
arm开发·嵌入式硬件·算法·fpga开发·硬件工程·dsp开发·fpga
XINVRY-FPGA1 天前
XCZU11EG-2FFVC1156I Xilinx Zynq UltraScale+ MPSoC EG FPGA
图像处理·嵌入式硬件·计算机视觉·fpga开发·硬件工程·dsp开发·fpga
unicrom_深圳市由你创科技2 天前
USB通信在FPGA上怎么实现?
fpga开发
GateWorld2 天前
LCD显示技术完全指南:原理·制造·驱动·FPGA实现之基础二
fpga开发·lcd显示·minilvds·fpga点屏