1. Mealy 机与 Moore 机的等价性与工程选择中输出挂在迁移上(Mealy)vs 挂在状态上(Moore)的时序差异、硬件综合中 Moore 更易流水化的原因、相互转换时状态数的变化
请说明 Mealy 机和 Moore 机两种有限状态机模型的等价性,比较二者输出时序差异,解释为什么硬件综合中 Moore 机更易于流水化,并分析两者相互转换时状态数的变化?
- 两种 FSM 输出时序的差异(组合逻辑 vs 寄存器同步)
- Moore 机在硬件综合中更易流水化的原因
- Moore 与 Mealy 相互转换时状态数的变化规律
Mealy 机的输出是当前状态与输入(迁移)的组合函数,输出在输入变化时立即(组合逻辑)变化,不需要等待时钟沿,因此输出链路上更短、更"快",但存在组合逻辑冒险和毛刺风险。Moore 机的输出只依赖当前状态,输出在状态翻转后由寄存器同步,因此无毛刺、时序稳定,电路更规整,便于做流水线(pipeline)划分。二者是等价的:任何 Mealy 机都能转换为行为等价的 Moore 机,反之亦然。转换时,Moore 转 Mealy 通常不会增加状态甚至可能减少;而 Mealy 转 Moore 需要把每个状态按"进入该状态时的输出"拆分为多个拷贝(因为同一状态在不同输入下可能产生不同输出),最坏情况下状态数会乘以输出组合数,即状态数可能爆炸。
工程上选 Mealy 还是 Moore 取决于对时序和面积的要求。Moore 输出同步、便于综合与流水化,适合控制类硬件;Mealy 输出快、面积小,适合对延迟敏感的场景。理解转换时状态数的变化有助于评估哪种模型下实现更紧凑。