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

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

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 [3:0] seq;

  always @(posedge clk or negedge rst_n) 
  begin
    if(~rst_n)
        seq <= 4'b0;
    else
        seq <= data_valid? {seq[2:0], data} : seq;
  end

  always @(*) 
  begin
    if(~rst_n)
        match = 1'b0;
    else
        match = (seq==4'b0110 && data_valid);
  end

endmodule

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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