HDLBits (142) — 问题3a 有限状态机
2022-05-21 21:59 作者:僚机Wingplane | 我要投稿
本题链接:
https://hdlbits.01xz.net/wiki/Exams/2014_q3fsm
设计一个输入 s 和 w 的有限状态机。 假设有限状态机以称为 A 的复位状态开始,如下图所示。 只要 s = 0,有限状态机就保持在状态 A,当 s = 1 时,它移动到状态 B。一旦处于状态 B,有限状态机在接下来的三个时钟周期内检查输入 w 的值。 如果 w = 1 时在恰好两个时钟周期中,则有限状态机必须在下一个时钟周期中将输出 z 设置为 1。 否则 z 必须为 0。有限状态机在接下来的三个时钟周期内继续检查 w,依此类推。 下面的时序图说明了不同 w 值所需的 z 值。
在设计时使用尽可能少的状态。 请注意,输入 s 仅在状态 A 中使用,因此只需考虑输入 w。



题目

答案

有限状态机(Finite-State Machine,FSM),简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。状态机不仅是一种电路的描述工具,而且也是一种思想方法,在电路设计的系统级和 RTL 级有着广泛的应用。
Verilog 中状态机主要用于同步时序逻辑的设计,能够在有限个状态之间按一定要求和规律切换时序电路的状态。状态的切换方向不但取决于各个输入值,还取决于当前所在状态。状态机可分为 2 类:Moore 状态机和 Mealy 状态机。
参考内容:
6.3 Verilog 状态机 | 菜鸟教程:
https://www.runoob.com/w3cnote/verilog-fsm.html

