10 第十章 使用VHDL语言来设计状态机

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
己控制编码方式。
第十章 使用VHDL语言来设计状态机
10.1.4 状态机的非法状态
在状态机的正常运行中是不需要出现或者 未被定义的状态,被称为状态机的非法状 态。
对非法状态的处理就是状态机设计中的容 错技术,即状态机进入错误的状态之后的 处理。
第十章 使用VHDL语言来设计状态机
10.2 状态机的VHDL语言实现
输出逻辑
output
第十章 使用VHDL语言来设计状态机
10.1.2 状态机的VHDL语言描述方法
有限状态机的一般设计步骤如下:
a) 根据系统功能描述,建立有限状态机状态转换图或状态 转换表。
b) 根据状态转换图采用VHDL语言定义可枚举的数据类型, 枚举值即状态机的各个状态,并利用可枚举的数据类型 定义状态变量。
状态机设计的关键是如何把一个实际的时 序逻辑关系抽象成一个时序逻辑函数 。
状态机的设计主要用到CASE_WHEN语句 和IF_THEN_ELSE语句,前者用来描述并 行的行为,后者用来实现优先级的设定。
第十章 使用VHDL语言来设计状态机
10.3 状态机的实际应用
10.3.1 序列信号发生器 10.3.2 循环彩灯控制器
第十章 使用VHDL语言来设计状态机
10.1 状态机基础 10.2 状态机的VHDL语言实现 10.3 状态机的实际应用
第十章 使用VHDL语言来设计状态机
10.1 状态机基础
10.1.1 状态机的分类 10.1.2 状态机的VHDL语言描述方法 10.1.3 状态机的状态编码 10.1.4 状态机的非法状态
第十章 使用VHDL语言来设计状态机
Moore型有限状态机
input
次态逻辑
next_state
clk reset
状态寄存器
current_state
输出逻辑
output
第十章 使用VHDL语言来设计状态机
Mealy型有限状态机
次态逻辑
next_state
clk reset
状态寄存器
current_state
第十章 使用VHDL语言来设计状态机
10.1.1 状态机的分类
有限状态机根据输出信号与当前状态以及输入信 号的关系来分,可以分为Moore型和Mealy型两种 。
Moore型状态机的输出信号仅为当前状态的函数, 与输入信号无关,属于同步时序电路。
Mealy型状态机的输出信号不仅与当前状态有关, 而且与输入信号有关,因此输入信号可以直接影 响输出信号,不依赖与时钟的同步,属于异步时 序电路。
____。
ห้องสมุดไป่ตู้
第十章 使用VHDL语言来设计状态机
思考和练习——综述题
1、请简述使用VHDL语言设计有限状态机 的步骤。
2、请简述使用VHDL语言描述有限状态机 的编码原则。
3、在设计状态机的状态编码的时候,如果 采用直接状态编码,有哪三种常用的编码 方式?
____。 5、状态机的每一个状态在实际电路中都是以一组____的当前状态组
合来表示的。 6、直接状态编码有顺序编码、____和一位有效的热码状态编码这三
种常用的编码方式。 7、在状态机的正常运行中是不需要出现或者未被定义的状态,通常
称为____。 8、状态机设计的关键是如何把一个实际的时序逻辑关系抽象成一个
第十章 使用VHDL语言来设计状态机
思考和练习——填空题
1、所有的时序电路从理论上都可以表示为____。 2、数字系统一般可分为____和____,数据通道通常由组合逻辑电路
构成,而控制单元通常由时序逻辑电路构成。 3、输出信号只和当前状态有关的状态机称为____型状态机。 4、在状态机的设计中,需要对状态机的各个状态设定唯一对应的
c) 建立状态机进程,并在进程中定义状态的转移。
第十章 使用VHDL语言来设计状态机
10.1.3 状态机的状态编码
在状态机的设计中,需要对状态机的各个 状态设定唯一对应的数字编码,即状态机 的状态编码,其可以采用两种方式:
采用文字符号定义各状态变量,可以便于程序的阅读和理解。 直接用具体的二进制数组合来进行状态变量的定义,可以由设计者自
第十章 使用VHDL语言来设计状态机
10.3.1 序列信号发生器
本应用是一个按照规定输出8位“0”、“1” 序列的信号发生器,其实质是一个8位的计 数器,计数器的每一位都可以输出位长为8 的“0”、“1”周期序列信号。
第十章 使用VHDL语言来设计状态机
10.3.2 循环彩灯控制器
循环彩灯控制器用于控制红绿黄三个LED 按照黄色LED亮1秒,红色LED亮2秒,绿色 LED亮3秒的方式循环点亮,其时钟频率为 1Hz
第十章 使用VHDL语 言来设计状态机
第十章 使用VHDL语言来设计状态机
概论
状态机就是一组触发器的输出状态随着时 钟和输入信号按照一定的规律变化的一种 机制或过程,所有的时序电路从理论上都 可以表示为有限状态机(Finite State Machine,FSM),有限状态机是实现高可 靠逻辑控制的重要途径,是大型数字系统 设计中的重要组成部分,尤其是进行复杂 时序逻辑电路的实现。
相关文档
最新文档