题解 | #含有无关项的序列检测#
含有无关项的序列检测
https://www.nowcoder.com/practice/cba67d06d6834a5d9b93e1087b56c8d8
`timescale 1ns/1ns
module sequence_detect(
input clk,
input rst_n,
input a,
output reg match
);
reg [8:0] r_data_latch ;
localparam P_SAQUENC1 = 3'b011 ;
localparam P_SAQUENCE2 = 3'b110 ;
wire w_msb_match;
wire w_lsb_match;
always@(posedge clk or negedge rst_n)
if(!rst_n)
r_data_latch <= 9'bzzzzzzzz ;
else
r_data_latch <= {r_data_latch[7:0],a};
always@(posedge clk or negedge rst_n)
if(!rst_n)
match <= 0;
else if(w_msb_match && w_lsb_match)
match <= 1;
else
match <= 0;
assign w_msb_match = r_data_latch[8:6] == P_SAQUENC1 ;
assign w_lsb_match = r_data_latch[2:0] == P_SAQUENCE2 ;
endmodule