Digital-electronics 简明教程
Digital Electronics - Finite State Machines
Finite State Machines 是各种数字和计算机系统的基本构建块。它们提供了一种系统方法来模拟顺序电路的行为。它们还可以帮助控制数字系统中的各种过程。
阅读本章以了解有限状态机的组成、类型、优点和应用。
What is a Finite State Machine?
Finite State Machine (FSM) 是一个数学模型,用于解释和理解数字系统。更具体地说,它是一个结构化系统模型,有助于理解给定时刻存在的有限状态数顺序电路的行为。
更简单地说,如果一个同步顺序电路具有有限数量的状态,那么它也称为有限状态机 (FSM)。
这些有限状态的转换基于内部或外部输入进行,导致系统行为的可预测和系统性变化。
Components of a Finite State Machine
一个典型的有限状态机由以下主要组件组成:
Types of Finite State Machine
有两种类型的有限状态机,即:
-
Mealy State Machine
-
Moore State Machine
现在让我们详细讨论这两种类型的有限状态机。
Mealy State Machine
如果有限状态机的输出取决于当前输入和当前状态,则称该状态机为 Mealy 状态机。 block diagram of the Mealy state machine 如以下图表所示:
如该图表所示,Mealy 状态机中有两个主要部分。它们是组合逻辑电路和存储器元件。存储器元件对于将部分先前输出和当前状态作为输入提供给组合逻辑电路很有用。
Mealy 状态机根据当前输入和当前状态生成输出。因此,输出仅在时钟信号的正或负转换时有效。
Mealy 状态机的状态图如以下图表所示。
在上图中,有三个状态,即 A、B 和 C。这些状态标记在圆圈内,每个圆圈对应一个状态。这些状态之间的状态转换用有向线来表示。这里,0/0、1/0 和 1/1 表示输入/输出。在上图中,从每个状态都有两个状态转换,具体取决于输入值。
通常,Mealy 状态机中所需的状态数少于或等于 Moore 状态机中所需的状态数。每个 Mealy 状态机都有一个等效的 Moore 状态机。
Moore State Machine
如果有限状态机的输出仅取决于当前状态,则该状态机称为 Moore 状态机。
block diagram of the Moore state machine 如以下图表所示:
如上图所示,Moore 状态机中有两部分。它们是组合逻辑和存储器。在这种情况下,当前输入和当前状态确定下一个状态。因此,基于下一个状态,Moore 状态机生成输出。因此,输出仅在状态转换之后有效。
下图显示了穆尔状态机的状态图 −
在上图中,有四个状态,即 A、B、C 和 D。这些状态及其各自的输出都在圆圈内标记。在此,仅在每个转换上标记输入值。在上图中,每个状态有两种转换,取决于输入值。
通常,穆尔状态机中所需的状态数大于或等于米利状态机中所需的状态数。每个穆尔状态机都有一个等效的米利状态机。因此,我们可根据需求选择其中之一。
Advantages of Finite State Machine
在数字电子领域,有限状态机具有若干优势。所有这些优势使它们成为建模和实现各种数字系统的关键工具。有限状态机的一些主要优势如下所示 −
-
有限状态机提供了一种简单且系统的方法,用于建模和理解具有离散有限状态及其之间转换的数字系统的行为。
-
有限状态机支持模块化设计,这种设计有助于将复杂的数字系统分解为更小的组件。有限状态机的每个组件可以表示整个系统的一个特定任务。这有利于简化设计、测试和维护。
-
有限状态机易于扩展,允许在不改变其基本结构或操作的情况下,向现有系统添加新的状态、转换和逻辑。当系统需求不断演变或扩展时,这一点非常重要。
-
从根本上讲,有限状态机具有 deterministic or predictable behavior 。这意味着我们可以轻松确定其当前状态和输入系统的下一状态。这种可预测的行为有助于我们确保系统的可靠和一致操作。它还使有限状态机最适合实时和安全关键应用。
-
有限状态机在硬件和软件实现方面被认为非常高效,因为它们需要最少的硬件和软件资源,如逻辑门、内存和其他处理资源。
-
有限状态机 support parallelism 。此技术允许系统内同时出现多个状态和状态转换。它还优化了性能并提高了系统的响应能力。
-
有限状态机是数字电子和计算机科学领域的多功能工具,因为它们在各种领域中都有应用,如数字系统设计、控制系统设计、软件开发、人工智能开发等。