【二次闯关——1】序列信号检测器

本文介绍了使用FPGA设计一个10101序列检测器的过程。设计中包含了复位信号RST的处理,并通过状态机实现序列检测,涉及5个状态转换。测试结果显示,当输入DIN为10101序列时,检测器能正确输出三次,验证了设计的正确性。
摘要由CSDN通过智能技术生成

一、设计要求
设计一个可以检测10101序列的检测器


二、设计说明
RST作为复位信号,低电平有效,异步复位
采用状态机进行序列检测,分别为5个状态,Reset,S1,S10,S101,S1010,S10101五个状态,具体转换关系见下图

 三、设计代码

//Design file: XuLieJianCeQi.v
//Edit by XiXiHaHasoso on 2022/7/4
module XuLieJianCeQi(CLK,RST_n, DIN,OUT);
input CLK,RST_n;
input DIN;
output OUT;
reg OUT;
parameter [4:0] reset = 5'b00000, S1 = 5'b00001,S10 = 5'b00010,S101 = 5'b00101,S1010 = 5'b01010,S10101 = 5'b10101;
reg [4:0] CurState,NxtState;

always @ (posedge CLK or negedge RST_n) begin
	if (!RST_n) begin
		CurState <=  reset;
		OUT <=  1'b0;
	end
	else begin
		CurState <=  NxtState;
	end
end

always @ ( CurState or DIN) begin

	case(CurState)
		reset :  begin
					i
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值