虚拟机: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)小结
作者:xlinxdu
版权:本文版权归作者所有
转载:未经作者允许,禁止转载,转载必须保留此段声明,必须在文章中给出原文连接。