第13章 数字系统设计基础
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
13.3
数字系统的设计准则
1.分割准则 2.系统的可观测性
3.面积和速度的平衡与互换原则 4.同步和异步电路 5.最优化设计 6.理想设计准则
1. 分割准则
●自顶向下的设计方法需要对系统功能进行分割, 然后用逻辑语言进行描述。分割过程中,若分割过
粗,则不易用逻辑语言表达;分割过细,则带来不
必要的重复和繁琐。因此,分割的粗细需要根据具
00/00 AB/ZY
S0
01/10或10/11 10/00 00/00 10/10 01/00
S2
01/00
S1
00/00
图13-6 自动售货机状态转换图
library ieee; 00/00 use ieee.std_logic_1164.all; AB/ZY entity shj_ctrl is S0 port(a,b:in std_logic; 01/00 01/10或10/11 clk:in std_logic; 10/10 10/00 z,y:out std_logic); S2 S1 00/00 01/00 end shj_ctrl; architecture beha of shj_ctrl is type states is (s0,s1,s2); signal state:states; signal x:std_logic_vector(1 downto 0); begin x<=a&b; process(clk,x,state) begin if rising_edge(clk) then case state is when s0=> z<='0';y<='0'; if (x="01") then state<=s1; elsif (x="10") then
要给定两个约束条件:边界条件和最优化目标。
6. 理想设计准则
●一个理想的设计,应该具有以下基本特征:设 计总体上流畅,无拖泥带水的感觉;资源分配、
I/O分配合理,没有任何设计上和性能上的瓶颈;
系统结构协调;具有良好的可观测性;易于修改和 移植;器件的特点能得到充分的发挥。
13.4
数字系统的设计步骤
3、基于原理图的设计、可 移植性差; 4、设计周期长、灵活性差、 效率低
13.2.2 基于EDA的现代数字系统设计方法 基于EDA技术的现代数字系统的设计一
般采用自顶向下的方法。该方法首先根据系
统的总体功能要求,进行系统级设计;然后
按照一定的标准将整个系统划分成若干个子
系统;接着将各个子系统划分为若干功能模 块,针对各模块进行逻辑电路级设计。
一位热码编码 100000 010000 001000 000100 000010 000001
13.5.4 状态机的VHDL设计
1. 状态机的VHDL设计步骤
分析控制器设计指标,建立系统算法模型图,即
(2)精确度高。 (3)系统可靠性高。
(4)便于系统的模块化。
(5)便于大规模集成,易于实现小型化。 (6)可实现片上系统(SOC)。 (7)可实现嵌入式系统。
13.1.2 数字系统的基本构成
一个完整的数字系统通常可分为五个部分:输入电路、输
出电路、数据处理器、控制器和时钟电路。
输入信号
输入电路
数据处理器
(5)在高速运算和控制方面,状态机更有其巨大的优势。
(6)高可靠性。
应用实例1
自动售货机
投币信号 处理模块
投币信号
功能控制模块
输出信号(饮料、找钱)
图13-5 自动售货机控制系统方框图
设定逻辑变量: 设投币信号A、B为输入逻辑变量,投入一枚一元硬币时 用A=1表示,未投入时A=0。投入一枚五角硬币用B=1表示, 未投入时B=0; 设矿泉水和找钱为两个输出变量,分别用Z和Y表示,给 出矿泉水时Z=1,不给时Z=0,找回一枚五角硬币时Y=1,不 找时Y=0。
● 时钟电路是用来产生系统工作的同步时钟信号,使 整个系统在时钟信号的作用下,一步一步地按顺序完成 各种操作。
控制器
输入设备
运算器 (ALU)
输出设备
存储器
数据流
控制流
图13-3 冯.诺依曼计算机框架图
13.2 数字系统的设计方法
13.2.1 传统的设计方法 数字系统设计有多种方法,传统的方法有试凑 设计法、MCU设计法等。传统的设计方法都是采用 自下而上的设计方法,即首先确定可用的元件,然
●
自顶向下设计方法是一种模块化设计方法。对设计
的描述从上到下逐步由粗略到详细,符合常规的逻辑思 维习惯;
优
点
源自文库
●
适合多个设计者同时进行设计。随着技术的不断进
步,许多设计由一个设计者已无法完成,由多个设计者 分工协作完成一项设计的情况越来越多;
●
针对具体的设计,实施自顶向下的设计方法的形式
会有所不同,但均需遵循以下两条原则:逐层分解功能 和分层次进行设计。同时,应在各个设计层次上,考虑
相应的仿真验证问题。
表13-1 传统设计方法和EDA设计方法的比较
传统设计方法 自下而上 手动设计 软、硬件分离 原理图方式设计 系统功能固定 不宜仿真 难测试修改 模块难移植共享 设计周期长 EDA设计方法 自上而下 自动设计 打破软硬件屏障 原理图、硬件描述语言等多种设计方式 系统功能易改变 易仿真 易测试修改 设计工作标准化,模块可移植共享 设计周期短
4. 同步和异步电路
●异步电路会造成较大延时和逻辑竞争,容易引 起系统的不稳定,而同步电路则是按照统一的时钟 工作,稳定性好。因此,在设计时应尽可能采用同 步电路进行设计,避免使用异步电路。在必须使用 异步电路时,应采取措施来避免竞争和增加稳定性。
5. 最优化设计
●由于可编程器件的逻辑资源、连接资源和I/O 资源有限,器件的速度和性能也是有限的,用器件 设计系统的过程相当于求最优解的过程,因此,需
表13-3 格雷码编码
状
态
格雷码编码 000 001 011 010 110 111
STATE0 STATEl STATE2 STATE3 STATE4 STATE5
3. One-Hot编码
表13-4 One-Hot编码
状 态 STATE0 STATEl STATE2 STATE3 STATE4 STATE5
体的设计和设计工具情况而定。
2. 系统的可观测性
●在系统设计中,应该同时考虑功能检查和性能 的测试,即系统可测性的问题。在设计系统的同时 设计观测电路,指示系统内部的工作状态。
3. 面积和速度的平衡与互换原则
●面积是指一个设计消耗的逻辑资源数量,一般 可以用触发器和组合逻辑单元来度量。速度指设计 在芯片上稳定运行时能够达到的最高频率。面积和 速度是一对矛盾的需求,在设计中应力求平衡,在 一定条件下可相互转换。
00/00
state<=s2; else state<=s0; end if; when s1=>z<='0';y<='0'; 00/00 if (x="01") then AB/ZY state<=s2; S0 elsif (x="10") then 01/00 01/10或10/11 state<=s0; z<='1';y<='0'; 10/10 10/00 else 00/00 S2 S1 00/00 state<=s1; 01/00 end if; when s2=>z<='0';y<='0'; if (x="01") then state<=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 章
数字系统设计基础
数字系统概述 数字系统的设计方法 数字系统的设计准则 数字系统的设计步骤 状态机的设计
数字系统设计举例
13.1 数字系统概述
什么是数字系统?
数字系统是指交互式的、以离散形式表 示的,具有存储、传输、信息处理能力的逻 辑子系统的集合。
13.1.1 数字系统的优点
(1)工作稳定,抗干扰能力强。
4. 系统和子系统逻辑描述
●采用比较规范的形式来描述系统的逻辑功能。 对系统的逻辑描述可先采用较粗略的方框图,再将 方框图逐步细化为详细逻辑流程图,最后将详细逻 辑流程图用电路原理图或硬件描述语言描述出来。
5. 系统仿真与验证
●在电路设计完成以后必须验证设计是否正确。
数字电路设计的EDA软件都具有仿真功能,先通过 系统仿真,当系统仿真结果正确后再进行实际电路 的测试。
控制信号 条件信号
输出电路
输出信号
输入指令 使能信号
控制器
时钟信号
输出指令
时钟电路
图13-2
数字系统结构框图
● 输入/输出电路是整个数字系统对外信号交流的接 口,是完成将物理量转化为数字量或将数字量转化为物 理量的功能部件。 ● 数据处理器主要完成数据的采集、存储、运算和传 输等功能。 ● 控制器是执行数字系统算法的核心,具有记忆功能, 一般为时序系统。控制器负责规定算法的步骤,在每一 个计算步骤给数据处理器发出命令信号,同时接收来自 数字处理器的状态变量,确定下一个计算步骤,以确保 算法按正确的次序实现。
6. 系统的物理实现
●通过EDA软件仿真,如果设计的数字系统满足
总体要求,就可以用芯片实现数字系统。首先实现 各个逻辑功能电路,调试正确后,再将它们互连成 子系统,最后进行数字系统总体调试。
13.5 状态机的设计
什么是状态机?
状态机是一种具有指定数目的状态的概
念机,它在某个指定的时刻仅处于一个状态,
后根据这些器件进行逻辑设计,完成各模块后,进
行连接形成系统,最后经调试、测量观察整个系统
是否达到规定的性能指标。
传统电路设计方法: 自下而上(Bottom-Up)的设计方法
系统测试与性能分析
缺点:
完整系统 功能模块 基本元器件
1、设计过程依赖现有的通 用元器件、手工及经验; 2、设计后期的仿真和调试
系统需求分析
确定总体方案
建立系统及子系统结构框图
系统和子系统逻辑描述
系统仿真与验证
系统的物理实现
图13-4 数字系统设计流程图
1. 系统需求分析
●系统需求分析是数字系统设计的首要任务。设 计者在读完技术任务书后应明确以下内容:确定系 统的基本功能;确定输入和输出信号;确定各功能 模块之间的相互关系;确定系统具体指标。
2. 确定总体方案
●数字系统总体方案将直接影响整个数字系统的
质量与性能,总体方案需要综合考虑以下几个因素:
系统功能要求、系统使用要求和系统性能价格比。
3. 建立系统及子系统结构框图
●把系统从逻辑上划分为数据子系统和控制子系 统两部分,画出整个系统的结构框图。然后将数据 子系统分解为多个基本的逻辑功能模块。最后画出 由基本功能模块组成的数据子系统结构框图,数据 子系统中所需的各种控制信号将由控制子系统产生。
状态的改变是对输入事件的响应。状态机的
基本要素有三个:状态、输入条件和输出。
状态机的优势:
(1)状态机克服了纯硬件数字系统顺序方式控制不灵活 的缺点;
(2)状态机的结构相对简单,设计方案相对固定;
(3)状态机容易构成性能良好的同步时序逻辑模块; (4)与VHDL的其他描述方式相比,状态机的VHDL表述丰 富多样、程序层次分明,结构清晰,易读易懂;在 排错、修改和模块移植方面也有其独到的好处;
输出逻辑的功能是确定状态机的输出。
Mealy状态机 输入信号
次态逻辑
状态寄存器
时钟信号 当前状态
输出逻辑
输出信号
图13-7 状态机的基本结构框图
3. 状态机的基本描述方式
状态转移图
状态转移表
HDL语言描述
13.5.2 状态机的分类
根据状态机的状态数是否为有限个: 有限状态机(FSM) 无限状态机(ISM)
根据输出与现态以及输入的关系 :
Moore型状态机
Mealy型状态机
13.5.3 状态机的状态编码
1. 顺序二进制编码
表13-2 顺序二进制编码
状
态
顺序二进制编码 000 001 010 011 100 101
STATE0 STATEl STATE2 STATE3 STATE4 STATE5
2. 格雷码编码
13.5.1 状态机的基本构成及描述方式
1. 状态机的基本要素
状态:也叫状态变量。在逻辑设计中,使用状态
划分逻辑顺序和时序规律。
输入:指状态机中进入每个状态的条件。 输出:指在某一个状态时特定发生的事件。
2. 状态机的基本结构
状态寄存器的功能是记忆状态机的内部状态;
次态逻辑的功能是确定状态机的次态;