RTL基本知识:FSM在面试题中的应用_串行序列监测器

串行序列检测器

序列检测器经常作为一些集成电路涉及公司的面试题目,为此,本文以一个简单的序列示意该序列检测器的设计实现,对于类似的序列监测器的设计有普适的作用。

【设计说明】

设计一个"10110"串行数据检测器,使得输出序列中出现"10110"时,结果中就输出1,输入/输出示例如下所示:

输入:1011 0101 1001 0100

输出:0000 1000 0100 0000

【设计目的】

1.用状态机实现序列检测器的设计;

2.了解一般状态机的设计与应用;

【设计思路】

序列检测器是一种同步时序电路,它用于搜索、检测输入的二进制代码串中是否出现指定

的代码序列。当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出为1,否则输出为0.由于这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及正确序列,直到在连续的检测中所收到的每一位码都与预置数的对应码相同。在检测过程中,任何一位不相等都将回到初始状态重新检测。

【设计分析】

初始状态设为s0,此时检测数据序列为“0”,当再检测到一个0时,仍为s0,当检测到1时,进入下一个状态s1,此时序列为“1”;当在状态s1检测到0时,进入到状态s2,此时序列为“10”,当检测到1时,跳回s0;当在状态s2检测到1时,进入到状态s3,此时序列为“101”,当检测到0时,进入s0;当在状态s3检测到1时,进入s4,当检测到0时,进入状态s0,此时序列为“1011”;当在s4检测到0时,当检测到0时,进入状态s5同时输出1,当检测到1时,进入状态s0。状态图如下:

【源代码】

【仿真结果】

【进阶思考】

1.可利用序列检测器设计简易数字密码锁。 

2.可考虑给本实验设计出的序列检测器去除毛刺。

转载于:https://www.cnblogs.com/xgcl-wei/p/8893623.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值