「Verilog学习笔记」状态机-重叠序列检测

专栏前言

本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网

「Verilog学习笔记」状态机-重叠序列检测_第1张图片

「Verilog学习笔记」状态机-重叠序列检测_第2张图片

读入数据移位寄存,寄存后的数据与序列数做对比,相等则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

你可能感兴趣的:(Verilog学习笔记,学习,笔记,Verilog)