欢迎光临散文网 会员登陆 & 注册

HDLBits (151) — 问题2b 另一个有限状态机

2022-05-30 02:53 作者:僚机Wingplane  | 我要投稿

本题链接:

https://hdlbits.01xz.net/wiki/Exams/2013_q2bfsm

思考一个用于控制某种电机的有限状态机。  有限状态机有来自电机的输入 x 和 y,并产生控制电机的输出 f 和 g。 还有一个称为 clk 的时钟输入和一个称为 resetn 的复位输入。

有限状态机必须按如下方式工作。 只要复位输入有效,有限状态机就保持在称为状态 A 的起始状态。当复位信号无效时,在下一个时钟沿之后,有限状态机必须在一个时钟周期内将输出 f 设置为 1  . 然后,有限状态机必须一直监控 x 的输入。 当 x 在三个连续的时钟周期中值为 1、0、1 时,应在下一个时钟周期将 g 设置为 1。 在保持 g = 1 的同时,有限状态机必须一直监控输入 y 。 如果 y 在最多两个时钟周期内为 1,则有限状态机应永久保持 g = 1(即一直保持到复位)。 但如果 y 在两个时钟周期内未变为 1,则有限状态机应永久设置 g = 0(直到复位)。

(最初的考试问题只要求提供状态图。但在这里需要实现有限状态机。)

题目

提示:

有限状态机直到 f 为 1 的周期之后才开始监视 x 输入。

答案

有限状态机(Finite-State Machine,FSM),简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。状态机不仅是一种电路的描述工具,而且也是一种思想方法,在电路设计的系统级和 RTL 级有着广泛的应用。

Verilog 中状态机主要用于同步时序逻辑的设计,能够在有限个状态之间按一定要求和规律切换时序电路的状态。状态的切换方向不但取决于各个输入值,还取决于当前所在状态。状态机可分为 2 类:Moore 状态机和 Mealy 状态机。

参考内容:

6.3 Verilog 状态机 | 菜鸟教程:

https://www.runoob.com/w3cnote/verilog-fsm.html

HDLBits (151) — 问题2b 另一个有限状态机的评论 (共 条)

分享到微博请遵守国家法律