Verilog代码实现序列检测状态机学习记录

本文记录了使用Verilog代码实现序列检测状态机的过程,重点在于理解状态机的流程图绘制,通过分析状态流向来编写代码。示例中检测序列1100_1101,当检测到该序列时,输出结果为1。提供的源代码展示了模块的实现,并附有最终的波形图验证结果。
摘要由CSDN通过智能技术生成

**
Verilog代码实现序列检测状态机学习记录

Verilog代码实现序列检测状态机学习记录

**
//检测1100_1101
序列检测的核心就是状态机的画图实现,仔细分析各个状态的流向和最后一个状态的判断,如果最后一个状态会重复之前的序列,则回到符合的状态继续检测,否则返回到空闲状态重新检测序列,比如检测八位的1100—1101,第一个状态是空闲状态实际上是检测第一位1,如果为1检测第二位,否则在空闲状态继续检测,只要画出图,基本就完成了六七成。
在这里插得到入图片描述
上面的图片就是序列检测的状态机,照着这个图片写代码就很容易了。
源代码
module sequence_detection(
input i_sys_clk ,
input i_sys_rst ,
input i_data ,
output o_result

);	
reg					result	= 0		;
reg	[3:0]			c_st	= 0		;
reg	[3:0]			n_st	= 0		;

parameter			idle 	= 4'd0	;
parameter			st0		= 4'd1	;
parameter			st1		= 4'd2	;
parameter			st2		= 4'd3	;
parameter			st3		= 4'd4	;
parameter			st4		= 4'd5	;
parameter	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值