题解 | 输入序列连续的序列检测
输入序列连续的序列检测
https://www.nowcoder.com/practice/d65c2204fae944d2a6d9a3b32aa37b39
`timescale 1ns/1ns
module sequence_detect(
input clk,
input rst_n,
input a,
output reg match
);
reg [7:0] seq;
localparam SEQ_DATA = 8'b0111_0001;
always@(posedge clk or negedge rst_n) begin
if(!rst_n) begin
seq <= 1'b0;
end else begin
seq <= {seq[6:0],a};
end
end
always@(posedge clk or negedge rst_n) begin
if(!rst_n) begin
match <= 1'b0;
end else begin
if(seq == SEQ_DATA) begin
match <= 1'b1;
end else begin
match <= 1'b0;
end
end
end
endmodule