有限状态机概念.3_第1页
有限状态机概念.3_第2页
有限状态机概念.3_第3页
有限状态机概念.3_第4页
有限状态机概念.3_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1VHDL有限状态机有限状态机VHDL语言的基本语句语言的基本语句2状态机状态机 概念:概念: 一类十分重要的时序电路一类十分重要的时序电路 许多数字电路的核心部件许多数字电路的核心部件 结构:结构: 组合逻辑部分(状态译码器和输出译码器)组合逻辑部分(状态译码器和输出译码器) 时序逻辑部分(寄存器)时序逻辑部分(寄存器)3 状态机是纯硬件数字系统中的状态机是纯硬件数字系统中的顺序控制电路顺序控制电路,其运,其运行方式上类似于控制灵活和方便的行方式上类似于控制灵活和方便的CPU,而在运行速而在运行速度和工作可靠性方面都优于度和工作可靠性方面都优于CPU。 状态机结构模式相对简单,设计方案相对固

2、定状态机结构模式相对简单,设计方案相对固定。状状态机的态机的VHDL表述丰富多样,程序层次分明,结构清晰,表述丰富多样,程序层次分明,结构清晰,易读易懂;在排错、修改和模块移植方面也有其独到易读易懂;在排错、修改和模块移植方面也有其独到之点。之点。 在高速运算和控制方面,状态机具有巨大的优势。在高速运算和控制方面,状态机具有巨大的优势。在在VHDL中中,一个状态机可以有多个进程构成一个状态机可以有多个进程构成,一个结构体中可以包一个结构体中可以包含多个状态机含多个状态机,而一个单独的状态机而一个单独的状态机(或多个并行运行的状态机或多个并行运行的状态机)以以顺序方式所能完成的运算和控制方面的工

3、作与一个顺序方式所能完成的运算和控制方面的工作与一个CPU的功能类的功能类似。因此,一个设计实体的功能便类似于一个含有并行运行的多似。因此,一个设计实体的功能便类似于一个含有并行运行的多CPU的高性能微处理器的功能。的高性能微处理器的功能。 就运行速度而言就运行速度而言: 状态机的状态变换周期只有一个时钟周期,而在每状态机的状态变换周期只有一个时钟周期,而在每一个状态中,状态机可以完成许多并行的运算和控制操一个状态中,状态机可以完成许多并行的运算和控制操作,所以,一个完整的控制程序,即使用多个并行状态作,所以,一个完整的控制程序,即使用多个并行状态机构成,其状态数也是十分有限的。一般由状态机构

4、成机构成,其状态数也是十分有限的。一般由状态机构成的硬件系统比的硬件系统比CPU所能完成同样功能的软件系统的工作所能完成同样功能的软件系统的工作速度要高出速度要高出三到五个数量级三到五个数量级。 就可靠性而言就可靠性而言: 由于由于CPU本身的结构特点与执行软件指令的工作方式决定了本身的结构特点与执行软件指令的工作方式决定了CPU不能获得圆满的容错保障不能获得圆满的容错保障,这已是不争的事实。而状态机,这已是不争的事实。而状态机系统不同,系统不同,首先首先由于它是纯硬件电路构成,不存在由于它是纯硬件电路构成,不存在CPU运行软件过运行软件过程中许多固有的缺陷;程中许多固有的缺陷;其次其次是由于

5、状态机设计中能使用各种完整的是由于状态机设计中能使用各种完整的容错技术;容错技术;第三第三是状态机从非法状态跳出进入正常状态的耗时十分是状态机从非法状态跳出进入正常状态的耗时十分短暂,通常只有短暂,通常只有2、3个时钟周期,约几十个个时钟周期,约几十个ns,不足于对系统运行不足于对系统运行构成损坏,而构成损坏,而CPU则是通过复位方式从非法运行方式中恢复过来,则是通过复位方式从非法运行方式中恢复过来,耗时达几十耗时达几十ms,这对于高速高可靠系统显然是无法容忍的。这对于高速高可靠系统显然是无法容忍的。为什么要使用状态机?为什么要使用状态机?4状态机的结构状态机的结构状态译状态译码器码器状态寄存

6、器状态寄存器(当前状态当前状态)输输出出译译码码器器输入输入信号输出信号输出状态输出状态输出5状态机状态机-各部分的功能各部分的功能 状态译码器状态译码器 确定状态机的下一个状态确定状态机的下一个状态 输出译码器输出译码器 确定状态机输出确定状态机输出 状态寄存器状态寄存器 存储状态机的内部状态存储状态机的内部状态6状态机的基本操作状态机的基本操作 状态的转换:状态的转换: 下一个状态由译码器根据当前状态和输入条下一个状态由译码器根据当前状态和输入条件决定。件决定。 输出信号的产生:输出信号的产生: 输出信号由译码器根据当前状态和输入条件输出信号由译码器根据当前状态和输入条件决定。决定。7状态

7、机的时序状态机的时序 同步时序状态机:同步时序状态机: 由时钟信号触发状态的转换和信号的输出由时钟信号触发状态的转换和信号的输出 异步时序状态机:异步时序状态机: 状态的转移和输出不与时钟信号同步状态的转移和输出不与时钟信号同步注意:注意:可综合的状态机设计要求使用同可综合的状态机设计要求使用同步状态机!步状态机!8状态机的类型状态机的类型状态一状态一状态二状态二状态二状态二摩尔型摩尔型moore状态机状态机米勒型米勒型mealy状态机状态机状态一状态一输入输入9状态机的表达方式状态机的表达方式状态图状态图状态表状态表流程图流程图10状态表状态表11状态图状态图 12状态机状态机 状态机的本质

8、是对具有状态机的本质是对具有逻辑顺序逻辑顺序或或时序时序规律事件规律事件的一种描述方法。的一种描述方法。1314三进制计数器三进制计数器S311S101S21015序列检测器(序列检测器(1110010)S1S2S8S3S4S7S6S51110010/10011010116类型定义语句类型定义语句 TYPE 用户自定义数据类型用户自定义数据类型: 数据类型名数据类型名: 由设计者自定;由设计者自定; 数据类型定义:数据类型定义: 数组型数据类型数组型数据类型或或枚举型数据类型枚举型数据类型TYPE 数据类型名数据类型名 IS 数据类型定义;数据类型定义;TYPE 数据类型名数据类型名 IS 数

9、据类型定义数据类型定义 OF 基本数据类型;基本数据类型;17类型定义语句类型定义语句 TYPE TYPE st1 IS ARRAY (0 TO 15) OF STD_LOGIC; TYPE week IS (sun,mon,tue,wed, thu,fri,sat);例如:例如:ARCHITECTURE bhv OF cnt4 ISTYPE m_state IS (st0,st1,st2,st3,st4,st5);SIGNAL present_state,next_state :m_state;BEGIN18状态机的说明部分状态机的说明部分 使用使用 TYPE 语句定义一个新的数据类型,一般

10、为语句定义一个新的数据类型,一般为枚举枚举型型,其元素都用状态机的状态名来定义。说明部分一,其元素都用状态机的状态名来定义。说明部分一般放在般放在ARCHITECTURE 和和 BEGIN之间。例如:之间。例如:ARCHITECTURE IS TYPE states IS (S0, S1, S2, S3); SIGNAL current_state, next_state : states; BEGIN 19Chapter overChapter overThis is the end of this chapter Thanks Any question ?20实验部分实验部分 四选一数据选

11、择器:四选一数据选择器:x = (a AND NOT(s(1) AND NOT(s(0) OR(b AND NOT(s(1) AND s(0) OR(c AND s(1) AND NOT(s(0) OR (d AND s(1) AND s(0) ;方法一:方法一:axmuxcbds221实验部分实验部分方法二:方法二:WITH s SELECT x = a WHEN “00”, - means when s=“00” b WHEN “01”, c WHEN “10”, d WHEN OTHERS;axmuxcbds222实验部分实验部分x = a when (s = “00”) else b

12、when (s = “01”) else c when (s = “10”) else d ;方法三:方法三:axmuxcbds223实验部分实验部分mux4_1: PROCESS (a, b, c, d, s)BEGIN IF s = “00” THEN x = a ;ELSIF s = “01” THEN x = b ;ELSIF s = “10” THEN x = c ;ELSE x = d ;END IF;END PROCESS mux4_1 ;方法四:方法四:axmuxcbds224实验部分实验部分 8-3编码器:编码器:LIBRARY IEEE;USE IEEE.STD_LOGIC

13、_1164.ALL;ENTITY ENCODE8_3 IS PORT (A :IN STD_LOGIC_VECTOR(7 DOWNTO 0); Y:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);END ENTITY ENCODE8_3;ARCHITECTURE ART OF ENCODE8_3 IS BEGIN 25 WITH A SELECT -选择信号赋值语句选择信号赋值语句 Y=000WHEN11111110, 001WHEN11111101, 010WHEN11111011, 011WHEN11110111, 100WHEN11101111, 101WHEN11011111, 110WHEN10111111, 111WHEN01111111, 000WHEN OTHERS;END ARCHITECTURE ART;268-3编码器编码器 P134 例例5-19,用,用IF和和CASE语句均可!语句均可!27分分频频器器ENTITY FENPIN ISPORT ( clk : IN BIT; cout : OUT BIT );END FENPIN;ARCHITECTURE bhv OF FENPIN IS BEGIN PROCESS(clk) VARIABLE Q1:INTEGE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论