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

专栏前言

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

根据题意 定义一个五位的中间变量lock 每次始终上升沿来临时 判断当前寄存器的低四位+新数据是否等于10111 如果等于 则下一时刻lock应被清空 否则lock等于当前的lock的低四位+新数据

复制代码
`timescale 1ns/1ns

module sequence_test1(
	input wire clk  ,
	input wire rst  ,
	input wire data ,
	output reg flag
);
//*************code***********//
	reg [4:0] lock ; 

	always @ (posedge clk or negedge rst) begin
		if (~rst) lock <= 'd0 ; 
		else 
			if ({lock[3:0], data} == 5'b10111) lock <= 'd0 ; 
			else lock <= {lock[3:0], data} ;
	end

	always @ (posedge clk or negedge rst) begin
		if (~rst) flag <= 'd0 ; 
		else 
			if ({lock[3:0], data} == 5'b10111) flag <= 1'd1 ; 
			else flag <= 'd0 ;
	end

//*************code***********//
endmodule
相关推荐
IT笔记5 小时前
Rust 迭代器多级链式调用执行顺序笔记
开发语言·笔记·rust
kyrie_sakura5 小时前
python学习笔记14 -- FastAPI
笔记·python·学习·fastapi
来两个炸鸡腿5 小时前
【Datawhale2609】算子开发实战 task01-熟悉沐曦GPU
人工智能·学习·大模型
传奇开心果编程6 小时前
【Xilem 0.4 基础语法学与练】第11课(深入篇):为什么其他 Rust 框架不是一切皆设计图
学习·rust·前端框架
爱吃苹果的日记本6 小时前
JAVA十三(练习课)
java·学习
平凡シンプル6 小时前
TCP UDP 网络通信插件 SL-Uniplugin-Tcp-Udp
网络·学习·uniapp·记录
RisunJan6 小时前
【地球脉动】地球日报 · 2026-09-14(过去24小时,非头条视角)
学习
xx~t6 小时前
嵌入式——单片机2
嵌入式硬件·学习·51单片机·串口·蜂鸣器
sunoo-2297 小时前
【51单片机实战】温控下位机完整实现:DS18B20采集 + 自定义二进制串口协议 + PWM声光告
笔记·学习·51单片机·串口
每天题库8 小时前
客运从业资格证备考:题库里的高频数字题,单独整理不丢分
学习·考试·题库·考证