做FSM时,把输出写在状态里还是转移边上?Moore模型这样判断

浏览量:65
时间: 2026-10-24 11:45:45
RTL时序与状态机

同样一段控制逻辑,工程师可能画出Moore状态机,也可能写成Mealy输出。面试官如果问你哪种更好,真正想看的是你能否理解输出与状态/输入的依赖,以及同步采样后带来的延迟和毛刺风险。

Moore有限状态机示例,状态节点使用“状态/输出”标记

两种模型怎么选

Moore:输出依赖状态,逻辑边界清晰,适合同步控制信号;当输入改变需要先引起状态更新,相关输出往往在更新后才能变化。

Mealy:输出与当前状态及输入相关,部分场景下能更快体现输入变化,但若组合输入未同步,输出可能出现毛刺风险。

工程做法:具体延迟与毛刺取决于RTL实现、是否注册输出、输入同步方式及组合逻辑路径,不宜机械地说“Moore必然慢一拍、Mealy必然有毛刺”。

从RTL到上板的四个检查项

① 状态寄存器是否在唯一时钟域更新,复位释放是否符合时序要求。

② next_state组合逻辑默认赋值是否完整,避免无意推断锁存器。

③ 输出是否需要打寄存器,是否允许同周期组合响应,以及是否影响接口握手时序。

④ 对非法状态、输入超时、状态无法退出等异常情况设置恢复策略,并在仿真中覆盖。

一段可用的面试回答

“我会按接口对时延、输出稳定性和状态可维护性的要求选Moore或Mealy。对跨时钟域输入先完成同步,对关键外部输出优先明确寄存器边界,再通过时序仿真和约束检查验证。”

凡亿教育 · 电子工程师面试平台


声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。仅供学习交流使用,不构成商业目的。版权归原作者所有,如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时删除。侵权投诉
相关推荐HOT
RS232接口电路硬件设计要注意什么?硬件工程师面试高频题

分类:硬件设计经验级别:0-2年难度:初级-中级题型:接口设计+方案选型本文概述:RS232接口电路设计的核心要点包括:电平转换芯片选型(MAX232/SP32... 详情>>

2026-08-17 11:08:51
晶振电路怎么设计?负载电容怎么算?为什么晶振不起振?射频/硬件面试

一句话答案晶振设计核心是负载电容 CL 匹配:CL = (C1×C2)/(C1+C2) + Cstray,通常选 CL=20pF 的晶振,C1=C2≈2×CL;... 详情>>

2026-09-18 09:04:47
内存与闪存区别

1、性质不同闪存,⼀种电⼦式可清除程序化只读存储器的形式,允许在操作中被多次擦或写的存储器。 内存为计算机中重要的部件之⼀,它是外存与CPU进⾏沟通的桥梁。计算... 详情>>

2024-03-15 17:17:18
EMC整改后噪声"搬"到别处怎么处理?整改闭环与回归验证怎么做?EMC工程师面试

一句话答案整改噪声搬家说明只改了局部没切断耦合路径,要先建立全频段噪声地图,用近场探头/频谱仪复测所有频段,按源头→路径→接收端系统改,改一项复测全频段并留档回... 详情>>

2026-09-13 21:25:45
PCB热仿真怎么分析?热源、散热路径、铜箔、过孔、环境温度怎么处理?

一句话答案PCB热仿真先确定热源(功耗器件)和热阻参数,建立板级模型(叠层、铜箔分布、过孔),设置环境温度和对流条件,求解稳态温度分布;散热手段包括加大铜箔散热... 详情>>

2026-10-11 15:26:38
开班信息