第13章 数字系统设计基础

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

相应的仿真验证问题。
表13-1 传统设计方法和EDA设计方法的比较
传统设计方法 自下而上 手动设计 软、硬件分离 原理图方式设计 系统功能固定 不宜仿真 难测试修改 模块难移植共享 设计周期长 EDA设计方法 自上而下 自动设计 打破软硬件屏障 原理图、硬件描述语言等多种设计方式 系统功能易改变 易仿真 易测试修改 设计工作标准化,模块可移植共享 设计周期短
控制信号 条件信号
输出电路
输出信号
输入指令 使能信号
控制器
时钟信号
输出指令
时钟电路
图13-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。
13.5.1 状态机的基本构成及描述方式
1. 状态机的基本要素
状态:也叫状态变量。在逻辑设计中,使用状态
划分逻辑顺序和时序规律。
输入:指状态机中进入每个状态的条件。 输出:指在某一个状态时特定发生的事件。
2. 状态机的基本结构

状态寄存器的功能是记忆状态机的内部状态;


次态逻辑的功能是确定状态机的次态;
(2)精确度高。 (3)系统可靠性高。
(4)便于系统的模块化。
(5)便于大规模集成,易于实现小型化。 (6)可实现片上系统(SOC)。 (7)可实现嵌入式系统。
13.1.2 数字系统的基本构成
一个完整的数字系统通常可分为五个部分:输入电路、输
出电路、数据处理器、控制器和时钟电路。
输入信号
输入电路
数据处理器
输出逻辑的功能是确定状态机的输出。
Mealy状态机 输入信号
次态逻辑
状态寄存器
时钟信号 当前状态
输出逻辑
输出信号
图13-7 状态机的基本结构框图
3. 状态机的基本描述方式
状态转移图
状态转移表
HDL语言描述
13.5.2 状态机的分类

根据状态机的状态数是否为有限个: 有限状态机(FSM) 无限状态机(ISM)
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;
要给定两个约束条件:边界条件和最优化目标。
6. 理想设计准则
●一个理想的设计,应该具有以下基本特征:设 计总体上流畅,无拖泥带水的感觉;资源分配、
I/O分配合理,没有任何设计上和性能上的瓶颈;
系统结构协调;具有良好的可观测性;易于修改和 移植;器件的特点能得到充分的发挥。
13.4
数字系统的设计步骤
第 13 章
数字系统设计基础
数字系统概述 数字系统的设计方法 数字系统的设计准则 数字系统的设计步骤 状态机的设计
数字系统设计举例
13.1 数字系统概述
什么是数字系统?
数字系统是指交互式的、以离散形式表 示的,具有存储、传输、信息处理能力的逻 辑子系统的集合。
13.1.1 数字系统的优点
(1)工作稳定,抗干扰能力强。
● 时钟电路是用来产生系统工作的同步时钟信号,使 整个系统在时钟信号的作用下,一步一步地按顺序完成 各种操作。
控制器
输入设备
运算器 (ALU)
输出设备
存储器
数据流
控制流
图13-3 冯.诺依曼计算机框架图
13.2 数字系统的设计方法
13.2.1 传统的设计方法 数字系统设计有多种方法,传统的方法有试凑 设计法、MCU设计法等。传统的设计方法都是采用 自下而上的设计方法,即首先确定可用的元件,然
13.3
数字系统的设计准则
1.分割准则 2.系统的可观测性
3.面积和速度的平衡与互换原则 4.同步和异步电路 5.最优化设计 6.理想设计准则
1. 分割准则
●自顶向下的设计方法需要对系统功能进行分割, 然后用逻辑语言进行描述。分割过程中,若分割过
粗,则不易用逻辑语言表达;分割过细,则带来不
必要的重复和繁琐。因此,分割的粗细需要根据具
2. 确定总体方案
●数字系统总体方案将直接影响整个数字系统的
质量与性能,总体方案需要综合考虑以下几个因素:
系统功能要求、系统使用要求和系统性能价格比。
3. 建立系统及子系统结构框图
●把系统从逻辑上划分为数据子系统和控制子系 统两部分,画出整个系统的结构框图。然后将数据 子系统分解为多个基本的逻辑功能模块。最后画出 由基本功能模块组成的数据子系统结构框图,数据 子系统中所需的各种控制信号将由控制子系统产生。
3、基于原理图的设计、可 移植性差; 4、设计周期长、灵活性差、 效率低
13.2.2 基于EDA的现代数字系统设计方法 基于EDA技术的现代数字系统的设计一
般采用自顶向下的方法。该方法首先根据系
统的总体功能要求,进行系统级设计;然后
按照一定的标准将整个系统划分成若干个子
系统;接着将各个子系统划分为若干功能模 块,针对各模块进行逻辑电路级设计。

根据输出与现态以及输入的关系 :
Moore型状态机
Mealy型状态机
13.5.3 状态机的状态编码
1. 顺序二进制编码
表13-2 顺序二进制编码


顺序二进制编码 000 001 010 011 100 101
STATE0 STATEl STATE2 STATE3 STATE4 STATE5
2. 格雷码编码
体的设计和设计工具情况而定。
2. 系统的可观测性
●在系统设计中,应该同时考虑功能检查和性能 的测试,即系统可测性的问题。在设计系统的同时 设计观测电路,指示系统内部的工作状态。
3. 面积和速度的平衡与互换原则
●面积是指一个设计消耗的逻辑资源数量,一般 可以用触发器和组合逻辑单元来度量。速度指设计 在芯片上稳定运行时能够达到的最高频率。面积和 速度是一对矛盾的需求,在设计中应力求平衡,在 一定条件下可相互转换。
后根据这些器件进行逻辑设计,完成各模块后,进
行连接形成系统,最后经调试、测量观察整个系统
是否达到规定的性能指标。
传统电路设计方法: 自下而上(Bottom-Up)的设计方法
系统测试与性能分析
缺点:
完整系统 功能模块 基本元器件
1、设计过程依赖现有的通 用元器件、手工及经验; 2、设计后期的仿真和调试
系统需求分析
确定总体方案
建立系统及子系统结构框图
系统和子系统逻辑描述
系统仿真与验证
系统的物理实现
图13-4 数字系统设计流程图
1. 系统需求分析
●系统需求分析是数字系统设计的首要任务。设 计者在读完技术任务书后应明确以下内容:确定系 统的基本功能;确定输入和输出信号;确定各功能 模块之间的相互关系;确定系统具体指标。
表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
4. 同步和异步电路
●异步电路会造成较大延时和逻辑竞争,容易引 起系统的不稳定,而同步电路则是按照统一的时钟 工作,稳定性好。因此,在设计时应尽可能采用同 步电路进行设计,避免使用异步电路。在必须使用 异步电路时,应采取措施来避免竞争和增加稳定性。
5. 最优化设计
●由于可编程器件的逻辑资源、连接资源和I/O 资源有限,器件的速度和性能也是有限的,用器件 设计系统的过程相当于求最优解的过程,因此,需
一位热码编码 100000 010000 001000 000100 000010 000001
13.5.4 状态机的VHDL设计
1. 状态机的VHDL设计步骤

分析控制器设计指标,建立系统算法模型图,即
4. 系统和子系统逻辑描述
●采用比较规范的形式来描述系统的逻辑功能。 对系统的逻辑描述可先采用较粗略的方框图,再将 方框图逐步细化为详细逻辑流程图,最后将详细逻 辑流程图用电路原理图或硬件描述语言描述出来。
5. 系统仿真与验证
●在电路设计完成以后必须验证设计是否正确。
数字电路设计的EDA软件都具有仿真功能,先通过 系统仿真,当系统仿真结果正确后再进行实际电路 的测试。
状态的改变是对输入事件的响应。状态机的
基本要素有三个:状态、输入条件和输出。
状态机的优势:
(1)状态机克服了纯硬件数字系统顺序方式控制不灵活 的缺点;
(2)状态机的结构相对简单,设计方案相对固定;
(3)状态机容易构成性能良好的同步时序逻辑模块; (4)与VHDL的其他描述方式相比,状态机的VHDL表述丰 富多样、程序层次分明,结构清晰,易读易懂;在 排错、修改和模块移植方面也有其独到的好处;
6. 系统的物理实现
●通过EDA软件仿真,如果设计的数字系统满足
总体要求,就可以用芯片实现数字系统。首先实现 各个逻辑功能电路,调试正确后,再将它们互连成 子系统,最后进行数字系统总体调试。
13.5 状态机的设计
什么是状态机?
状态机是一种具有指定数目的状态的概
念机,它在某个指定的时刻仅处于一个状态,
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

自顶向下设计方法是一种模块化设计方法。对设计
的描述从上到下逐步由粗略到详细,符合常规的逻辑思 维习惯;



适合多个设计者同时进行设计。随着技术的不断进
步,许多设计由一个设计者已无法完成,由多个设计者 分工协作完成一项设计的情况越来越多;

针对具体的设计,实施自顶向下的设计方法的形式
会有所不同,但均需遵循以下两条原则:逐层分解功能 和分层次进行设计。同时,应在各个设计层次上,考虑
相关文档
最新文档