verilog中输入序列不连续的序列检测

编写一个序列检测模块,输入信号端口为data,表示数据有效的指示信号端口为data_valid。当data_valid信号为高时,表示此刻的输入信号data有效,参与序列检测;当data_valid为低时,data无效,抛弃该时刻的输入。当输入序列的有效信号满足0110时,拉高序列匹配信号match。

模块的接口信号图如下:

代码如下:

(CSDN代码块不支持Verilog,代码复制到notepad++编辑器中,语言选择Verilog,看得更清楚)

cpp 复制代码
`timescale 1ns/1ns
module sequence_detect(
	input clk,
	input rst_n,
	input data,
	input data_valid,
	output reg match
	);
    reg [3:0] data_r;
    
    always@(posedge clk or negedge rst_n) begin
        if(~rst_n)
            data_r <= 4'b0;
        else
            data_r <= data_valid? {data_r[2:0], data}: data_r;
    end
    
    always@(posedge clk or negedge rst_n) begin
        if(~rst_n)
            match <= 0;
        else
            match <= data_r[2:0]==3'b011 && data==1'b0 && data_valid;
    end
  
//  always@(posedge clk or negedge rst_n) begin
//     if(~rst_n)
//         match <= 0;
//     else
//         match <= data_r==4'b0110;
//  end
    
endmodule
相关推荐
cjie2214 小时前
安路Modelsim仿真库编译
fpga开发
QYR-分析5 小时前
全球及中国电源序列发生器行业市场发展现状与前景分析
fpga开发
alxraves6 小时前
超声图像前端信号处理的关键技术
前端·fpga开发·信号处理
木心术11 天前
基于FPGA+RFIC的5G基站设计方案与5G专用DFE芯片的设计方案区别及优劣势分析
5g·fpga开发
坏孩子的诺亚方舟1 天前
open_prj21_RGB LCD和HDMI
fpga开发·mpsoc
坏孩子的诺亚方舟1 天前
open_prj20_MPSOC概述
fpga开发·正点原子·mpsoc
nature_forest1 天前
DSP与FPGA之间EMIF接口之DSP参数配置下板测试问题总结
fpga开发
小麦嵌入式1 天前
FPGA入门(三):3-8 译码器 仿真波形解读
stm32·单片机·嵌入式硬件·mcu·fpga开发·硬件工程
upper20202 天前
从零开始动手做Verilog实验--04--11阶FIR滤波器
fpga开发
nuoxin1142 天前
SSD201-富利威
arm开发·驱动开发·fpga开发·ffmpeg·射频工程