欢迎来到163文库! | 帮助中心 精品课件PPT、教案、教学设计、试题试卷、教学素材分享与下载!
163文库
全部分类
  • 办公、行业>
  • 幼教>
  • 小学>
  • 初中>
  • 高中>
  • 中职>
  • 大学>
  • 各类题库>
  • ImageVerifierCode 换一换
    首页 163文库 > 资源分类 > PPT文档下载
    分享到微信 分享到微博 分享到QQ空间

    《数字电路与系统设计 》课件第7章.ppt

    • 文档编号:8102679       资源大小:1.43MB        全文页数:137页
    • 资源格式: PPT        下载积分:15文币     交易提醒:下载本文档,15文币将自动转入上传用户(momomo)的账号。
    微信登录下载
    快捷注册下载 游客一键下载
    账号登录下载
    二维码
    微信扫一扫登录
    下载资源需要15文币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    优惠套餐(点此详情)
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、试题类文档,标题没说有答案的,则无答案。带答案试题资料的主观题可能无答案。PPT文档的音视频可能无法播放。请谨慎下单,否则不予退换。
    3、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者搜狗浏览器、谷歌浏览器下载即可。。

    《数字电路与系统设计 》课件第7章.ppt

    1、第7章 数字系统设计7.1 数字系统设计概述数字系统设计概述7.2 控制子系统的设计工具控制子系统的设计工具7.3 控制子系统的实现方法控制子系统的实现方法7.4 数字系统设计举例数字系统设计举例 7.1 数字系统设计概述数字系统设计概述 1.什么是数字系统什么是数字系统 在数字电子技术领域内,由各种逻辑器件构成的能够实现某种单一特定功能的电路称为功能部件级电路,例如前面各章介绍的加法器、比较器、译码器、数据选择器、计数器、移位寄存器、存储器等就是典型的功能部件级电路,它们只能完成加法运算、数据比较、译码、数据选择、计数、移位寄存、数据存储等单一功能。而由若干数字电路和逻辑部件构成的、能够实现

    2、数据存储、传送和处理等复杂功能的数字设备,则称为数字系统(Digital System)。电子计算机就是一个典型的复杂数字系统。2.数字系统的一般结构数字系统的一般结构 按照现代数字系统设计理论,任何数字系统都可按计算机结构原理从逻辑上划分为数据子系统(Data Subsystem)和控制子系统(Control Subsystem)两个部分,如图7-1所示。图图 7-1 数字系统的一般结构数字系统的一般结构 数据子系统是数字系统的数据存储与处理单元,数据的存储、传送和处理均在数据子系统中进行。它从控制子系统接收控制信息,并把处理过程中产生的状态信息提供给控制子系统。由于它主要完成数据处理功能且

    3、受控制器控制,因此也常常把它叫做数据处理器或受控单元。控制子系统习惯上称为控制器或控制单元,它是数字系统的核心。数据子系统只能决定数字系统能完成哪些操作,至于什么时候完成何种操作则完全取决于控制子系统。控制子系统根据外部控制信号决定系统是否启动工作,根据数据子系统提供的状态信息决定数据子系统下一步将完成何种操作,并发出相应的控制信号控制数据子系统实现这种操作。控制子系统控制数字系统的整个操作进程。由此不难看出,在这种结构下,有无控制器就成为区分系统级设备和功能部件级电路的一个重要标志。凡是有控制器且能按照一定程序进行操作的,不管其规模大小,均称为数字系统;凡是没有控制器、不能按照一定程序进行操

    4、作的,不论其规模多大,均不能作为一个独立的数字系统来对待,至多只能算一个子系统。例如数字密码锁,虽然仅由几片MSI器件构成,但因其中有控制电路,所以应该称之为数字系统。而大容量存储器,尽管其规模很大,存储容量可达数兆字节,但因其功能单一、无控制器,只能称之为功能部件而不能称为系统。7.1.2 数字系统设计的一般过程数字系统设计的一般过程图 7-2 数字系统设计过程 1.系统调研,系统调研,确定总体方案确定总体方案 接受一个数字系统的设计任务后,首先应对设计课题进行充分的调研,深入了解待设计系统的功能、使用环境与使用要求,选取合适的工作原理与实现方法,确定系统设计的总体方案。这是整个设计工作中最

    5、为困难也最体现设计者创意的一个环节。因为同一功能的系统有多种工作原理和实现方法可供选择,方案的优劣直接关系到所设计的整个数字系统的质量,所以必须对可以采用的实现原理、方法的优缺点进行全面、综合的比较、评判,慎重地加以选择。总的原则是,所选择的方案既要能满足系统的要求,又要结构简单,实现方便,具有较高的性能价格比。2.逻辑划分,导出系统框图逻辑划分,导出系统框图 系统总体方案确定以后,可以根据数据子系统和控制子系统各自的功能特点,将系统从逻辑上划分为数据子系统和控制子系统两部分,导出包含有必要的数据信息、控制信息和状态信息的结构框图。逻辑划分的原则是,怎样更有利于实现系统的工作原理,就怎样进行逻

    6、辑划分。为了不使这一步的工作太过复杂,结构框图中的各个逻辑模块可以比较笼统、比较抽象,不必受具体芯片型号的约束。3.功能分解,功能分解,构造数据子系统构造数据子系统 逻辑功能划分后获得的数据子系统结构框图中的各个模块还比较抽象,功能也可能还比较复杂,必须进一步对这些模块进行功能分解,直到可用合适的芯片或模块来实现具体的存储和处理功能。适当连接这些芯片、模块,就可构造出数据子系统的详细结构。必须注意,为了简化控制子系统的设计,数据子系统不仅要结构简单、清晰,而且要便于控制。4.算法设计,算法设计,实现控制子系统实现控制子系统 根据导出的数据子系统结构,编制出数字系统的控制算法,得到数字系统的控制

    7、状态图,并采用同步时序电路设计的方法完成控制子系统的设计。数字系统的控制算法反映了数字系统中控制子系统对数据子系统的控制过程,它与系统所采用的数据子系统的结构密切相关。例如,某个数字系统中有10次乘法操作,且参与乘法操作的数据可以同时提供。如果数据子系统有10个乘法器,则控制算法中就可以让这10次乘法操作同时完成;但如果数据子系统中只有一个乘法器,则控制算法就只能是逐个完成这10次乘法操作。因此,算法设计要紧密结合数据子系统的结构来进行。一般来讲,数据子系统通常为人们熟悉的各种功能电路,无论是采用现成模块还是自行设计,都有一些固定的方法可循,不用花费太多精力。相对说来,控制子系统的设计要复杂得

    8、多。因此,人们往往认为数字系统设计的主要任务就是要设计一个好的控制子系统。经过上述四个步骤后,数字系统设计在理论上已经完成。为了保证系统设计的正确性和可靠性,如果有条件的话,可以先采用EDA软件对所设计的系统进行仿真,然后再用具体器件搭设电路。搭设电路时,一般按自底向上的顺序进行。这样做,不仅有利于单个电路的调试,而且也有利于整个系统的联调。因此,严格地讲,数字系统设计的完整过程应该是“自顶向下设计,自底向上集成”。必须指出,数字系统的上述设计过程主要是针对采用标准集成电路的系统而言的。实际上,除了采用标准集成电路外,还可以采用PLD器件或微机系统来实现数字系统,此时的设计过程会略有不同。例如

    9、采用PLD器件设计数字系统时,就没有必要将系统结构分解为一些市场上可以找到的基本模块;在编写出源文件并编译仿真后,通过“下载”就可获得要设计的系统或子系统。7.1.3 数字系统的总体方案与逻辑划分数字系统的总体方案与逻辑划分 1.数字系统的总体方案数字系统的总体方案 数字系统总体方案的优劣直接关系到整个数字系统的质量与性能,需要根据系统的功能要求、使用要求及性能价格比周密思考后确定。下面通过两个具体实例进行说明。【例7-1】某数字系统用于统计串行输入的n位二元序列X中“1”的个数,试确定其系统方案。解解 该数字系统的功能用软件实现最为方便,但此处仅讨论硬件实现问题。该系统看起来非常简单,但却无

    10、法用前面介绍的同步时序电路设计方法进行设计。因为无论从接收序列的可能组合数还是从收到“1”的个数来假设状态,其状态图或状态表都十分庞大。如果从接收序列的可能组合数来假设状态,则需要2n个状态;如果从当前接收到“1”的个数来假设状态,也需要n+1个状态。例如,n=255时,分别需要设2255和256个状态,这样的设计规模是无法想象的。由此可见,时序电路的设计方法的确不适用于数字系统设计。如果换一种思路,从实现“1”的统计功能所需要的操作入手,问题就可以迎刃而解。因为从实现“1”的统计功能所需要的操作来看,只需要这样几种操作:一是对X的数位进行累计;二是对接收到的X进行是0还是1的判断;三是当X=

    11、1时使“1”数计数器加1计数;四是判断X的全部数位是否统计完毕,如果统计完毕,工作即告结束。具体统计过程与软件实现完全相同,即每接收1位X,就判断一下该位是0还是1,如果X为0,“1”数计数器维持原态;如果X为1,则“1”数计数器加1,且每接收1位,位数计数器加1。待n位X的各位全部判断、计数后,“1”数计数器的值就是X中“1”的个数。从实现的角度看,这种方案需要1个控制器来控制整个统计过程。而为了实现统计功能,该方案至少还需要两个模n+1的计数器CTR1和CTR2。其中CTR1称为“1”数,计数器用于累计X中“1”的个数,另一个用于累计X的接收位数。【例7-2】某数字系统用于7阶多项式求值:

    12、707)(iiixpxP试确定该系统的总体方案。解解 P7(x)=p7x7+p6x6+p5x5+p4x4+p3x3+p2x2+p1x+p0实现该多项式求值,可用的方案较多,此处给出其中的3种方案。方案方案1:直接按上式计算多项式的值,则需要6个能计算xi的运算部件、7个能够计算pixi的乘法器及7个加法器。该方案的优点是速度快,但硬件成本太高。因为仅实现xi运算的硬件成本就非常高。而且,如果采用该方案求值,没有、也不需要控制器,因此不能称为数字系统。方案方案2:将该多项式分解为ax+b形式的多个子计算,依次进行计算:P7(x)=(p7x+p6)x+p5)x+p4)x+p3)x+p2)x+p1)

    13、x+p0即首先计算p7x+p6,然后计算(p7x+p6)x+p5,最后计算得到P7(x)。该方案每次仅完成1个ax+b的运算,共需7次计算才能求得P7(x)的值,运行时间较长,但硬件成本很低。如果不计存储器和用于循环次数控制的计数器、比较器,则该方案仅需要1个乘法器和1个加法器。这种分解方法称为何纳(Horner)算法。方案3:将该多项式分解为ax+b和x2形式的子计算,一次可同时进行几个计算:P7(x)=x4x2(p7x+p6)+(p5x+p4)+x2(p3x+p2)+(p1x+p0)设A=x2=xx,B=(p1x+p0),C=(p3x+p2),D=(p5x+p4),E=(p7x+p6),F

    14、=x4=AA,则第1次首先并行计算A、B、C、D、E 5个子计算,第2次并行计算F、AC+B=G、AE+D=H等子计算,第3次通过计算FH+G就可得到P7(x)。如果不计存储器,该方案需要5个乘法器和4个加法器,硬件成本稍高,但运行时间很短。这种分解方法称为埃士纯(Estrin)算法。2 .数字系统的逻辑划分数字系统的逻辑划分 由于数据子系统和控制子系统的功能不同,因此,数字系统的逻辑划分并不太困难。凡是有关存储、处理功能的部分,一律纳入数据子系统;凡是有关控制功能的部分,一律纳入控制子系统。逻辑划分后,就可以根据功能需要画出整个系统的结构框图。【例7-3】对例7-1中描述的统计串行输入的n位

    15、二元序列X中“1”的个数的数字系统进行逻辑划分,导出其系统结构框图,并简述其工作过程。解解 例7-1中,已经确定了该系统的总体方案。根据数据子系统和控制子系统的特点,用于统计X中“1”的个数的模n+1计数器(称为“1”数计数器)和用于记忆X的接收位数的模n+1计数器(称为位数计数器)都属于计数操作功能,应该纳入到数据子系统中;“1”数计数器和位数计数器所需要的加1控制信号由控制器产生,位数计数器的输出Q作为反映X接收位数的状态信号提供给控制器。而X是0还是1的判断可以直接在控制器中完成,不必用比较器实现;统计过程是否结束,由控制器根据位数计数器提供的状态信号来决定。据此得到该系统的结构框图如图

    16、7-3所示。图中,st是为便于操作而设的一个脉冲型启动信号P1为“1”数计数器的计数使能信号,P2为位数计数器的计数使能信号,S为位数计数器提供给控制器的状态信号,均为高电平有效;CLR为两个计数器的异步清0信号,低电平有效。为了保证系统协调工作,要求计数器的时钟触发边沿与控制器的相反。图 7-3 “1”数统计系统结构框图该系统的工作过程大致如下:系统加电时,处于等待状态,即当st=0时,系统不工作;当st=1时,系统启动工作,控制器输出done无效,CLR、P1、P2有效,两个计数器清0。工作过程中,CLR无效,输入X与系统时钟CP同步。每来一个CP脉冲,位数计数器状态加1(使能信号P2有效

    17、);同时,控制器根据接收到的X是0还是1,决定是否使“1”数计数器状态加1(使能信号P1有效)。当X输入、统计完成时,位数计数器输出状态S使控制器停止统计过程,并使输出状态信号done有效,告知使用者此时“1”数计数器的输出有效。如果此时控制器转入等待状态,则每来一个st脉冲就可以完成一次“1”数统计工作。【例7-4】假设例7-2中描述的7阶多项式求值数字系统采用方案2,试对该数字系统进行逻辑划分,导出其系统结构框图,并简述其工作过程。解解 方案2将7阶多项式P7(x)分解为ax+b形式的多个子计算,依次进行计算。显然,实现ax+b计算,a、b选择和循环控制的电路部分应该属于数据子系统,而完成

    18、这些计算和选择功能所需的控制部分应该属于控制子系统。为了便于理解,此处给出带有较详细的数据子系统结构的系统结构框图,如图74所示。其中,MUL为乘法器,为加法器,MUX为数据选择器,CTR为循环次数计数器,R为寄存器。st为启动信号,done为操作状态输出信号,Q为CTR的状态信号,L为寄存器R的寄存使能信号,均为高电平有效;CLR为计数器CTR的清0信号,低电平有效;S为MUX1的数据选择信号,0选p7而1选R;MUX2在计数器为000110时,依次选取p6p0。图 7-4 7阶多项式求值系统结构框图该系统的大致工作过程如下:系统加电时,处于等待状态。当st=0时,系统不工作,控制器输出CL

    19、R=L=S=0,done=1,计数器CTR清0。当st=1时,系统启动工作,控制器输出done=S=0,CLR=1,MUX1选择P7,MUX2选择P6(计数器已清0);L=1,CP下降沿将p7x+p6的运算结果置入R寄存器中;下一个时钟到来时,计数器CTR加1。在接下来的工作过程中,数据子系统在控制器的控制下,L=S=CLR=1。MUX1选择R;依次选取相应的a、b,计算ax+b,并将计算结果置入R寄存器中。每计算1次ax+b,计数器加1。当计数器满7时,Q=1,计算结束,done有效,告知使用者,此时R寄存器的数值就是多项式P7(x)的计算结果。如果此时控制器转入等待状态,则每来一个st脉冲

    20、就计算1次多项式的值。【例7-5】某数字系统采用牛顿-拉夫申(Newton-Raphson)迭代算法计算a(1/2a1)的倒数1/a的近似值Z,误差要求为 aZ-1 e/2。牛顿-拉夫申迭代算法的迭代公式为Zi+1=Zi(2-aZi),迭代初值为Z0=1。试对该数字系统进行逻辑划分,画出结构框图。解解 从牛顿-拉夫申迭代算法的迭代公式可见,该系统需要进行Zi+1=Zi(2-aZi)的迭代运算和误差比较等操作。这类操作所需硬件应属于数据子系统范畴,而操作所需控制信号则由控制子系统产生。由此可得系统的结构框图如图75所示。图中,st为系统启动信号,CP为系统时钟脉冲,done为输出状态信号,k为误

    21、差比较输出状态信号。迭代结果Z满足误差要求时k=0,迭代结束,控制器输出done有效,告知使用者输出Z有效。图 7-5 计算1/a的数字系统结构框图 7.1.4 数据子系统的构造方法数据子系统的构造方法 1.数据子系统的组成数据子系统的组成 数据子系统的功能是实现数据的存储、传送和处理,通常由存储部件、运算(算子)部件、数据通路、控制点及条件组成。存储部件用来存储各种数据,包括初始数据、中间数据和处理结果,常用触发器(寄存器)、计数器和随机存取存储器(RAM)来作存储部件。运算部件用来对二进制数据进行变换和处理,常用的组合运算部件有加法器、减法器、乘法器、除法器、比较器等,常用的时序运算部件有

    22、计数器和移位寄存器等。数据通路用来连接系统中的存储器、运算部件以及其它部件,常用导线和数据选择器等来实现。控制点是数据子系统中接收控制信号的组件输入点,控制信号通过它们实现运算部件操作、数据通路选择以及寄存器的置数等控制操作。以集成触发器为例,其时钟输入端和异步清0、置1端均可作为控制点。条件是数据子系统输出的一部分,控制子系统利用它来决定条件控制信号或别的操作序列。条件可以看作数据子系统提供给控制子系统的操作状态信息。2.数据子系统的构造方法数据子系统的构造方法 数据子系统一旦分离出来,接下来要做的工作就是如何选用适当的基本模块构造出数据子系统的实际结构。这里仍以前面介绍的两个数字系统为例介

    23、绍数据子系统的构造方法。【例7-6】构造例7-3中的“1”数统计系统的数据子系统。解解“1”数统计系统的数据子系统较为简单,只要选取合适的计数器即可实现。假设二元序列X的长度为255位,则用4位二进制同步可预置加法计数器74161构成的数据子系统如图76所示,CLR要求低电平有效。其中,741611和741612构成模256的“1”数计数器,741613和741614构成模256的位数计数器。741614的进位输出CO即为位数计数器向控制器提供的状态信息S。当741614的进位输出CO为1时,表示X的各位统计完毕,控制器输出P1=P2=0,使计数器停止计数;同时输出状态信号done有效,表示“

    24、1”数统计完毕,“1”数计数器的输出数据有效。从图中可见,控制器在CP上升沿产生控制信号,两个计数器在CP的下降沿对控制信号作出响应。图 7-6 “1”数统计系统的数据子系统结构 【例7-7】构造例7-5中采用牛顿-拉夫申迭代算法Zi+1=Zi(2-aZi)计算1/a的近似值Z的数据子系统。解解 从牛顿-拉夫申迭代算法可见,算法本身每迭代一轮有两次乘法、一次减法,而误差比较时也有一次乘法、一次减法以及一次比较。误差比较的乘法与迭代时的一次乘法相同,共用一次乘法。这样,仅需两次乘法、两次减法和一次比较。由于乘法器代价较高,因此采用一个乘法器外加一个数据选择器(数据选择器用来选择乘数)来完成两次乘

    25、法运算。另外,还需采用几个寄存器来寄存初值和迭代结果:A寄存器寄存a,E寄存器寄存误差值e/2,Z寄存器寄存结果Z,W寄存器寄存中间结果aZi,Y寄存器寄存2-aZi。这样,数据子系统所需硬件如下:存储部件:A寄存器,1个,寄存a E寄存器,1个,寄存e/2 W寄存器,1个,寄存aZi Y寄存器,1个,寄存2-aZi Z寄存器,1个,寄存结果Z及中间迭代结果Zi+1 运算部件:MUL乘法器,1个 SUB减法器,2个,分别用于计算2-aZi和|aZi-1|COMP比较器,1个,完成误差比较数据通路:数据通路:MUX数据选择器,2个,分别用于选择Z寄存器和乘法器的输入参数控制点(控制信号):C1A

    26、a,将a置入寄存器A中 C2Z输入参数选择,0选初值“1”,1选Zi+1 C3ZMUX1,与C2配合将“1”或一轮迭代结果Zi+1置入寄存器Z中 C4MUL的输入参数选择,0选A,1选Y C5Ee/2,将e/2置入寄存器E中 C6WaZi,将aZi置入寄存器W中 C7-Y2-aZi,将2-aZi置入寄存器Y中条件:k误差比较结果,满足误差要求时,k=0 st系统启动信号,st=1表示系统启动 由此可得计算1/a近似值Z的一种数据子系统结构如图77所示。该数据子系统虽然比较复杂,但图中每一个小方框所对应的逻辑部件都不难找到,这里就不再描述用具体器件实现时的数据子系统结构了。不过需要指出的是,图中

    27、的减法器SUB2要求实现|aZi-1|的功能,即不仅要完成减法运算,而且还要能取绝对值,这与减法器SUB1有所不同。图 7-7 计算1/a近似值的数据子系统7.2 控制子系统的设计工具控制子系统的设计工具 7.2.1 ASM图图 ASM图是算法状态机图(Algorithmic State Machine Chart)的简称,是一种用来描述时序数字系统控制过程的算法流程图,其结构形式与计算机中的程序流程图非常相似。算法状态机本质上是一个有限状态机(Finite State Machine)。有限状态机也称有限自动机或时序机,是一个抽象的数学模型,主要用来描述同步时序系统的操作特性。时序机理论不仅

    28、在数字系统设计和计算机科学中得到应用,而且在社会、经济、系统规划等学科领域也有着非常广泛的应用。1.ASM图的基本符号和结构图的基本符号和结构 ASM图由状态块(State Box)、判别块(Decision Box)、条件输出块(Conditional Output Box)和输入、输出路径(Entry or Exit Path)构成。输入、输出路径实际上就是一些带箭头的向线,由它们把状态块、判别块和条件输出块有机地连接起来,构成完整的ASM图。状态块为矩形框,代表ASM图的一个状态。状态的名称及编码分别标在状态块的左、右上角(也可只标状态或编码),块内列出该状态下数据子系统进行的操作及控制

    29、器为实现这种操作而产生的控制信号输出(如果无数据操作和控制输出,状态块内为空白),如图7-8所示。该状态块表明,当电路处于S5(编码为101)状态时,数据子系统应将X Y的结果置入P寄存器中;为了实现这一操作,控制器应发出C5控制信号,且为高电平。有时为了简便,状态块内也可只列出控制信号而省略数据操作。图 7-8 状态块 判别块为菱形框,用来表示ASM图的状态分支。判别块内列出判别条件,判别块的出口处列出满足的条件,如图7-9所示。该图说明此处的判别条件是XY,当XY=00时,电路转向S2状态;当XY=01时,电路转向S1状态;当XY=1时,电路转向S4状态。图 7-9 判别块图 7-10 条

    30、件输出块A0C1101S110S2X1?NYSRLA 条件输出块为椭圆状或两端为圆弧线的框,用来表示ASM图的条件输出。条件输出块总是位于满足状态分支条件的支路上,当满足该分支条件时,立即执行条件输出块中规定的操作(这与状态块中的操作明显不同)。例如,图7-10中,SRLA即为一个条件输出块。当X=0时,电路将转向S1状态;而当X=1时,将立即执行该条件输出块中规定的SRLA操作(将寄存器A的内容右移1位),然后转向S2状态。电路状态的转换是在系统时钟脉冲CP的控制下进行的。当无CP脉冲到来时,系统将维持现在的状态不变。2.ASM图应用举例图应用举例 【例7-8】导出例7-3中的“1”数统计系

    31、统控制器的ASM图。解解 例7-6中已经导出了“1”数统计系统的数据子系统结构。为了适应74163的需要,清0控制信号CLR必须为低电平有效,计数时钟信号CP1和CP2必须为脉冲信号。根据前面确定的系统方案,得到该系统控制器的ASM图如图7-11所示。从图中可见,ASM图的确与程序流程图非常相似。图7-11“1”数统计系统控制器ASM图系统的控制过程可以从ASM图中一目了然。加电时,系统处于S0状态,done=1,表示系统尚未开始计数工作或一次计数工作已经完成(此时“1”数计数器的输出数据有效),等待启动。如果启动信号st=0,继续等待;如果st=1,则CLR=0,将位数计数器和“1”数计数器

    32、清0,并在时钟信号CP上升沿到来时进入S1状态,系统启动工作。在S1状态,系统控制器输出CLR=1,done=0,表明计数器不处于清0状态,且系统正在统计,“1”数计数器的输出数据无效。如果此时S=0,说明统计尚未完成,输出P2=1,使CP脉冲下降沿到来时位数计数器加1;若X=1,输出P1=1,使CP脉冲下降沿到来时“1”数计数器也加1。如果此时S=1,说明统计已经结束,CP脉冲上升沿到来时系统将转入S0状态,以便等待下一次启动。【例7-9】导出例7-4中的7阶多项式求值系统控制器的ASM图。解解 图7-4中已经导出了7阶多项式求值系统的结构框图,为了便于对ASM图的理解,此处对数据子系统部分

    33、进行适当细化、修改,细化、修改后的系统结构框图如图7-12所示。修改部分说明,数据子系统的结构形式可以多种多样。由于CTR采用了74161,所以CLR 为低电平有效。因为数据位数较多,图中的MUX实际需要多个数据选择器才能实现。数据子系统的所有模块均可找到合适的芯片,为了保持电路简洁,此处不给出实际的电路连接图。图 7-12 7阶多项式求值系统的结构框图根据前面所定方案和图712所示结构框图,导出该系统控制器的ASM图,如图713所示。加电时,系统处于S0状态。控制器发出控制信号CLR=S=L=0,74161清0,MUX1选择p7,寄存器R停止置数;done=1,表示系统等待启动。如果启动信号

    34、st=0,系统继续在S0状态等待;如果st=1,则在下一个CP脉冲上升沿转入S1状态。在S1状态,控制器发出控制信号CLR=1,为下一个CP脉冲到来时计数器74161计数作好准备;当S=0,L=1,CP下降沿到来时将p7存入R寄存器中;done=0,表示系统已经启动且正在计算,寄存器R中的数据无效。图 7-13 7阶多项式求值系统控制器的ASM图在S2状态,CLR=1,计数器CTR处于计数状态,74161在CP上升沿状态加1;S=L=1,MUX1选择加法器输出,并在CP下降沿将ax+b的计算结果存入R寄存器中;done=0,表示系统已经启动且正在计算,寄存器R中的数据无效。如果此时Q=0,说明

    35、尚未计算结束,系统将在S2状态等待,继续计算过程。如果此时Q=1,即计数器CTR已经进入111状态,说明计算已经结束,下一个CP脉冲上升沿到来时系统转入S0状态,将计数器CTR清0;同时使操作状态信号done=1,表示计算已经结束,等待下一次启动,寄存器R中的数据有效。7.2.2 分组分组-按序算法语言按序算法语言 与ASM图用图形方式描述时序系统控制算法不同,算法语言是用语言文件方式描述数字系统的控制算法。常用的算法语言有RTL(Register Transfer Language)、VHDL语言(VHSIC Hardware Description Language)和分组-按序算法语言(

    36、GroupSequential Algorithms Language),它们都属于硬件描述语言。硬件描述语言HDL(Hardware Description Language)是一种能够描述硬件电路的功能、信号连接关系及定时关系的语言,它能比电路原理图更好地描述硬件电路的特性。利用算法语言设计数字系统,其过程类似于程序设计。与VHDL 语言和RTL语言相比,分组-按序算法语言具有以下优点:语法简单,语义明了,非常便于理解和使用;在实现层次上用该语言描述的算法,可用硬件或微程序直接实现,非常便于系统功能的实现;设计过程类似程序设计,稍具程序设计知识的人即可用它设计数字系统;采用这种算法设计的数

    37、字系统,运行速度较高,硬件成本较低,具有较高的性能价格比。1.分组分组-按序算法语言简介按序算法语言简介 分组-按序算法语言简称GSAL,它与RTL非常接近。所谓分组-按序算法,是指包括很多子计算且子计算被分成许多组,执行时组内并行、组间按序的算法,如图7-14所示。图中椭圆框中的每个小圆圈表示一个子计算,每个椭圆框中的子计算为一组。一个时间节拍系统只计算一组子计算,下一个时间节拍才按照顺序计算下一组子计算。图 7-14 分组-按序算法 数字系统的大多数算法都属于分组-按序算法。例如前面介绍的“1”数统计系统和7阶多项式求值系统中ASM图描述的控制算法,都是分组-按序算法。分组-按序算法语言通

    38、常包括数据集、函数、指定、语句结构、模块化结构以及注释等。实现层次的数据集只能是比特矢量,而采用模块化结构只是为了便于算法的扩展。1)函数 函数也称算子,其抽象符号为OP。它是数据子系统中的数据处理模块,可能是组合的,也可能是时序的。例如,“比较”算子是组合的,而“移位”算子就是时序的。算子有一般函数和条件选择函数之分。一般函数:常用大写字母串命名,例如ADD(X,Y)就是一个“加法”算子,如果其输出为Z,则可记为 Z:=ADD(X,Y)(7-1)其中,ADD(X,Y):=X+Y。符号“:=”用于说明或再命名。条件选择函数:它的功能是根据条件的真假从可能的输出集合中选择一个输出,其语言结构为

    39、A if a|B if b|C if c(7-2)此处,A、B、C为输出集中的元素,a、b、c为相应的条件,|为选择符。该式的含义是:如果条件 a为真,则输出为A;如果条件b为真,则输出为B;如果条件c为真,则输出为C。一般情况下,每次至多只有一个条件为真(取值为1)。当所有条件均为假时,函数值未定义。条件选择函数可用逻辑门或数据选择器实现。四选一数据选择器的功能可以用条件选择函数描述如下:013012011010|AAifDAAifDAAifDAAifD 2)指定 指定也称赋值,其功能就是将源值S赋给目标D,需要由寄存器传送来实现。指定有无条件指定和条件指定之分。无条件指定:就是指这种指定的

    40、执行是无条件的,其语言结构为 DS(7-3)无条件指定的实现结构如图7-15(a)所示,图中L为置数使能输入端,高电平有效。允许AA+B这样的指定,意为 A(tn+1)=A(tn)+B(tn)。条件指定:就是指这种指定的执行是有条件的。它有两种语言结构if c then DS if c then D1S1 else D2S2 它们的实现结构分别如图7-15(b)和图7-15(c)所示。假定寄存器置数控制L高电平有效。(7-4)(7-5)图 7-15 指定的实现结构(a)无条件指定;(b)条件指定1;(c)条件指定2 3)语句结构 语句是算法的最小执行单位,是描述可同时实现的一组指定的语言结构,

    41、其格式为 标号:指定1指定2 指定n;标号是由字符串构成的语句标识,以冒号为结束标志。语句的标号可有可无。为各指定的间隔符(注意与条件选择函数的选择符|的区别),表示一种并列关系,与顺序无关。分号表示语句的结束。在实现层次上,语句既可用硬件(Hardware)实现,又可用微程序(microprogram)实现。用硬件实现时,语句的标号用状态名表示;用微程序实现时,语句的标号用控制存储器中微指令的地址表示。语句有显式和隐式两种执行顺序。在显式顺序中,每条语句包含将要执行的下一条语句的标号,该标号作为语句的一部分列于全部指定之后,用右向箭头及标号表示 指定标号;(7-7)由于这种方法中明显地给出了

    42、语句的执行顺序,因此称为显式顺序。显式顺序可以是有条件的,也可以是无条件的。【例7-10】下面是一段显式算法,假定条件a、b不可能同时为真:LP:WMUL(A,B)CHEC;CHEC:if c then AINC(A)SAB;SAB:YXOR(A,B)LP if ab|CHEC if ab|END if ab;END:ZADD(W,Y)ASUB(W,Y);通常,算法中的语句大多数是按照书写的先后顺序执行的,因此用不着像显式顺序那样,每条语句都给出将要执行的下一条语句的标号。所谓隐式顺序,就是一般情况下,各条语句的执行顺序隐含于语句的书写顺序中;当需要脱离隐式顺序时,采用条件转移。例如上例中的显

    43、式算法,采用隐式顺序时可改写如下:LP:WMUL(A,B);CHEC:if c then AINC(A);YXOR(A,B)LP if a|CHEC if b;END:ZADD(W,Y)ASUB(W,Y);在微程序实现中,常用这种隐式顺序,以便缩短微指令长度,减少存储器容量,降低成本。4)注释 注释用于对算法或语句的说明,以便阅读、检查。注释占用单独的行,且位于/*/之间。注释可有可无。2.分组分组-按序算法语言应用举例按序算法语言应用举例 【例7-11】编写“1”数求值系统的控制算法。解解 例7-6中已经导出了“1”数统计系统的数据子系统结构。根据前面确定的统计方法,得到其系统控制算法如下(

    44、每条语句后为解释性说明):WAIT:done=1WAIT if st;等待st启动脉冲。done=1为组合输出 CTR10CTR20;计数器清0CN:if X then CTR1CTR1+1CTR2CTR2+1CN if Q|WAIT if Q;如果X=1,“1”数计数器加1,否则保持。位数计数器加1,当Q=1时统计结束该控制算法并非惟一。例如,也可以采用下面的控制算法:WAIT:done=1WAIT if st;等待st启动脉冲 CTR10CTR20;计数器清0CN:if X then CTR1CTR1+1;若X=1,则“1”计数器加1 CTR2CTR2+1CN if Q|WAIT if Q

    45、;位数计数器加1,Q=1时统计结束 由于两条语句才能完成1次统计,因此X的输入频率应为控制器CP频率的一半。【例7-12】编写7阶多项式求值系统的控制算法。解解 图7-12中已经导出了7阶多项式求值系统的结构框图。其控制算法如下:WAIT:done=1CTR0WAIT if st;done=1,计数器清0,等待st启动脉冲 Rp7;将p7置入R寄存器中LOOP:CTRCTR+1;循环次数计数器加1Rax+bLOOP if WAIT if Q;将ax+b置入R寄存器中,Q=1时 统计结束 如果采用图7-4的数据子系统结构,控制算法可以修改如下:WAIT:done=1CTR0WAIT if st;

    46、done=1,计数器清0,等待st启动脉冲 Rp7x+p6;将p7x+p6置入R寄存器中LOOP:CTRCTR+1;循环次数计数器加1 Rax+bLOOP if Q WAIT if Q;将ax+b置入R寄存器中,Q=1时统计结束7.3 控制子系统的实现方法控制子系统的实现方法 实现控制子系统一般包括以下几个步骤:根据所采用的数据子系统结构,导出合适的系统控制算法(ASM图或算法文件);根据导出的系统控制算法,画出系统的控制状态图(也可省略这一步);采用同步时序电路的设计方法或微程序设计方法,实现控制子系统。7.3.1 硬件控制器的实现方法硬件控制器的实现方法 硬件控制器的实现方法与同步时序电路

    47、的设计方法并无多大差别。由于常常以MSI计数器或移位寄存器为核心进行设计,因此一般情况下,这种实现方法不需要对控制状态图进行化简。使用计数器进行设计时,状态编码要注意按照计数器的规律进行编码,尽量多使用MSI计数器的计数功能来实现控制器的状态转换;使用移位寄存器进行设计时,状态编码要注意按照移位寄存器的规律进行编码,尽量多使用MSI移位寄存器的移位功能来实现控制器的状态转换。【例713】用D触发器设计图711所示ASM图描述的“1”数统计系统控制器。解解根据图711所示ASM图,得到“1”数统计系统的控制状态图如图716所示。状态转换条件中,原变量表示1,反变量表示0,这与时序电路的状态图有些

    48、不同。在每个状态右侧的大括号内给出了相应状态下控制器的输出。由于只有两个状态,因此只需要一个D触发器。状态编码如下:S00,S11 由此得到D触发器的控制激励表,如表71所示。图 7-16 “1”数统计系统的控制状态图表表71D触发器的控制激励表触发器的控制激励表 有关激励和控制信号的表达式为SQPXSQPQdonestQCLRSQQD21st图 7-17 “1”数统计系统控制器电路【例714】例712给出了图712所示7阶多项式求值系统的控制算法,试以4位二进制同步可预置双向移位寄存器74194为核心,设计该系统控制器。解解将控制算法的每一条语句用一个状态表示,就可以得到系统的控制状态图,如

    49、图718所示。有关控制信号的定义如下:CLR:CTR0,低电平有效;S:MUX1选择,0选p7,1选加法器输出ax+b;L:RMUX1,高电平有效。图718 7阶多项式求值系统的控制状态图表表7-2 74194的控制激励表的控制激励表由于只有3个状态,因此只需要两位二进制编码。采用74194且使用右移方式时,只需使用QAQB即可。状态编码如下:S000,S110,S201 从表中可直接写出有关激励和控制输出表达式:BABBABABARB01QQLQSQQCLRQQdonestQQSQS0SQ图 7-19 7阶多项式求值系统控制器电路7.3.2 微程序控制器的实现方法微程序控制器的实现方法 在微

    50、程序控制器的实现方法中,控制算法中的每一条语句称为一条微指令(Micro-instrution),每条微指令中的一个基本操作称为微操作。一条微指令可有多个微操作,它们的编码即为微指令的操作码。描述一个算法的全部微指令的有序集合就称为微程序。微程序控制器实现方法的基本思想是:将反映系统控制过程的控制算法以微指令的形式存放在控制存储器中,然后一条条将它们取出并转化为系统的各种控制信号,从而实现预定的控制过程。这种实现方法称为微程序设计方法,用微程序方法设计的控制器称为微程序控制器。微程序控制器的基本结构如图7-20所示。由图中可见,在微程序控制器中,条件与现态(PS)作ROM的地址,次态(NS)与


    注意事项

    本文(《数字电路与系统设计 》课件第7章.ppt)为本站会员(momomo)主动上传,其收益全归该用户,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!




    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库