推荐答案
测试一下
题目
画出 fsm(有限状态机)
参考答案与知识点
参考答案
有限状态机(FSM)是数字系统中用于描述时序逻辑行为的模型,由状态寄存器、次态逻辑和输出逻辑三部分构成。设计步骤:
1. 明确功能需求:例如实现序列检测器(检测"1101"),则需定义状态S0~S4。
2. 绘制状态转移图:用圆圈表示状态,箭头表示转移,标注输入条件(如a=1)和输出(如z=1)。Moore型输出标在圆圈内,Mealy型输出标在箭头上。
3. 状态编码:常用二进制编码、格雷码或独热码。独热码适合FPGA,减少组合逻辑;格雷码适合低功耗。注意避免编码冲突,并考虑非法状态处理(如设计默认跳转至复位态)。
4. 推导逻辑方程:根据状态图写出次态真值表,利用卡诺图化简得到组合逻辑表达式。
5. 实现电路:使用D触发器或寄存器存储状态,组合逻辑输出次态和输出信号。
易错点:
- 状态完备性:必须定义所有可能状态及转移,包括未使用状态的默认处理(否则会陷入死循环)。
- 复位信号:异步复位需指定复位初态;同步复位需在状态转移逻辑中加入复位条件。
- 时序约束:避免组合逻辑环路,确保次态输出在时钟沿采样稳定。
- Moore与Mealy区别:Moore输出晚一个时钟周期,Mealy输出可能引入毛刺。
本例中若题目未给出具体功能,应首先与面试官确认需求(如序列检测、交通灯控制等),再按上述步骤绘制。
涉及知识点
- 有限状态机基本结构
- 状态转移图绘制规范
- Moore型与Mealy型区别
- 状态编码方法
- 非法状态处理
- FSM设计步骤