设计101序列检测器(Mealy机器)

先决条件—— 米利和摩尔机器 A. 序列检测器 是一种序列状态机,它接收一个输入位串,并在检测到目标序列时生成一个输出1。在米利机器中,输出取决于当前状态和外部输入(x)。因此,在图中,输出与输入一起写入状态之外。序列检测器有两种类型:

null
  1. 重叠
  2. 不重叠

在重叠序列检测器中,一个序列的最后一位成为下一个序列的第一位。然而,在非重叠序列检测器中,一个序列的最后一位不会成为下一个序列的第一位。在这篇文章中,我们将讨论非重叠101米雷序列检测器的设计过程。

例如:

For non overlapping caseInput :0110101011001Output:0000100010000For overlapping caseInput :0110101011001Output:0000101010000

设计非重叠101米雷序列检测器的步骤如下:

第一步:绘制状态图—— 101序列检测器的Mealy机器状态图为:

图片[1]-设计101序列检测器(Mealy机器)-yiteyi-C++库

第2步:代码分配——

规则1 :对于给定的输入条件,具有相同下一个状态的状态应具有相邻的赋值。 规则2 :必须为单个状态的下一个状态指定相邻的赋值。 规则1优先于规则2。

图片[2]-设计101序列检测器(Mealy机器)-yiteyi-C++库

代码分配后的状态图为:

图片[3]-设计101序列检测器(Mealy机器)-yiteyi-C++库

第3步:制作当前状态/下一状态表- 我们将使用D触发器进行设计。

图片[4]-设计101序列检测器(Mealy机器)-yiteyi-C++库

第4步:绘制Dx、Dy和输出(Z)的K图-

图片[5]-设计101序列检测器(Mealy机器)-yiteyi-C++库

第5步:最终实现电路-

图片[6]-设计101序列检测器(Mealy机器)-yiteyi-C++库

这是Mealy 101非重叠序列检测器的最终电路。

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享