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

📅  最后修改于: 2021-09-16 10:32:03             🧑  作者: Mango

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

  1. 重叠
  2. 不重叠

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

例子:

For non overlapping case
Input :0110101011001
Output:0000100010000

For overlapping case
Input :0110101011001
Output:0000101010000

设计非重叠 101 Mealy 序列检测器的步骤是:

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

第 2 步:代码分配 –

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

代码赋值后的状态图为:

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

第 4 步:为 Dx、Dy 和输出 (Z) 绘制 K-maps –

第 5 步:最后实现电路——

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