0
点赞
收藏
分享

微信扫一扫

18 Verilog基本语法-同步状态机原理和设计

虚拟机:VMware-workstation-full-14.0.0.24051
环 境:ubuntu 18.04.1
应用工具:VCS(verilog compiled simulator,编译型代码仿真器)


文章目录


一、学习内容

在这里插入图片描述


二、同步状态机

(1)作用

  可以设计复杂的时序逻辑电路。

(2)结构

  • 由状态寄存器(触发器)作为状态记忆部件(常用正跳边沿触发的D触发器)
  • 仅当触发信号到达时刻才可能发生状态改变
  • 状态寄存器如果有n个触发器,状态机最多有2^n个状态

(3)三要素

  • 状态:状态变量,划分逻辑顺序
  • 输出:某一状态时完成的事
  • 输入某个状态的条件

(4)类型

  • 米勒型状态机(Mealy状态机):

    • 下一个输出是当前状态和输入的函数
    • 下一个状态是当前状态和输入的函数
      在这里插入图片描述
  • 摩尔型状态机(Moore状态机):下一个输出是当前状态的函数

    • 下一个输出是当前状态的函数
    • 下一个状态是当前状态和输入的函数
      在这里插入图片描述

三、同步状态机的实现

(1)状态分配

  • 二进制码表示状态的状态机
  • 格雷码(Gray)表示状态的状态机
  • 独热码(One-hot)表示状态的状态机

(2)描述风格

  • One always 风格(一段式)
  • Two always风格(两段式)
  • Three always风格(三段式)
  • 有输出指定的码表示状态的状态机

(3)HDL描述

在这里插入图片描述在这里插入图片描述

(4)实现

  • 状态转移图:状态、转移条件和逻辑开关
    在这里插入图片描述
    【例】检测一个5位二进制序列“10010”,可实现循环检测(检测到10010之后如果后续输入为010,即序列为1001010xxxx,需检测到2次该序列)。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

四、思考和小结

(1)思考

  • 用独热码、三段式实现下面状态机
    在这里插入图片描述

(2)小结

在这里插入图片描述


举报

相关推荐

0 条评论