问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

从零开始学习计算机科学:数字逻辑之有限状态机

创作时间:
作者:
@小白创作中心

从零开始学习计算机科学:数字逻辑之有限状态机

引用
CSDN
1.
https://m.blog.csdn.net/m0_46224993/article/details/146076619

有限状态机是计算机科学和数字逻辑中的重要概念,广泛应用于各种控制系统的实现。本文将从基本概念出发,介绍有限状态机的表示方法及其在Verilog中的描述方式,帮助读者掌握这一核心知识点。

有限状态机

有限状态机(简称状态机)相当于一个控制器,它将一项功能的完成分解为若干步,每一步对应于二进制的一个状态,通过预先设计的顺序在各状态之间进行转换,状态转换的过程就是实现逻辑功能的过程。

有限状态机三要素为:

  • 状态(当前状态,下一个状态)
  • 输入信号(事件)
  • 输出控制信号(相应操作)

从底层实现的角度来看,有限状态机是由寄存器组和组合逻辑构成的硬件时序电路。

为什么要使用状态机?因为有限状态机具有以下特点:

  • 克服了纯硬件数字系统顺序方式控制不灵活的缺点
  • 结构模式相对简单
  • 容易构成性能良好的同步时序逻辑模块
  • HDL表述丰富多样
  • 在高速运算和控制方面具有巨大优势
  • 可靠性高

如果我们有这样一个电路:

  1. 能记住自己目前所处的状态
  2. 状态的变化只可能在同一个时钟的跳变沿时刻发生,而不可能发生在任意时刻
  3. 在时钟跳变沿时刻,如输入条件满足,则进入下一状态,并记住自己目前所处的状态,否则仍保留原来的状态
  4. 在进入不同的状态时刻,对系统的开关阵列做开启或关闭的操作

当我们有了以上电路,我们就不难设计出复杂的控制序列来操纵数字系统的控制开关阵列。能达到要求的电路就是时序和组合电路互相结合的产物:同步有限状态机和由状态和时钟共同控制的开关逻辑阵列。

所以,只要掌握有限状态机的基本设计方法,加上对基本电路的掌握,再加上对数据处理的过程的细致了解,就可以规避由于逻辑器件和布线延迟产生的“竞争冒险”现象所造成的破坏,设计出符合要求的复杂数字逻辑系统。

状态机的表示方法

状态机可以通过以下三种方法表示:

  1. 状态转换表
  2. 算法流程图
  3. 状态转换图

有限状态机的Verilog描述

有限状态机可以通过以下四种方法描述:

  1. 用三个过程描述
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号