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

HDLBits (127) — 设计一个 Moore 型有限状态机

2022-05-06 23:15 作者:僚机Wingplane  | 我要投稿

本题链接:

https://hdlbits.01xz.net/wiki/Exams/ece241_2013_q4

一个大型水库会为几个用户提供服务。 为了保持足够高的水位,三个传感器以 5 英寸的间隔垂直放置。 当水位高于最高传感器 (S3) 时,输入流量应为零。 当液位低于最低传感器 (Si) 时,流速应为最大(标称流量阀和补充流量阀均打开)。 水位在上下两个传感器之间时的流速由两个因素决定:现在的水位和上次传感器变化之前的水位。 每个水位都有一个与之相关的标称流速,如下表所示。 如果传感器变化表明之前的液位低于当前液位,则应采用标称流速。 如果之前的液位高于当前液位,则应通过打开补充流量阀(由 AFR 控制)来增加流量。

蓄水池控制器的 Moore 型模型状态图已经绘制好礼。 它清楚地指示了每个状态的所有状态转换和输出。  FSM 的输入分别是 Si、Sz 和 Ss; 输出分别是 FR1、FR2、FR3 和 AFR。

这里还包括一个高电平有效同步复位,它将状态机复位到相当于水位长时间处于低位的状态(没有传感器断言,并且所有四个输出都断言)。

题目

答案

输出波形

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

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

Moore 型状态机

Moore 型状态机的输出只与当前状态有关,与当前输入无关。

输出会在一个完整的时钟周期内保持稳定,即使此时输入信号有变化,输出也不会变化。输入对输出的影响要到下一个时钟周期才能反映出来。这也是 Moore 型状态机的一个重要特点:输入与输出是隔离开来的。

参考内容:

6.3 Verilog 状态机 | 菜鸟教程:

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


HDLBits (127) — 设计一个 Moore 型有限状态机的评论 (共 条)

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