数字逻辑设计基础(何建新)第13章解析

上传人:最**** 文档编号:116890980 上传时间:2019-11-17 格式:PPT 页数:91 大小:1.08MB
返回 下载 相关 举报
数字逻辑设计基础(何建新)第13章解析_第1页
第1页 / 共91页
数字逻辑设计基础(何建新)第13章解析_第2页
第2页 / 共91页
数字逻辑设计基础(何建新)第13章解析_第3页
第3页 / 共91页
数字逻辑设计基础(何建新)第13章解析_第4页
第4页 / 共91页
数字逻辑设计基础(何建新)第13章解析_第5页
第5页 / 共91页
点击查看更多>>
资源描述

《数字逻辑设计基础(何建新)第13章解析》由会员分享,可在线阅读,更多相关《数字逻辑设计基础(何建新)第13章解析(91页珍藏版)》请在金锄头文库上搜索。

1、 第13章 数字系统设计基础 内容提要 状态机的设计 数字系统的设计步骤 数字系统的设计准则 数字系统的设计方法 数字系统概述 数字系统设计举例 什么是数字系统? 数字系统是指交互式的、以离散形式表 示的,具有存储、传输、信息处理能力的逻 辑子系统的集合。 13.1 数字系统概述 13.1.1 数字系统的优点 (1)工作稳定,抗干扰能力强。 (2)精确度高。 (3)系统可靠性高。 (4)便于系统的模块化。 (5)便于大规模集成,易于实现小型化。 (6)可实现片上系统(SOC)。 (7)可实现嵌入式系统。 13.1.2 数字系统的基本构成 一个完整的数字系统通常可分为五个部分:输入电路、输 出电

2、路、数据处理器、控制器和时钟电路。 图图13-2 数字系统结统结 构框图图 输入/输出电路是整个数字系统对外信号交流的接 口,是完成将物理量转化为数字量或将数字量转化为物 理量的功能部件。 数据处理器主要完成数据的采集、存储、运算和传 输等功能。 控制器是执行数字系统算法的核心,具有记忆功能 ,一般为时序系统。控制器负责规定算法的步骤,在每 一个计算步骤给数据处理器发出命令信号,同时接收来 自数字处理器的状态变量,确定下一个计算步骤,以确 保算法按正确的次序实现。 时钟电路是用来产生系统工作的同步时钟信号,使 整个系统在时钟信号的作用下,一步一步地按顺序完成 各种操作。 图图13-3 冯冯.诺

3、诺依曼计计算机框架图图 13.2 数字系统的设计方法 数字系统设计有多种方法,传统的方法有试凑 设计法、MCU设计法等。传统的设计方法都是采用自 下而上的设计方法,即首先确定可用的元件,然后 根据这些器件进行逻辑设计,完成各模块后,进行 连接形成系统,最后经调试、测量观察整个系统是 否达到规定的性能指标。 13.2.1 传统的设计方法 系统测试与性能分析 完整系统 功能模块 基本元器件 缺点: 1、设计过程依赖现有的通 用元器件、手工及经验; 2、设计后期的仿真和调试 3、自下而上思想的局限性 4、设计周期长、灵活性差 、效率低 传统电路设计方法: 自下而上(Bottom-Up)的设计方法 基

4、于EDA技术的现代数字系统的设计一 般采用自顶向下的方法。该方法首先根据系 统的总体功能要求,进行系统级设计;然后 按照一定的标准将整个系统划分成若干个子 系统;接着将各个子系统划分为若干功能模 块,针对各模块进行逻辑电路级设计。 13.2.2 基于EDA的现代数字系统设计方法 自顶向下设计方法是一种模块化设计方法。对设计 的描述从上到下逐步由粗略到详细,符合常规的逻辑思 维习惯; 优 点 针对具体的设计,实施自顶向下的设计方法的形式 会有所不同,但均需遵循以下两条原则:逐层分解功能 和分层次进行设计。同时,应在各个设计层次上,考虑 相应的仿真验证问题。 适合多个设计者同时进行设计。随着技术的

5、不断进 步,许多设计由一个设计者已无法完成,由多个设计者 分工协作完成一项设计的情况越来越多; 表13-1 传统设计方法和EDA设计方法的比较 13.3 数字系统的设计准则 1分割准则 2系统的可观测性 4同步和异步电路 5最优化设计 3面积和速度的平衡与互换原则 6理想设计准则 1. 分割准则 自顶向下的设计方法需要对系统功能进行分割 ,然后用逻辑语言进行描述。分割过程中,若分割 过粗,则不易用逻辑语言表达;分割过细,则带来 不必要的重复和繁琐。因此,分割的粗细需要根据 具体的设计和设计工具情况而定。 2. 系统的可观测性 在系统设计中,应该同时考虑功能检查和性能 的测试,即系统可测性的问题

6、。在设计系统的同时 设计观测电路,指示系统内部的工作状态。 4. 同步和异步电路 异步电路会造成较大延时和逻辑竞争,容易引 起系统的不稳定,而同步电路则是按照统一的时钟 工作,稳定性好。因此,在设计时应尽可能采用同 步电路进行设计,避免使用异步电路。在必须使用 异步电路时,应采取措施来避免竞争和增加稳定性 。 3. 面积和速度的平衡与互换原则 面积是指一个设计消耗的逻辑资源数量,一般 可以用触发器和组合逻辑单元来度量。速度指设计 在芯片上稳定运行时能够达到的最高频率。面积和 速度是一对矛盾的需求,在设计中应力求平衡,在 一定条件下可相互转换。 6. 理想设计准则 一个理想的设计,应该具有以下基

7、本特征:设 计总体上流畅,无拖泥带水的感觉;资源分配、 I/O分配合理,没有任何设计上和性能上的瓶颈; 系统结构协调;具有良好的可观测性;易于修改和 移植;器件的特点能得到充分的发挥。 5. 最优化设计 由于可编程器件的逻辑资源、连接资源和I/O 资源有限,器件的速度和性能也是有限的,用器件 设计系统的过程相当于求最优解的过程,因此,需 要给定两个约束条件:边界条件和最优化目标。 13.4 数字系统的设计步骤 图图13-4 数字系统设计统设计 流程图图 1. 系统需求分析 系统需求分析是数字系统设计的首要任务。设 计者在读完技术任务书后应明确以下内容:确定系 统的基本功能;确定输入和输出信号;

8、确定各功能 模块之间的相互关系;确定系统具体指标。 2. 确定总体方案 数字系统总体方案将直接影响整个数字系统的 质量与性能,总体方案需要综合考虑以下几个因素 :系统功能要求、系统使用要求和系统性能价格比 。 4. 系统和子系统逻辑描述 采用比较规范的形式来描述系统的逻辑功能。 对系统的逻辑描述可先采用较粗略的方框图,再将 方框图逐步细化为详细逻辑流程图,最后将详细逻 辑流程图用电路原理图或硬件描述语言描述出来。 3. 建立系统及子系统结构框图 把系统从逻辑上划分为数据子系统和控制子系 统两部分,画出整个系统的结构框图。然后将数据 子系统分解为多个基本的逻辑功能模块。最后画出 由基本功能模块组

9、成的数据子系统结构框图,数据 子系统中所需的各种控制信号将由控制子系统产生 。 6. 系统的物理实现 通过EDA软件仿真,如果设计的数字系统满足 总体要求,就可以用芯片实现数字系统。首先实现 各个逻辑功能电路,调试正确后,再将它们互连成 子系统,最后进行数字系统总体调试。 5. 系统仿真与验证 在电路设计完成以后必须验证设计是否正确。 数字电路设计的EDA软件都具有仿真功能,先通过 系统仿真,当系统仿真结果正确后再进行实际电路 的测试。 状态机是一种具有指定数目的状态的概 念机,它在某个指定的时刻仅处于一个状态 ,状态的改变是对输入事件的响应。状态机 的基本要素有三个:状态、输入条件和输出 。

10、 什么是状态机? 13.5 状态机的设计 状态机的优势: (1)状态机克服了纯硬件数字系统顺序方式控制不灵活 的缺点; (2)状态机的结构相对简单,设计方案相对固定; (3)状态机容易构成性能良好的同步时序逻辑模块; (4)与VHDL的其他描述方式相比,状态机的VHDL表述丰 富多样、程序层次分明,结构清晰,易读易懂;在 排错、修改和模块移植方面也有其独到的好处; (5)在高速运算和控制方面,状态机更有其巨大的优势 。 (6)高可靠性。 应用实例1 图图13-5 自动动售货货机控制系统统方框图图 自动售货机 设定逻辑变量: 设投币信号A、B为输入逻辑变量,投入一枚一元硬币时 用A=1表示,未投

11、入时A=0。投入一枚五角硬币用B=1表示, 未投入时B=0; 设矿泉水和找钱为两个输出变量,分别用Z和Y表示,给 出矿泉水时Z=1,不给时Z=0,找回一枚五角硬币时Y=1,不 找时Y=0。 图图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; architecture beha of shj_ctrl is type states

12、 is (s0,s1,s2); signal state:states; signal x:std_logic_vector(1 downto 0); begin x z=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=s0; z=1;y=0; elsif (x=“

13、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输出:指在某一个状态时特定发生的事件。 2. 状态机的基本结构 状态寄存器的功能是记忆状态机的内部状态; 次态逻辑的功能是确定状态机的次态; 输出逻辑的功能是确定状态机的输出。 图图13-7 状态态机的基本结结构框图图 3. 状态机的

14、基本描述方式 状态转移图 状态转移表 HDL语言描述 13.5.2 状态机的分类 根据状态机的状态数是否为有限个: 有限状态机(FSM) 无限状态机(ISM) 根据输出与现态以及输入的关系 : Moore型状态机 Mealy型状态机 13.5.3 状态机的状态编码 1. 顺序二进制编码 表13-2 顺序二进制编码 2. 格雷码编码 表13-3 格雷码编码 3. One-Hot编码 表13-4 One-Hot编码 13.5.4 状态机的VHDL设计 1. 状态机的VHDL设计步骤 分析控制器设计指标,建立系统算法模型图,即状态转移图; 分析被控对象的时序状态,确定控制器状态机的各个状态及输入、

15、输出条件; 应用VHDL语言完成状态机的描述。 2. 状态机的VHDL描述方法 单进程(一段式)FSM描述方法是将整个状态机的三个 模块合并起来,写到1个进程里面,在该进程中即描述 状态转移,又描述状态的输入和输出; 两进程(二段式)FSM描述方法是用2个进程来描述状态 机,其中当前状态寄存器用一个同步时序进程来描述, 输出逻辑和次态逻辑合并起来,用另一个组合逻辑进程 来描述; 三进程(三段式)FSM描述方法是将状态机的三个模块 分别用3个进程来描述,一个同步时序进程描述状态寄存 器,一个组合逻辑进程描述次态逻辑,最后输出逻辑单 独用一个进程来描述。 表13-5 三种FSM描述方法比较 3.

16、状态机的VHDL设计相关语句 TYPE 数据类型名 IS 数据类型定义 OF 基本数据类型 ; TYPE 数据类型名 IS 数据类型定义 ; type m_state is (st0,st1,st2,st3,st4,st5); (1)状态定义语句 signal current_state:m_state; -定义现态义现态 signal next_state:m_state; -定义义次态态 (2)状态变量定义语句 描述状态寄存器的进程: process(reset,clk) begin if reset=1 then current_state=初始状态; elsif clkevent and clk=1 then current_state=next_state; end if; end process; (3)三个模块进程描述语句 描

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号