组合逻辑电路的设计方法.ppt

上传人:小飞机 文档编号:6014295 上传时间:2023-09-14 格式:PPT 页数:53 大小:1.76MB
返回 下载 相关 举报
组合逻辑电路的设计方法.ppt_第1页
第1页 / 共53页
组合逻辑电路的设计方法.ppt_第2页
第2页 / 共53页
组合逻辑电路的设计方法.ppt_第3页
第3页 / 共53页
组合逻辑电路的设计方法.ppt_第4页
第4页 / 共53页
组合逻辑电路的设计方法.ppt_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《组合逻辑电路的设计方法.ppt》由会员分享,可在线阅读,更多相关《组合逻辑电路的设计方法.ppt(53页珍藏版)》请在三一办公上搜索。

1、2023/9/14,1,学习要求:掌握组合逻辑电路设计的基本方法掌握常用的基本组合逻辑模块和用MSI器件进行组合逻辑设计的基本方法了解VHDL语言的基本特性,三种编程风格,初步学会使用VHDL,第3章 组合逻辑电路设计,2023/9/14,2,习题1,2,3,9,10,20,21,32,35,46,48.,第3章 组合逻辑电路设计(续),2023/9/14,3,功能描述(specification):如果没有现成的描述,则先要分析问题,得到一个符合要求的电路功能描述。形式化(formulation):根据功能描述推导出真值表或初始的布尔表达式,从而获得输入端与输出端的逻辑关系。优化(opimi

2、zation):采用两级或多级优化。画出逻辑图或提供一个目标电路的网表,目标电路由与门、或门和反相器组成。工艺映射(technology mapping):把逻辑图或网表转化成可以用工艺实现的新逻辑图或网表。验证(verification):验证最后设计的正确性。,3.1 设计流程,2023/9/14,4,例3-1 设计一个将BCD码转换成余3码的转换器,3.1 设计流程(续),功能描述:一个十进制数的余3码是在此十进制数加3的二进制组合。例如,十进制数5的余3码,是5+3=8的二进制组合:1000。每个BCD码都有四位,从最高位到最低位,分别标记为A、B、C、D。每个余3码也有四位,按最高位

3、到最低位标记,分别是W、X、Y、Z。,形式化:将一个BCD码加上0011(3)即可很容易地得到相应的余3码。非有效BCD码,可以假设不存在。所以,我们不用关心这些输入组合的余3码的二进制编码,将它们看做无关项。,2023/9/14,5,初步优化:,3.1 设计流程(续),2023/9/14,6,第二步优化:考虑到这四个输出表达式之间的共同子项,3.1 设计流程(续),2023/9/14,7,例3-2 设计一个将BCD码转换成七段码的译码器,3.1 设计流程(续),形式化:本电路的真值表,功能描述:BCD码-七段码译码器(BCD-to-seven-segment)是一个输入为十进制数的BCD码,

4、输出编码可以驱动数码管显示此十进制数字的组合电路。译码器的七个输出端(a,b,c,d,e,f,g)选择需要显示的数码管的相关段。,2023/9/14,8,优化:单独实现这七个函数需要27个与门和7个或门。然而,通过共用表达式中存在的六个乘积项,可将与门的数量减少到14。,3.1 设计流程(续),2023/9/14,9,3.2 开始分层设计,分层设计:一种“分而治之”的方法,例3-3 设计一个4位比较器,功能描述:比较器是一个比较两个二进制码以判定两者是否相等的电路。这种特殊的电路输入端包括两个矢量:A(3:0)和B(3:0)。矢量A有四位,A(3)、A(2)、A(1)和A(0),其中A(3)是

5、最高级,向量B和向量A一样有相同的特性。电路的输出是一个1位的变量E,如果向量A和向量B相等则输出E等于1;如果向量A和向量B不相等则输出E等于0。,形式化:由于本电路的规模较大,不宜采用真值表来形式化。,2023/9/14,10,优化:MX电路可以用下面的等式描述。,输出E的等式:,3.2 开始分层设计(续),2023/9/14,11,3.2 开始分层设计(续),分层设计可以使复杂电路的表示变得简单一些更复杂的结构也可被预定义为基本模块,用符号而不是电路图来表示在分层设计是中,模块可重复使用,2023/9/14,12,3.3 工艺映射,实现技术,2023/9/14,13,例3-4 与非门的实

6、现,3.3 工艺映射(续),1、用与非门(或非门)和反相器替换原电路中的与门和或门,形成新的等效电路,2023/9/14,14,2、消除反相器对,3.不改变逻辑函数,将所有在电路的输入端或者驱动与非门电路的输出端和驱动与非门电路的输入端之间的反相器“推”向驱动与非门电路的每个输入端。在这个步骤中,尽可能地消除反相器对。,3.3 工艺映射(续),2023/9/14,15,例3-5 或非门的实现,3.3 工艺映射(续),2023/9/14,16,门个数:在例3-4中最终电路的门输入个数为12,而在例3-5中门输入个个数为14,所以与非门的开销较少。级数:与非门的实现电路中门的最大连接级数为3,而或

7、非门实现电路中的最大连接级数为5。假设门电路的延迟是一样的,信号从输入到输出,门级数较少的与非门电路的最大延迟是或非门的0.6倍。所以,对于本例,与非门电路无论在门输入开销还是信号延迟上都要比或非门电路要更好。,实现对比,3.3 工艺映射(续),Chapter 3-Part 1 17,验证 证明最终电路实现了原始描述所要求的功能简单的描述有:真值表布尔表达式HDL代码如果以上的结果来自于公式而不是原始描述,那么必须严格保证公式的推演过程是无错的,才能保证验证是有效的!,3.4 验证,Chapter 3-Part 1 18,基本的验证方法,人工逻辑分析找出最终电路的真值表或布尔表达式比较最终电路

8、的真值表和设计描述的真值表表明最终电路的布尔表达式与描述的表达式一致计算机模拟加载所有的输入组合来对电路进行全面的验证,3.4 验证,Chapter 3-Part 1 19,例3-6 人工验证BCD码到余3码的代码转换器,验证过程写出电路的布尔表达式;写出这些电路的真值表;与描述的真值表进行对比。写出布尔表达式:,3.4 验证,Chapter 3-Part 1 20,由表达式写出电路的真值表;与设计描述的真值表进行比较。,The tables match!,3.4 验证,Chapter 3-Part 1 21,例3-7 基于模拟的BCD码到余3码的代码转换器的验证,模拟过程:采用原理图编辑器或

9、文本编辑器输入最终电路的门级实现采用波形编辑器或文本编辑器输入一系列输入组合加载至被测电路必须加载所有的输入组合来验证电路的正确性;如果模拟过程是正确的,则测试将保证电路是正确的。,3.4 验证,Chapter 3-Part 1 22,BCD码到余3码的电路图,3.4 验证,Chapter 3-Part 1 23,加载所有的输入组合:加载了所有的输入组合吗?,3.4 验证,Chapter 3-Part 1 24,电路模拟模拟的输出组合与原始真值表匹配吗?,3.4 验证,2023/9/14,25,组合电路分析,4、分析图所示电路的逻辑功能。,解,2023/9/14,26,组合电路分析,真值表:,

10、功能评述:此电路是一个一位全加器,A,B是加数和被加数,C为低位向本位的进位;J为本位向高位的进位,H为和。,2023/9/14,27,组合电路设计,1、举重比赛有三个裁判,一个是主裁判A,两个是副裁判B和C。杠铃完全举上的裁决由每个裁判按一下自己面前的按钮来决定。只有两个以上裁判(其中必须有主裁判)判明成功时,表示成功的灯才亮。试用与非门实现。,解,用A表示主裁判,B和C表示两个副裁判;F表示裁判结果:“1”表示成功,“0”表示失败。据题意列出真值表如下:,2023/9/14,28,组合电路设计,2、用红、黄、绿三个指示灯表示三台设备的工作情况:绿灯亮表示全部正常;红灯 亮表示有一台不正常;

11、黄灯亮表示有两台不正常;红、黄灯全亮表示三台都不正常。列出控制电路真值表,并选出合适的集成电路来实现。,解,设:三台设备分别为 A、B、C:“1”表示有故障,“0”表示无故障;红、黄、绿灯分别为Y1、Y2、Y3:“1”表示灯亮;“0”表示灯灭。据题意列出真值表如下:,Y1=A+B+CY2=BC+AB+ACY3=ABC=(A+B+C),2023/9/14,29,组合电路设计,3、假设有两个正整数,每个数都由两位二进制数组成,分别用X=x1x2,Yy1y2表示,要求用“与非”门设计一个判别 XY的逻辑电路。,解,用x1x2表示X,y1y2表示Y,F表示XY。据题意列出真值表如下:,2023/9/1

12、4,30,4、一个优先排队电路,其优先顺序为:A=1时,不论B,C,D为何值,W灯亮,其余灯不亮;A=0,B=1时,不论C,D为何值,X灯亮,其余灯不亮;A=B=0,C=1时,不论D为何值,Y灯亮,其余灯不亮;A=B=C=0,D=1时,Z灯亮,其余灯不亮;A=B=C=D=0时,所有灯均不亮。请用以下二类器件设计该优先排队电路:(1)使用非门、与门,画出逻辑电路。,解,输入为:A、B、C、D;W、X、Y、Z灯:“1”表示灯亮;“0”表示灯灭。据题意列出真值表如下:,组合电路设计,2023/9/14,31,组合电路设计,5、试为某水坝设计一个水位报警控制器,设水位高度用四位二进制数 提供。当水位上

13、升到8米时,白指示灯开始亮;当水位上升到10米时,黄指示灯开始亮:当水位上升到12米时,红指示灯开始亮,其它灯灭;水位不可能上升到14米。试用或非门设计此报警器的控制电路。,用ABCD表示水位高度;白、黄、红灯分别为X、Y、Z:“1”表示灯亮;“0”表示灯灭。据题意列出真值表如下:,解,Chapter 3 32,3.5 组合函数模块,在数字设计中,我们考虑有用的功能;每个功能对应的组合电路实现被称为功能模块;过去,功能模块制造成小规模(SSI)、中规模(MSI)和大规模集成(LSI)电路;现在,功能模块经常集成在超大规模集成(VLSI)电路中;采用分层设计方法,我们通常可以重复使用这些功能模块

14、构造电路。,Chapter 3 33,3.6 基本逻辑函数,定值、传递、取反及使能是最基本的组合函数3.6.1 定值、传输和取反单变量X存在四个不同的1位函数,X,F,=0,F,=X,F,=,F=1,0,1,0,0,0,1,1,0,1,1,X,Chapter 3 34,3.6.2 多位函数,多位函数往往是单位函数的向量,如下例:加粗线用来表示总线;在图(b)中,F=(F3,F2,F1,F0)是一条总线;总线可以拆分成单条线,每条线表示一位,如图(b);位的子集可以从总线中分离开来,如图(c);位的子集如果不连续时,可以如图(d)所示标注。,F,(d),0,F,3,1,F,2,F,1,A,F,0

15、,(a),0,1,A,1,2,3,4,F,0,(b),4,2:1,F(2:1),2,F,(c),4,3,1:0,F(3),F(1:0),3,Chapter 3 35,3.6.3 使能,使能允许信号从输入传递至输出。当模块不使能时,输入不能传递到输出,输出固定为一个值。这个值可以是高阻态(Hi-Z)、0或1。,2023/9/14,36,3.7 译码器,译码器(decoder)是一种多输入、多输出电路,它将输入编码转换为输出编码。,输入码字到输出码字之间存在一对一的映射关系。最常用的输入编码是n位二进制编码,最常用的输出编码是m中取1码。通常有mn。,译码器电路的一般结构如右图。使能输入(如果有的

16、话)必须有效,才能允许译码器实现正常的映射功能;否则,译码器将所有的输入码字都映射为单一的无效的输出码字(全0或全1)。,2023/9/14,37,3.7 译码器,输入为n位二进制编码,输出为2n中取1码,是最常用的一种译码器。,n位输入编码不一定代表0到2n-1个整数,可表示任意信息。有效的输入编码数不一定有2n个,如十进制译码器。,2023/9/14,38,3-8译码器74x138,74x138是商用MSI 3-8译码器,输出为低电平有效。欲使选择的输出有效,必须令所有的使能信号(G1、G2A_L、G2B_L)有效。,2023/9/14,39,3-8译码器74x138(续),根据真值表也可

17、以写出功能表达式。,根据功能要求,很容易写出功能表达式,如Y5=G1G2AG2BCBA。,根据真值表,可以写出输入信号与输出信号之间的关系式,如Y5_L=G1G2A_LG2B_LCBA Y5_L=(G1G2A_LG2B_LCBA),2023/9/14,40,例3-11 用译码器和或门实现1位二进制加法器,基于译码器的组合电路实现,2023/9/14,41,对4位二进制编码进行译码:使用一个4-16译码器;使用两个3-8译码器。,当N3等于0时,使能上面的译码器U1,译码电路对0000-0111共8个输入组合进行译码。当N3等于1时,使能下面的译码器U2,译码电路对1000-1111共8个输入组

18、合进行译码。,3.7 译码器,2023/9/14,42,将32个输入码字分为4组,每组8个码字,它们是00000-00111,01000-01111,10000-10111,11000-11111。,一个5-32译码器,用N4和N3通过1个2-4译码器进行译码后,控制每一组的工作。N2N1N0接每一组。,2023/9/14,43,七段译码器,输入为4位BCD码,输出为7位“七段码”。,2023/9/14,44,3.8 编码器,编码器(encoder)也是一种多输入、多输出电路,它将输入编码转换为输出编码,输入码字到输出码字之间存在一对一的映射关系,但输入码字长度比输出码字长度要长。,Y0I1I

19、3I5I7,Y1I2I3I6I7,Y2I4I5I6I7,如果有多个输入有效,情况会怎样?,2023/9/14,45,3.8.1 优先编码器,当多个请求有效时,编码器产生最高优先级的请求的编号,这样的器件称做优先编码器(priority encoder)。,I7I7,I6I6I7I5I5I6I7,I4I4I5I6I7I3I3I4I5I6I7,I2I2I3I4I5I6I7,I1 I1I2I3I4I5I6I7IDLEI0I1I2I3I4I5I6I7,2023/9/14,46,3.8.2 优先级编码器74x148,使能输入EI_L,当其有效时允许编码,否则禁止编码。,当电路被使能,且一个或多个输入请求

20、有效时,GS_L输出有效。可用于级联。当电路被使能,但没有输入请求有效时,EO_L输出有效。可用于级联。,2023/9/14,47,REQ31_L优先级最高,REQ0_L最低;通过EO_L控制较低优先级的译码器,保证U1U2U3U4.,74x148(续),RA4-RA0和RGS为高电平有效,与74x148相应信号的极性相反;REQ31_LREQ24_L:11111-11000 REQ23_LREQ16_L:10111-10000 REQ15_LREQ8_L:01111-01000 REQ7_LREQ0_L:00111-00000 由74x148的GS_L生成组的编码,由A2A1A0生成组内编码

21、.,2023/9/14,48,3.9 多路复用器,多路复用器(multiplexer)将n个数据源中的一个连接到输出端。有s个输入用于选择n个数据源,所以slog2n。,2023/9/14,49,2023/9/14,50,6.7 多路复用器(续),74x151的真值表,2023/9/14,51,3.9.2 基于多路复用器的组合电路,例3-15 用多路复用器实现一个1位二进制加法器,2023/9/14,52,3.9.2 基于多路复用器的组合电路,例3-16 另一种用多路复用器实现1位二进制加法器的方法,2023/9/14,53,3.10 本章小节,1、定义和阐述了电路设计过程的五个步骤;2、讲述了在大型电路中经常用到的组合电路功能模块;译码器 编码器 多路复用器3、介绍了使用译码器和多路复用器来设计组合逻辑电路。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号