HDLBits (139) — 问题8 设计一个 Mealy 型有限状态机
2022-05-21 21:59 作者:僚机Wingplane | 我要投稿
本题链接:
https://hdlbits.01xz.net/wiki/Exams/ece241_2013_q8
实现一个 Mealy 型有限状态机,它可以识别名为 x 的输入信号上的序列“101”。 你设计的有限状态机应该有一个输出信号 z,当检测到“101”序列时,它被断言为逻辑 1。 你设计的有限状态机还应该有一个低电平有效的异步复位。 状态机中可能只有 3 个状态。 此有限状态机还应该能够识别重叠序列。

题目

答案

输出波形


有限状态机(Finite-State Machine,FSM),简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。状态机不仅是一种电路的描述工具,而且也是一种思想方法,在电路设计的系统级和 RTL 级有着广泛的应用。
Verilog 中状态机主要用于同步时序逻辑的设计,能够在有限个状态之间按一定要求和规律切换时序电路的状态。状态的切换方向不但取决于各个输入值,还取决于当前所在状态。状态机可分为 2 类:Moore 状态机和 Mealy 状态机。
Mealy 型状态机
Mealy 型状态机的输出,不仅与当前状态有关,还取决于当前的输入信号。
Mealy 型状态机的输出是在输入信号变化以后立刻发生变化,且输入变化可能出现在任何状态的时钟周期内。因此,同种逻辑下,Mealy 型状态机输出对输入的响应会比 Moore 型状态机早一个时钟周期。

参考内容:
6.3 Verilog 状态机 | 菜鸟教程:
https://www.runoob.com/w3cnote/verilog-fsm.html