题解 | #输入序列不连续的序列检测#

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

https://www.nowcoder.com/practice/f96d0e94ec604592b502b0f1800ed8aa

`timescale 1ns/1ns
module sequence_detect(
	input clk,
	input rst_n,
	input data,
	input data_valid,
	output reg match
	);
  reg data_valid_d;
  always@(posedge clk or negedge rst_n)
 begin if(!rst_n)
 data_valid_d<=0;
 else data_valid_d<=data_valid;
 end
  reg[3:0]buff;
 always@(posedge clk or negedge rst_n)
 begin if(!rst_n)
  buff<=0;
  else if(data_valid)
  buff<={buff[2:0],data};
  else buff<=buff;
 end
always@(*)
 begin if(!rst_n)
 match=0;
 else if((buff==4'b0110)&data_valid_d)
 match=1;
 else match=0;
 end 

endmodule

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务