← eetop.cn_数字IC设计工程师笔试面试经典100题(大部分有答案)
推荐答案
测试一下
题目
画出fsm(有限状态机)
参考答案与知识点
参考答案
FSM(有限状态机)是数字电路设计中的核心模型,通常分为Moore型(输出仅与当前状态有关)和Mealy型(输出与当前状态和输入有关)。本题未指定具体功能,故以最常见的“1101序列检测器(允许重叠)”为例,设计Mealy状态机。
1. 状态定义:
- S0:初始状态,未匹配任何有效位;
- S1:已收到'1';
- S2:已收到'11';
- S3:已收到'110';
当处于S3且输入为'1'时,输出1(匹配成功),并转移到S2(因为重叠部分'11'可作为下一序列开头)。
2. 状态转移表(输入x,输出z):
| 当前状态 | x=0 | x=1 |
|----------|------------|-------------|
| S0 | S0, z=0 | S1, z=0 |
| S1 | S2, z=0 | S1, z=0 |
| S2 | S3, z=0 | S2, z=0 |
| S3 | S0, z=0 | S2, z=1 |
3. 状态编码:假设用两位二进制表示:S0=00, S1=01, S2=11, S3=10(格雷码可减少毛刺,但此处用顺序编码)。
4. 输出逻辑:z = (state==S3) && (x==1)
5. 次态逻辑:可通过卡诺图或直接观察得出次态表达式。
实际绘制FSM时,需画出圆圈表示状态,箭头标注输入/输出(Mealy型在箭头上标出x/z)。本题考察FSM设计步骤:抽象状态、确定转移条件、定义输出、状态编码、实现逻辑。易错点包括:遗漏重叠检测(导致序列检测不完全)、输出条件写错(将Moore和Mealy混淆)、状态数过多(未化简等价状态)、复位状态不明确等。
对于笔试,通常要求画出状态转移图(状态图)并给出状态表。建议使用标准符号:状态用圆圈,初始状态用双圆圈或箭头指向。
涉及知识点
- FSM状态定义与转移条件
- Moore与Mealy状态机区别
- 序列检测器重叠处理
- 状态编码与逻辑化简
- 状态图绘制规范