推荐答案
测试一下
题目
画出fsm(有限状态机)
参考答案与知识点
参考答案
有限状态机(Finite State Machine, FSM)是一种对数字系统行为进行建模的数学模型,由状态、输入、输出和状态转移规则组成。设计FSM通常包括以下步骤:
1. 确定需求,明确输入输出和状态数量。
2. 画出状态转移图(State Diagram):用圆圈表示状态,箭头表示状态转移,标注输入条件和输出信号。
3. 根据状态图编写状态转移表(State Table),列出当前状态、输入、下一状态和输出。
4. 分配状态编码(如二进制、格雷码或独热码)。
5. 推导下一状态逻辑和输出逻辑的表达式,使用组合逻辑实现。
6. 用时序逻辑(触发器)存储当前状态。
根据输出产生方式,FSM分为:
- Moore型:输出仅与当前状态有关,稳定,无毛刺。
- Mealy型:输出与当前状态和输入有关,响应快,但可能有毛刺。
例如,设计一个“101”序列检测器(Mealy型):
状态定义:S0(等待1),S1(检测到1),S2(检测到10)。
状态转移图:
S0—输入1→S1,输出0;
S1—输入0→S2,输出0;
S1—输入1→S1,输出0;
S2—输入1→S0,输出1(检测到101);
S2—输入0→S0,输出0。
图形中每个状态圆圈内写状态名,箭头旁标注“输入/输出”。
FSM设计中易错点:
- 状态遗漏:未能覆盖所有输入组合或非法状态。
- 状态冗余:不必要的状态增加面积和功耗。
- 异步输入处理:未使用同步器可能导致亚稳态。
- 复位状态:应定义上电复位状态。
- 时序违例:组合逻辑级数过多导致建立时间不满足。
实际应用中,FSM广泛应用于协议控制器、数据路径控制、数字信号处理等。掌握绘制状态转移图和编写状态转移表是IC设计工程师的基本功。
涉及知识点
- 有限状态机基本概念
- Mealy和Moore型区别
- 状态转移图绘制方法
- FSM设计步骤与状态编码
- 序列检测器设计示例
- FSM常见易错点