我知道 Mealy 和 Moore FSM(有限状态机)之间的基本区别。我想了解的是以下内容:
- 使用 Mealy 而不是 Moore 的优缺点,反之亦然
- 在哪种情况下,摩尔比米利更适合,反之亦然
用于比较的品质因数可以是延迟、吞吐量、面积(状态编码 FF)、功率等。
我知道 Mealy 和 Moore FSM(有限状态机)之间的基本区别。我想了解的是以下内容:
用于比较的品质因数可以是延迟、吞吐量、面积(状态编码 FF)、功率等。
从离散逻辑和 HDL 的角度来看:
Mealy 机器(通常)具有较少的状态。Mealy 机器根据其当前输入和当前状态更改其输出,而不仅仅是当前状态。然而,更少的状态并不总是意味着更容易实现。
Moore 机器使用起来可能更安全,因为它们在时钟边沿更改状态(如果您使用 DFF 逻辑来表示当前和下一个状态),而 Mealy 机器更快,因为状态取决于输入。因此,状态可以异步更改。这归结为可预测性与原始速度。
归根结底,很难在一台机器总是比另一台更好的地方画出硬线。
这真的归结为手头的具体任务。想要一台同步机还是异步机?速度最重要吗?是否会有潜在的不稳定(弹跳)信号?输入和当前状态是否随时可用?这些问题中的每一个问题的答案都决定了最适合工作的机器类型。
值得一提的是,对于硬件实现,Mealy 机器在其电路中需要较少的硬件,但在使用 HDL 和 RTL 场景时,离散硬件的实际数量可能并不是非常重要。
杰几乎涵盖了所有内容来回答您的问题。摩尔机器的一个“优势”是它可以在查找表或 SRAM 存储器中实现。如果您的实现是在 FPGA 上,比方说..这有时可能会让您轻松做出决定。