专栏前言
本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网
读入数据移位寄存,寄存后的数据与序列数做对比,相等则flag为1,不等则为0
`timescale 1ns/1ns
module sequence_test2(
input wire clk ,
input wire rst ,
input wire data ,
output reg flag
);
//*************code***********//
reg [3:0] lock ;
always @ (posedge clk or negedge rst) begin
if (~rst) lock <= 'd0 ;
else lock <= {lock[2:0], data} ;
end
always @ (posedge clk or negedge rst) begin
if (~rst) flag <= 'd0 ;
else if (lock[3:0] == 4'b1011) flag <= 1'd1 ;
else flag <= 'd0 ;
end
//*************code***********//
endmodule