三段式状态机课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《三段式状态机课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 三段式 状态机 课件
- 资源描述:
-
1、 第第 13 章数字系统设计基础章数字系统设计基础数字系统概述数字系统概述数字系统的设计方法数字系统的设计方法 数字系统的设计准则数字系统的设计准则 数字系统的设计步骤数字系统的设计步骤数字系统设计举例数字系统设计举例状态机的设计状态机的设计什么是数字系统?什么是数字系统? 数字系统是指交互式的、以离散形式表示的,具有存储、传输、信息处理能力的逻辑子系统的集合。13.1数字系统概述数字系统概述13.1.113.1.1数字系统的优点数字系统的优点 (1)工作稳定,抗干扰能力强。 (2)精确度高。 (3)系统可靠性高。 (4)便于系统的模块化。 (5)便于大规模集成,易于实现小型化。 (6)可实现
2、片上系统(SOC)。 (7)可实现嵌入式系统。 13.1.213.1.2数字系统的基本构成数字系统的基本构成 一个完整的数字系统通常可分为五个部分:输入电路、输一个完整的数字系统通常可分为五个部分:输入电路、输出电路、数据处理器、控制器和时钟电路。出电路、数据处理器、控制器和时钟电路。图图13-2 13-2 数字系统结构框图数字系统结构框图 输入输入/ /输出电路是整个数字系统对外信号交流的接输出电路是整个数字系统对外信号交流的接口,是完成将物理量转化为数字量或将数字量转化为物口,是完成将物理量转化为数字量或将数字量转化为物理量的功能部件。理量的功能部件。 数据处理器主要完成数据的采集、存储、
3、运算和传数据处理器主要完成数据的采集、存储、运算和传输等功能。输等功能。 控制器是执行数字系统算法的核心,具有记忆功能,控制器是执行数字系统算法的核心,具有记忆功能,一般为时序系统。控制器负责规定算法的步骤,在每一一般为时序系统。控制器负责规定算法的步骤,在每一个计算步骤给数据处理器发出命令信号,同时接收来自个计算步骤给数据处理器发出命令信号,同时接收来自数字处理器的状态变量,确定下一个计算步骤,以确保数字处理器的状态变量,确定下一个计算步骤,以确保算法按正确的次序实现。算法按正确的次序实现。 时钟电路是用来产生系统工作的同步时钟信号,使时钟电路是用来产生系统工作的同步时钟信号,使整个系统在时
4、钟信号的作用下,一步一步地按顺序完成整个系统在时钟信号的作用下,一步一步地按顺序完成各种操作。各种操作。 运算器运算器 (ALU) 控制器控制器 存储器存储器 输入设备输入设备 输出设备输出设备 数据流数据流 控制流控制流 图图13-3 冯冯.诺依曼计算机框架图诺依曼计算机框架图13.2 数字系统的设计方法数字系统的设计方法 数字系统设计有多种方法,传统的方法有试凑数字系统设计有多种方法,传统的方法有试凑设计法、设计法、MCUMCU设计法等。传统的设计方法都是采用设计法等。传统的设计方法都是采用自下而上自下而上的设计方法,即首先确定可用的的设计方法,即首先确定可用的元件元件,然,然后根据这些器
5、件进行逻辑设计,完成各后根据这些器件进行逻辑设计,完成各模块模块后,进后,进行连接形成行连接形成系统系统,最后经,最后经调试、测量调试、测量观察整个系统观察整个系统是否达到规定的性能指标。是否达到规定的性能指标。 13.2.113.2.1传统的设计方法传统的设计方法系统测试与性能分析完整系统功能模块基本元器件 缺点:缺点:1、设计过程依赖现有的通、设计过程依赖现有的通用元器件、手工及经验;用元器件、手工及经验;2、设计后期的仿真和调试、设计后期的仿真和调试3、基于原理图的设计、可、基于原理图的设计、可 移植性差;移植性差;4、设计周期长、灵活性差、设计周期长、灵活性差、效率低效率低传统电路设计
6、方法:传统电路设计方法: 自下而上(自下而上(Bottom-Up)的设计方法)的设计方法 基于基于EDAEDA技术的现代数字系统的设计一技术的现代数字系统的设计一般采用般采用自顶向下自顶向下的方法。该方法首先根据系的方法。该方法首先根据系统的总体功能要求,进行统的总体功能要求,进行系统级设计系统级设计;然后;然后按照一定的标准将整个系统划分成若干个按照一定的标准将整个系统划分成若干个子子系统系统;接着将各个子系统划分为若干;接着将各个子系统划分为若干功能模功能模块块,针对各模块进行,针对各模块进行逻辑电路级逻辑电路级设计。设计。 13.2.2 13.2.2 基于基于EDAEDA的现代数字系统设
7、计方法的现代数字系统设计方法 自顶向下设计方法是一种自顶向下设计方法是一种模块化设计模块化设计方法。对设计方法。对设计的描述从上到下逐步由粗略到详细,符合常规的逻辑思的描述从上到下逐步由粗略到详细,符合常规的逻辑思维习惯;维习惯; 优优点点 针对具体的设计,实施自顶向下的设计方法的形式针对具体的设计,实施自顶向下的设计方法的形式会有所不同,但均需遵循以下两条原则:逐层分解功能会有所不同,但均需遵循以下两条原则:逐层分解功能和分层次进行设计。同时,应在各个设计层次上,考虑和分层次进行设计。同时,应在各个设计层次上,考虑相应的仿真验证问题。相应的仿真验证问题。 适合多个设计者同时进行设计。随着技术
8、的不断进适合多个设计者同时进行设计。随着技术的不断进步,许多设计由一个设计者已无法完成,由多个设计者步,许多设计由一个设计者已无法完成,由多个设计者分工协作完成一项设计的情况越来越多分工协作完成一项设计的情况越来越多;表13-1 传统设计方法和EDA设计方法的比较13.3数字系统的设计准则数字系统的设计准则1 1分割准则分割准则2 2系统的可观测性系统的可观测性4 4同步和异步电路同步和异步电路5 5最优化设计最优化设计3 3面积和速度的平衡与互换原则面积和速度的平衡与互换原则6 6理想设计准则理想设计准则1. 分割准则分割准则 自顶向下的设计方法需要对系统功能进行分割,自顶向下的设计方法需要
9、对系统功能进行分割,然后用逻辑语言进行描述。分割过程中,若分割过然后用逻辑语言进行描述。分割过程中,若分割过粗,则不易用逻辑语言表达;分割过细,则带来不粗,则不易用逻辑语言表达;分割过细,则带来不必要的重复和繁琐。因此,分割的粗细需要根据具必要的重复和繁琐。因此,分割的粗细需要根据具体的设计和设计工具情况而定。体的设计和设计工具情况而定。 2. 系统的可观测性系统的可观测性 在系统设计中,应该同时考虑功能检查和性能在系统设计中,应该同时考虑功能检查和性能的测试,即系统可测性的问题。在设计系统的同时的测试,即系统可测性的问题。在设计系统的同时设计观测电路,指示系统内部的工作状态。设计观测电路,指
10、示系统内部的工作状态。 4. 同步和异步电路同步和异步电路 异步电路会造成较大延时和逻辑竞争,容易引异步电路会造成较大延时和逻辑竞争,容易引起系统的不稳定,而同步电路则是按照统一的时钟起系统的不稳定,而同步电路则是按照统一的时钟工作,稳定性好。因此,在设计时应尽可能采用同工作,稳定性好。因此,在设计时应尽可能采用同步电路进行设计,避免使用异步电路。在必须使用步电路进行设计,避免使用异步电路。在必须使用异步电路时,应采取措施来避免竞争和增加稳定性。异步电路时,应采取措施来避免竞争和增加稳定性。3. 面积和速度的平衡与互换原则面积和速度的平衡与互换原则 面积是指一个设计消耗的逻辑资源数量,一般面积
11、是指一个设计消耗的逻辑资源数量,一般可以用触发器和组合逻辑单元来度量。速度指设计可以用触发器和组合逻辑单元来度量。速度指设计在芯片上稳定运行时能够达到的最高频率。面积和在芯片上稳定运行时能够达到的最高频率。面积和速度是一对矛盾的需求,在设计中应力求平衡,在速度是一对矛盾的需求,在设计中应力求平衡,在一定条件下可相互转换。一定条件下可相互转换。 6. 理想设计准则理想设计准则 一个理想的设计,应该具有以下基本特征:设一个理想的设计,应该具有以下基本特征:设计总体上流畅,无拖泥带水的感觉;资源分配、计总体上流畅,无拖泥带水的感觉;资源分配、I/O分配合理,没有任何设计上和性能上的瓶颈;分配合理,没
12、有任何设计上和性能上的瓶颈;系统结构协调;具有良好的可观测性;易于修改和系统结构协调;具有良好的可观测性;易于修改和移植;器件的特点能得到充分的发挥。移植;器件的特点能得到充分的发挥。5. 最优化设计最优化设计 由于可编程器件的逻辑资源、连接资源和由于可编程器件的逻辑资源、连接资源和I/O资源有限,器件的速度和性能也是有限的,用器件资源有限,器件的速度和性能也是有限的,用器件设计系统的过程相当于求最优解的过程,因此,需设计系统的过程相当于求最优解的过程,因此,需要给定两个约束条件:边界条件和最优化目标。要给定两个约束条件:边界条件和最优化目标。 13.4数字系统的设计步骤数字系统的设计步骤图图
13、13-4 13-4 数字系统设计流程图数字系统设计流程图1. 系统需求分析系统需求分析 系统需求分析是数字系统设计的首要任务。设系统需求分析是数字系统设计的首要任务。设计者在读完技术任务书后应明确以下内容:确定系计者在读完技术任务书后应明确以下内容:确定系统的基本功能;确定输入和输出信号;确定各功能统的基本功能;确定输入和输出信号;确定各功能模块之间的相互关系;确定系统具体指标。模块之间的相互关系;确定系统具体指标。2. 确定总体方案确定总体方案 数字系统总体方案将直接影响整个数字系统的数字系统总体方案将直接影响整个数字系统的质量与性能,总体方案需要综合考虑以下几个因素:质量与性能,总体方案需
14、要综合考虑以下几个因素:系统功能要求、系统使用要求和系统性能价格比。系统功能要求、系统使用要求和系统性能价格比。4. 系统和子系统逻辑描述系统和子系统逻辑描述 采用比较规范的形式来描述系统的逻辑功能。采用比较规范的形式来描述系统的逻辑功能。对系统的逻辑描述可先采用较粗略的方框图,再将对系统的逻辑描述可先采用较粗略的方框图,再将方框图逐步细化为详细逻辑流程图,最后将详细逻方框图逐步细化为详细逻辑流程图,最后将详细逻辑流程图用电路原理图或硬件描述语言描述出来。辑流程图用电路原理图或硬件描述语言描述出来。3. 建立系统及子系统结构框图建立系统及子系统结构框图 把系统从逻辑上划分为数据子系统和控制子系
15、把系统从逻辑上划分为数据子系统和控制子系统两部分,画出整个系统的结构框图。然后将数据统两部分,画出整个系统的结构框图。然后将数据子系统分解为多个基本的逻辑功能模块。最后画出子系统分解为多个基本的逻辑功能模块。最后画出由基本功能模块组成的数据子系统结构框图,数据由基本功能模块组成的数据子系统结构框图,数据子系统中所需的各种控制信号将由控制子系统产生。子系统中所需的各种控制信号将由控制子系统产生。6. 系统的物理实现系统的物理实现 通过通过EDA软件仿真,如果设计的数字系统满软件仿真,如果设计的数字系统满足总体要求,就可以用芯片实现数字系统。首先实足总体要求,就可以用芯片实现数字系统。首先实现各个
16、逻辑功能电路,调试正确后,再将它们互连现各个逻辑功能电路,调试正确后,再将它们互连成子系统,最后进行数字系统总体调试。成子系统,最后进行数字系统总体调试。5. 系统仿真与验证系统仿真与验证 在电路设计完成以后必须验证设计是否正确。在电路设计完成以后必须验证设计是否正确。数字电路设计的数字电路设计的EDA软件都具有仿真功能,先通软件都具有仿真功能,先通过系统仿真,当系统仿真结果正确后再进行实际电过系统仿真,当系统仿真结果正确后再进行实际电路的测试。路的测试。 状态机是一种具有指定数目的状态的概念机,它在某个指定的时刻仅处于一个状态,状态的改变是对输入事件的响应。状态机的基本要素有三个:状态、输入
17、条件和输出。 什么是状态机什么是状态机? ?13.5状态机的设计状态机的设计状态机的优势:状态机的优势: (1)状态机克服了纯硬件数字系统顺序方式控制不灵活 的缺点;(2)状态机的结构相对简单,设计方案相对固定;(3)状态机容易构成性能良好的同步时序逻辑模块;(4)与VHDL的其他描述方式相比,状态机的VHDL表述丰 富多样、程序层次分明,结构清晰,易读易懂;在 排错、修改和模块移植方面也有其独到的好处;(5)在高速运算和控制方面,状态机更有其巨大的优势。 (6)高可靠性。 应用实例1 图图13-5 自动售货机控制系统方框图自动售货机控制系统方框图自动售货机自动售货机 设定逻辑变量: 设投币信
18、号A、B为输入逻辑变量,投入一枚一元硬币时用A=1表示,未投入时A=0。投入一枚五角硬币用B=1表示,未投入时B=0; 设矿泉水和找钱为两个输出变量,分别用Z和Y表示,给出矿泉水时Z=1,不给时Z=0,找回一枚五角硬币时Y=1,不找时Y=0。 图图13-6 13-6 自动售货机状态转换图自动售货机状态转换图library ieee; use ieee.std_logic_1164.all; entity shj_ctrl is port(a,b:in std_logic; clk:in std_logic; z,y:out std_logic); end shj_ctrl; architect
19、ure beha of shj_ctrl is type states is (s0,s1,s2); signal state:states; signal x:std_logic_vector(1 downto 0); begin xz=0;y=0; if (x=01) then state=s1; elsif (x=10) then state=s2; else statez=0;y=0; if (x=01) then state=s2; elsif (x=10) then state=s0; z=1;y=0; else statez=0;y=0; if (x=01) then state
20、=s0; z=1;y=0; elsif (x=10) then state=s0; z=1;y=1; else state=s2; end if; end case; end if; end process; end beha;13.5.1 状态机的基本构成及描述方式状态机的基本构成及描述方式 1. 状态机的基本要素状态机的基本要素u状态:也叫状态变量。在逻辑设计中,使用状态状态:也叫状态变量。在逻辑设计中,使用状态 划分逻辑顺序和时序规律。划分逻辑顺序和时序规律。u输入:指状态机中进入每个状态的条件。输入:指状态机中进入每个状态的条件。u输出:指在某一个状态时特定发生的事件。输出:指在某一个
21、状态时特定发生的事件。 2. 状态机的基本结构状态机的基本结构n状态寄存器的功能是记忆状态机的内部状态;n次态逻辑的功能是确定状态机的次态;n输出逻辑的功能是确定状态机的输出。 图图13-7 状态机的基本结构框图状态机的基本结构框图3. 状态机的基本描述方式状态机的基本描述方式状态转移图状态转移图 状态转移表状态转移表 HDL语言描述语言描述13.5.2 状态机的分类状态机的分类n根据状态机的状态数是否为有限个: 有限状态机(FSM) 无限状态机(ISM)n根据输出与现态以及输入的关系 : Moore型状态机 Mealy型状态机 13.5.3 状态机的状态编码状态机的状态编码 1. 顺序二进制
22、编码顺序二进制编码表13-2 顺序二进制编码 2. 格雷码编码格雷码编码 表13-3 格雷码编码 3. One-Hot编码编码表13-4 One-Hot编码13.5.4 状态机的状态机的VHDL设计设计1. 状态机的状态机的VHDL设计步骤设计步骤n分析控制器设计指标,建立系统算法模型图,即分析控制器设计指标,建立系统算法模型图,即状态转移图;状态转移图;n分析被控对象的时序状态,确定控制器状态机的分析被控对象的时序状态,确定控制器状态机的各个状态及输入、输出条件;各个状态及输入、输出条件;n应用应用VHDL语言完成状态机的描述。语言完成状态机的描述。2. 状态机的状态机的VHDL描述方法描述
23、方法n单进程(一段式)单进程(一段式)FSM描述方法描述方法是将整个状态机的三个是将整个状态机的三个模块合并起来,写到模块合并起来,写到1个进程里面,在该进程中即描述个进程里面,在该进程中即描述状态转移,又描述状态的输入和输出;状态转移,又描述状态的输入和输出;n两进程(二段式)两进程(二段式)FSM描述方法描述方法是用是用2个进程来描述状态个进程来描述状态机,其中当前状态寄存器用一个同步时序进程来描述,机,其中当前状态寄存器用一个同步时序进程来描述,输出逻辑和次态逻辑合并起来,用另一个组合逻辑进程输出逻辑和次态逻辑合并起来,用另一个组合逻辑进程来描述;来描述;n三进程(三段式)三进程(三段式
24、)FSM描述方法描述方法是将状态机的三个模块是将状态机的三个模块分别用分别用3个进程来描述,一个同步时序进程描述状态寄存个进程来描述,一个同步时序进程描述状态寄存器,一个组合逻辑进程描述次态逻辑,最后输出逻辑单器,一个组合逻辑进程描述次态逻辑,最后输出逻辑单独用一个进程来描述。独用一个进程来描述。 表13-5 三种FSM描述方法比较3. 状态机的状态机的VHDL设计相关语句设计相关语句 TYPE 数据类型名数据类型名 IS 数据类型定义数据类型定义 OF 基本数据类型基本数据类型 ;TYPE 数据类型名数据类型名 IS 数据类型定义数据类型定义 ; type m_state is (st0,s
25、t1,st2,st3,st4,st5);(1 1)状态定义语句)状态定义语句 signal current_state:m_state; -定义现态定义现态signal next_state:m_state; -定义次态定义次态(2 2)状态变量定义语句)状态变量定义语句 描述状态寄存器的进程:描述状态寄存器的进程:process(reset,clk)beginif reset=1 thencurrent_state=初始状态初始状态;elsif clkevent and clk=1 thencurrent_state=next_state;end if;end process;(3 3)三个
展开阅读全文