← 2022 · ZEKU 笔试

推荐答案 测试一下

关于三段式状态机的描述,下列说法正确的是

A.输出必须是寄存器输出 B.描述状态转移条件和转移规律的逻辑是时序逻辑 C.描述状态转移时,可以不指定default态。 D.描述状态迁移的逻辑为时序逻辑
单选题 中等 笔试真题单选

参考答案

正确答案:D。 解析: 三段式状态机通常采用三个 always 块描述:第一个 always 块用于状态寄存器(时序逻辑,实现状态迁移),第二个 always 块用于次态逻辑(组合逻辑,描述状态转移条件和规律),第三个 always 块用于输出逻辑(可以是组合或时序逻辑)。 选项 A 错误:三段式状态机的输出不必是寄存器输出,可以为组合逻辑输出。虽然寄存器输出能避免毛刺,但并非强制要求,设计者可根据需要选择。 选项 B 错误:描述状态转移条件和转移规律的逻辑(即次态逻辑)应为组合逻辑,而非时序逻辑。该逻辑根据当前状态和输入决定下一个状态的取值,不依赖时钟沿。 选项 C 错误:在描述状态转移时,应指定 default 态。如果不指定,当状态码未完全覆盖或出现非法状态时,综合工具可能推断出锁存器,导致电路行为不可预测。因此,为安全起见,通常需要指定默认跳转状态。 选项 D 正确:描述状态迁移的逻辑(即状态寄存器的更新)是时序逻辑。它将次态逻辑计算出的 next_state 在时钟沿赋值给 current_state,实现状态的跳转。 易错点:混淆“状态转移条件”与“状态迁移”的电路类型,误将次态逻辑看作时序逻辑,忽略输出类型的灵活性,以及忽视 default 状态的重要性。

涉及知识点

  • 三段式状态机结构(三个 always 块分工)
  • 时序逻辑与组合逻辑的区别
  • 状态机输出类型(组合输出与寄存器输出)
  • default 状态的必要性
← 上一题
登录后反馈错题
下一题 →