题解 | #含有无关项的序列检测#
含有无关项的序列检测
https://www.nowcoder.com/practice/cba67d06d6834a5d9b93e1087b56c8d8
`timescale 1ns/1ns
module sequence_detect(
input clk,
input rst_n,
input a,
output reg match
);
reg match_a,match_b;
reg [8:0] temp;
always@(posedge clk or negedge rst_n) begin
if(!rst_n)
match_a <= 1'b0;
else if(temp[8:6]==3'b011)
match_a <= 1'b1;
else
match_a <= 1'b0;
end
always@(posedge clk or negedge rst_n) begin
if(!rst_n)
match_b <= 1'b0;
else if(temp[2:0]==3'b110)
match_b <=1'b1;
else
match_b <= 1'b0;
end
always@(posedge clk or negedge rst_n) begin
if(!rst_n)
temp <= 9'b0;
else
temp <= {temp[7:0],a};
end
always@(*) begin
match <= match_a&&match_b;
end
endmodule