电子政务 和网站建设总结,网站备案是备案域名还是空间,公司网页监控,智能建站加盟电话输入序列不连续的序列检测
题目描述 请编写一个序列检测模块#xff0c;输入信号端口为data#xff0c;表示数据有效的指示信号端口为data_valid。当data_valid信号为高时#xff0c;表示此刻的输入信号data有效#xff0c;参与序列检测#xff1b;当data_valid为低时输入信号端口为data表示数据有效的指示信号端口为data_valid。当data_valid信号为高时表示此刻的输入信号data有效参与序列检测当data_valid为低时data无效抛弃该时刻的输入。当输入序列的有效信号满足0110时拉高序列匹配信号match。
模块的接口信号图如下 模块的时序图如下
timescale 1ns/1ns
module sequence_detect(input clk,input rst_n,input data,input data_valid,output reg match);reg [0:1]cnt;always(posedge clk or negedge rst_n)beginif(!rst_n)cnt 2b0;else if(data_valid)cnt cnt 1b1;elsecnt 2b0;endreg [3:0] data_reg;always(*)beginif(data_valid)begincase(cnt)2d0:data_reg[3] data;2d1:data_reg[2] data;2d2:data_reg[1] data;2d3:data_reg[0] data;default:data_reg 4b0;endcaseendelsedata_reg 4b0;endalways(posedge clk or negedge rst_n)beginif(!rst_n)match 1b0;else if(data_reg 4b0110 cnt 2d3)match 1b1;elsematch 1b0;end
endmodule