《数字电路与系统设计 》课件第7章.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《数字电路与系统设计 》课件第7章.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字电路与系统设计 数字电路与系统设计 课件第7章 数字电路 系统 设计 课件
- 资源描述:
-
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
展开阅读全文