EDA技术与数字系统设计 尹常永 第3章 数字系统的设计

上传人:E**** 文档编号:89347958 上传时间:2019-05-23 格式:PPT 页数:48 大小:759KB
返回 下载 相关 举报
EDA技术与数字系统设计  尹常永 第3章  数字系统的设计_第1页
第1页 / 共48页
EDA技术与数字系统设计  尹常永 第3章  数字系统的设计_第2页
第2页 / 共48页
EDA技术与数字系统设计  尹常永 第3章  数字系统的设计_第3页
第3页 / 共48页
EDA技术与数字系统设计  尹常永 第3章  数字系统的设计_第4页
第4页 / 共48页
EDA技术与数字系统设计  尹常永 第3章  数字系统的设计_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《EDA技术与数字系统设计 尹常永 第3章 数字系统的设计》由会员分享,可在线阅读,更多相关《EDA技术与数字系统设计 尹常永 第3章 数字系统的设计(48页珍藏版)》请在金锄头文库上搜索。

1、第3章 数字系统的设计,3.1 数字系统设计概述 3.2 数字系统的描述方法 3.3 数字系统设计实例,3.1 数字系统设计概述,3.1.1 数字系统的组成 人们常常把数字系统划分成两个部分数字处理器和控制器,如图3.1所示。,图3.1 数字系统,控制器:负责规定算法的步骤,在每一个计算步骤给数据处理器发出命令信号,同时接收来自数字处理器的状态变量,确定下一个计算步骤,以确保算法按正确的次序实现。也可以说,控制器决定数字处理器的操作及操作序列。控制器是我们完成数字系统设计的难点和重点所在。 数字处理器:由寄存器和组合电路组成。寄存器用于短暂存储信息,组合电路实现对数据的加工和处理。 大型的数字

2、系统还可以再分为若干子系统,通过上一级控制器统一协调工作,来实现整个数字系统的复杂功能。,3.1.2 数字系统的设计方法 随着数字集成技术和计算机技术的迅速发展,数字系统设计的理论和方法也在不断地发展和变化。数字系统的实现方法经历了由分立元件、小规模集成电路(SSI)、中规模集成电路(MSI)到大规模集成电路(LSI)、超大规模集成电路(VLSI)的过程。,传统的数字系统设计方法是利用真值表、卡诺图、状态方程组、状态转换表、状态转换图等描述工具建立系统模型来进行系统设计的。对于一个比较复杂的数字系统,由于它的输入变量数、输出变量数和内部的状态变量数很多,用常规的工具(如真值表、卡诺图、状态方程

3、等)和传统的数字系统设计方法来描述和设计十分困难,有时甚至无法进行,因此必须寻求从系统总体出发来描述和设计的方法。,1. 自顶向下法 自顶向下(top to down)法是一种从抽象定义到具体的实现,从高层次到低层次逐步求精的分层次、分模块的设计方法,它是数字系统设计中最常用的设计方法之一。该设计方法的具体实施过程是:首先根据系统的总体功能要求,进行系统级设计;然后按照一定的标准将整个系统划分成若干个子系统;接着将各个子系统划分为若干功能模块,针对各模块进行逻辑电路级设计。,2. 自底向上法 自底向上法是根据系统功能要求,从具体的器件、逻辑部件或者相似系统开始,凭借设计者熟练的技巧和丰富的经验

4、通过对其进行相互连接、修改和扩大,构成所要求的系统。,3.1.3 数字系统设计的一般过程 数字系统设计分为系统级设计和逻辑级设计两个阶段。若采用自顶向下的设计方法,则需要先进行系统级设计,再进行逻辑级设计。其一般过程是:在详细了解设计任务的基础上,确定系统的整体功能;用某种方法描述系统功能,设计实现系统功能的算法;根据算法选择电路结构;设计验证(仿真、测试);最后是设计实现。,系统级设计的过程是: (1) 在详细了解设计任务的基础上,确定顶层系统的方案。这是设计过程的第一阶段,要求对设计任务做透彻的了解,决定设计任务,确定系统的整体功能、输入信号及输出信号。 (2) 描述系统功能,设计算法。描

5、述系统功能就是用符号、图形、文字、表达式等形式来正确描述系统应具有的逻辑功能和应达到的技术指标。,逻辑级设计的过程是: (1) 根据算法选择电路结构。系统算法决定电路结构。虽然不同的算法可以实现相同的系统功能,但是电路结构是不同的;相同的算法也可能对应不同的电路结构。 (2) 设计验证(仿真、测试)和设计实现。根据设计、生产的条件,选择适当的器件来实现电路,并导出详细的电路图。,3.2 数字系统的描述方法,3.2.1 寄存器传输语言 数字处理器的任务是接收控制器发出的命令信号,完成信息的加工和存储,并检验信息间的函数关系,产生状态变量。对寄存器所存信息的加工和存储称为寄存器传输操作。,寄存器传

6、输语言中定义的寄存器不仅包括暂存信息的寄存器,还应包括移位寄存器、计数器和存储器。计数器是具有加1功能的寄存器,存储器是寄存器的集合。一个单一的触发器可理解为一位寄存器。 寄存器传输语言中的语句表达式中,除了表示对寄存器信息进行何种操作之外,还包含有控制函数部分。在寄存器传输语言中,用大写的英文字母表示寄存器。下面介绍其基本语句。,1. 寄存器间的信息传输操作 传送语句: P:AB 该语句表示在控制函数P的控制下,寄存器B的内容传输给寄存器A,箭头“”表示传输方向,从源寄存器指向目标寄存器。,控制函数是一个逻辑函数表达式,包括定时信号和状态信号两部分内容。其中状态信号为任选项,定时信号有时也可

7、以省略。冒号表示控制函数的结束,若在一个时钟周期内须完成多个传送操作时,可用并行传送语句。各并行操作间用逗号分隔。如: P1:AB,P2:CD 无条件转移语句: T1:AB,TlT5 该语句表示在时间变量T1的激励下,执行完AB后,无条件地转入执行T5。,条件转移语句: T1S:AB,T1T5 :T1T5 该语句表示若S=1,则先执行AB,再执行T1T5;若S1,则执行下一条语句即S=0,由T1直接转移到执行T5语句。,2. 算术操作 基本的算术操作是加减运算。 加法语句: AA+B 减法语句: AA-B,3. 逻辑操作 逻辑操作是两个寄存器对应位之间的逻辑运算,它包括:与、或、非、同或、异或

8、等。 与运算: F 或运算: F 非运算: F,同或运算: FAB 异或运算: FAB 由于控制函数中不包括加、减运算,因此在控制函数中,仍用“”和“+”来表示与、或运算。例如:在语句 T1+T2:FA+B,N 中,T1和T2之间的“+”表示或运算,A和B之间的“+”表示加运算,C和D之间的“”表示与运算。,4. 移位操作 移位操作实际上是寄存器的传输操作,数据可通过每次移动一位串行移入、移出寄存器。移位后,寄存器内容被更新。移位操作分为左移和右移两种。 左移语句: ASLA 右移语句: ASRA,3.2.2 算法状态机图(ASM图) 数字系统实现一个计算任务,采取操作序列的形式。操作序列有两

9、个重要特性: 操作按特定的时间顺序进行,即通过多步计算,一步一步地完成一个计算任务; 实现操作取决于某一判断,即根据数据处理器发出的状态变量决定计算的下一个步骤。 在数字系统中,外输入和状态变量较多,这必然导致状态转换表很复杂,用传统的时序电路设计方法设计控制器会相当麻烦。,ASM图(Algorithmic State Machine Chart)是硬件算法的符号表示方法,可方便地表示数字系统的时序操作。ASM图不同于算法流程,它是一种时钟驱动的流程图。,1. ASM图的符号 ASM图由三个基本符号组成:状态框、判断框和条件输出框。 1) 状态框 状态框用一个矩形框表示,状态框内定义在此状态实

10、现的寄存器传输操作和输出。状态框的左上角标明状态的名称,右上角标明分配给该状态的二进制码,如图3.2所示。,图3.2 状态框,2) 判断框 判断框又称为条件分支框,用一个菱形框表示,如图3.3所示。框中内容是被检验的判别变量和判别条件。其中的判别变量可以是状态变量,可以是外输入变量,也可以是外输入变量;变量的个数可以是一个,也可以是多个;变量的作用可以同等重要,也可以有优先级顺序。,图3.3 判断框,3) 条件输出框 条件输出框用一个圆角矩形框表示,如图3.4所示。条件输出框的输入必定与判断框的某一分支的输出相连。条件输出框内所规定的操作是在与其输入相连的判断框内的判断条件满足的情况下才发生的

11、。因此,条件输出框的独特之处在于:条件输出框中所规定的操作必须在条件满足时才进行。,图3.4 条件输出框,2. ASM块 ASM图具有时间序列。ASM图状态由现态转到次态的这种状态改变是在时钟信号的控制下实现的。一个ASM图可以由若干个ASM块组成。一个ASM块表示一个时钟周期内的系统状态。仅含一个状态框的ASM块是一个简单块,如图3.5(a)所示。每个ASM块必定包含一个且只允许包含一个状态框,与此状态框相连的若干个判断框和条件输出框也属于该ASM块,如图3.5(b)中的虚线框所示。,图3.5 ASM块,ASM图类似于状态转移图:一个ASM块相当于状态转移图中的一个状态;判断框内的信息相当于

12、状态转移图定向线旁边标定的二进制信息。但是ASM图又不同于状态转移图,这是因为在状态转移图中无法表示有条件操作和无条件操作;而ASM图中的每一个ASM块都在状态框和条件输出框内列出了一个时钟脉冲周期应实现的操作,这些操作均在数字处理器中完成,状态的变化则在控制器中实现。因此,状态转移图只能定义一个数字系统的局部,而ASM图则定义了整个数字系统。,3. ASM图的建立 一般的算法流程图和ASM图之间的主要差别在于:前者是事件驱动的,即一般算法流程图的操作是一个接着一个发生的;而ASM图是时间驱动的,一个ASM块中的各个操作和从一种状态到另一种状态的转换均发生在时钟的同一个边沿。流程图告诉我们,为

13、完成一个计算任务应做哪些判断和操作以及判断和操作的先后次序。如何根据已经得到的算法流程图求得ASM图表,关键是安排状态。安排状态有三个原则:,原则1:必须用状态来分开不能同时实现的寄存器传输操作。 原则2:判断如受寄存器操作的影响,则应在它们之间安排一个状态。 原则3:在算法的起始点安排一个状态。 根据以上原则,算法流程图能够转换成ASM图表。,3.2.3 备有记忆文档的状态图(MDS) 备有记忆文档的状态图MDS(Memonic Documented Diagrams),又称为助记状态图。它是1980年由美国人William Fletcher 提出的一种系统设计方法。MDS图可以描述出整个数

14、字系统的逻辑关系,并且与硬件有良好的对应关系。MDS图可以清楚地反映出所要设计部分的电路应提供的状态数、各个状态之间的转换必须符合的条件以及在状态转换时需要哪些输入信号、何时产生输出信号、输出信号的输出方式等,以便设计者依照MDS图方便地设计出符合数字系统要求的逻辑电路。,MDS图用圆圈表示状态,圆圈内的符号表示状态名称,圆圈外的符号或者逻辑表达式表示输出。MDS图用定向线表示状态转换方向,定向线旁的符号或者逻辑表达式表示状态转换条件。,ASM图可以作为系统方案的最终结果来直接设计电路,也可以作为阶段性成果,转换成设计MDS图的控制器。由ASM图导出MDS图应遵循的原则有: (1) ASM图的

15、一个状态框对应于MDS的一个状态框。两个状态框之间只允许存在一个异步输入信号。 (2) ASM图的判断框对应MDS图中的分支,其中判断变量是转换条件或分支条件的一部分或全部。两个状态框之间只允许有一个分支。 (3) ASM图中的条件输出和MDS图中的条件输出相对应。条件输出信号标注在当前状态框旁边。 (4) ASM图条件输出框中的信息就是MDS图中对应的状态输出。,3.3 数字系统设计实例,3.3.1 设计任务 1. 题目 设计一个主要街道(干道)和次要街道(支路)交叉口处的交通信号灯控制电路。,2. 要求、功能与指标 (1) 一般情况下,干道保持畅通,亮绿灯;支道亮红灯。 (2) 若干道无车

16、,支道有车,则支道允许通行,干道亮红灯,支道亮绿灯。 (3) 若干、支道均有车要求通行,则两者应交替通行。设每次各通行16 s。 (4) 每次绿灯变至红灯时,黄灯应先亮4 s,以保证原通行方向上的车有足够的时间停在停车线内。,3.3.2 设计过程 1. 系统的工作流程图 根据要求,可以对电路的工作过程作以下的描述: (1) 通常情况下,若干、支道均无车要求通行,则应保证干道绿灯亮,支道红灯亮;若干道无车要求通行而支道有车辆要求通行,则应允许支道车辆通行;若干、支道均有车要求通行,则应保证干道通行16 s后,才允许支道通行。 (2) 在允许支道车辆通行前,应使干道黄灯亮4 s,支道红灯维持。4 s后,才转变为干道红灯亮,支道绿灯亮。,(3) 在支道保持畅通时,若干道无车,则始终保持;若此时支道无车,则应立即准备使干道通车,支道禁止通行,如果此时干道有车辆要求通行,且支道已经通行超过16 s,则应准备使干道通行。 (4) 在允许干道通行前,应使支道黄灯亮4 s,干道红灯维持。4 s后,转而使干道绿灯亮,支

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

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

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