第三章 组合逻辑电路
学习要求: 了解组合逻辑电路的特点; 熟练掌握组合电路分析和设计的基本方法; 了解竞争、冒险的概念; 掌握消除冒险的基本方法。
定义: 如果一个逻辑电路在任何时刻产生的稳定输出值仅仅取决于该时刻各输入值的组合,而与过去的输入值无关, 则称该电路为组合逻辑电路. 组合逻辑电路需要讨论的两个基本问题是分析与设计.
3.1.1 3.1 逻辑门电路的逻辑符号及外部特性 3.1.1 简单逻辑门电路 3.1 逻辑门电路的逻辑符号及外部特性 3.1.1 简单逻辑门电路 实现"与"、"或"、"非"三种基本运算的门电路称为简单门电路。 F A B & (a) F F A 1 (c) A B 1 (b) 高电平:+5v 低电平:0v 正逻辑:高电平用1表示,低电平用0表示。
一、"与"门 有两个或两个以上的输入端、一个输出端。上图(a)的逻辑表达式为 F=A B F A B & 二、" 或"门 有两个或两个以上的输入端,一个输出端。上图(b)的逻辑表达式为 F=A +B F A B 1 三、" 非"门 只 有 一 个 输 入 端, 一个输出端。如右图的逻辑表达式为 A F 1
3.1.2 复合逻辑门电路 复合门在逻辑功能上是简单逻辑门的组合,实际性能上有所提高。常用的复合门有"与非"门,"或非"门、"与或非"门和"异或"门等。 F A B 1 (b) & (a) C D (c) =1 (d)
一、"与非"门 使用"与非"门可以实现"与"、"或"、"非"3种基本运算, 并可构成任何逻辑电路, 故称为通用逻辑门。 F A B & (a) 二、"或非"门 "或非"门也是一种通用门。 F A B 1 (b)
“同或”运算用符号表示,逻辑表达式为: F A 1 & B C D (c) 三、"与或非"门 "与或非"门也是一种通用门。 “异或”运算是一种特殊的 逻辑运算, 用符号表示, 逻辑表达式为: 四、"异或"门 F A =1 (d) B F A =1 (e) B “同或”运算用符号表示,逻辑表达式为:
3.2 逻辑函数的实现 3.2.1 用“与非”门实现逻辑函数 函数的表现形式和实际的逻辑电路之间有着对应 3.2 逻辑函数的实现 函数的表现形式和实际的逻辑电路之间有着对应 的关系,而实际逻辑电路大量使用“与非”门、“或非”门、 “与或非”门等。 3.2.1 用“与非”门实现逻辑函数 第一步 求出函数的最简“与—或”表达式。 第二步 将其变换成“与非—与非”表达式。 第三步 画出函数表达式对应的逻辑电路图。
例:用“与非”门实现逻辑函数 F(A,B,C,D)=ABC+ABC+BCD+BC 解: 第一步: 00 01 11 10 00 01 11 10 AB CD 1 F=AB+BC+BD 第二步: F=AB·BC·BD
& 第三步: 该电路是一个两级 “与非”电路。 如不限制级数,该 电路可进一步简化。 F=AB+BC+BD =B(A+C+D) =B·ACD 1 & A D C B F=AB+BC+BD =B(A+C+D) =B·ACD =B·ACD
吉林大学远程教育课件 数 字 逻 辑 (第十四讲) 主讲人 : 魏 达 学 时:48
3.2.2 用“或非”门实现逻辑函数 第一步 求出函数的最简“或—与”表达式。 第二步 将其变换成“或非—或非”表达式。 3.2.2 用“或非”门实现逻辑函数 第一步 求出函数的最简“或—与”表达式。 第二步 将其变换成“或非—或非”表达式。 第三步 画出函数表达式对应的逻辑电路图。 例:用“或非”门实现逻辑电路。 F(A,B,C,D)=CD+ACD+ABD+ACD 00 01 11 10 00 01 11 10 AB CD 1 解: 第一步: F=AC+AD F=F=(A+C)(A+D)
第二步: F=(A+C)(A+D) =(A+C)+(A+D) F 1 A C D 第三步:
3.2.3 用“异或非”门实现逻辑函数 第一步 求出函数的最简“与—或”表达式。 第二步 将其变换成“与—或—非”表达式。 3.2.3 用“异或非”门实现逻辑函数 第一步 求出函数的最简“与—或”表达式。 第二步 将其变换成“与—或—非”表达式。 第三步 画出函数表达式对应的逻辑电路图。 例:用“与或非”门实现逻辑电路。 00 01 11 10 00 01 11 10 AB CD 1 F(A,B,C,D)=m(1,3,4,5,6,7,12,14) 解: 第一步: F(A,B,C,D)=AD+BD 第二步: F(A,B,C,D)=AD+BD F A 1 & B D 第三步:
3.2.4 用“异或”门实现逻辑函数 第一步 求出函数的最简形式。 第二步 将其变换成“异或”表达式。 3.2.4 用“异或”门实现逻辑函数 第一步 求出函数的最简形式。 第二步 将其变换成“异或”表达式。 第三步 画出函数表达式对应的逻辑电路图。 例:用异或门实现逻辑电路。 00 01 11 10 00 01 11 10 AB CD 1 F(A,B,C,D)=m(1,2,4,7,8,11,13,14) 解: 第一步: 由卡诺图可知该逻辑 函数已不能化简。
F=ABCD+ABCD+ABCD+ABCD+ ABCD+ABCD+ABCD+ABCD 第二步: F=ABCD+ABCD+ABCD+ABCD+ ABCD+ABCD+ABCD+ABCD =AB(CD+CD)+AB(CD+CD)+ AB(CD+CD)+AB(CD+CD) =(CD+CD)(AB+AB)+(CD+CD)(AB+AB) =(A B)(C D)+(A B)(C D) =(A B)(C D)+(A B)(C D) =(A B) (C D) = A B C D F A =1 B C D 第三步:
3.3 3.3 组合逻辑电路的分析 分析的任务: 根据给定的组合电路,写出逻辑函数表达式,并以此来描述它的逻辑功能,确定输入与输出的关系,必要时对其设计的合理性进行评定。 分析的一般步骤: 第一步:写出给定组合电路的逻辑函数表达式; 第二步:化简逻辑函数表达式; 第三步:根据化简的结果列出真值表; 第四步:功能评述。
1 A C B F P1 P2 P3 P4 & 例1:分析下图给定的组合电路。 解: & 1 A C B F 化简:
列出真值表 A B C F 0 0 0 1 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 功能评述 由真值可知, 当A、B、C取相同值时, F为1, 否则F为0。所以该电路是一个“一致性判定电路"。
=(A + B)(A + C)(B C)(B + C) 例2:分析下图给定的组合电路。 解: =1 A C B F P2 P3 P4 & P1 P5 P6 1 一:写出逻辑表达式 P1 = A + B P2 = A + C P3 = B C P4 = B + C P5 = P1P2 = (A + B)(A + C) P6 = P3P4 = (B C)(B + C) F = P5P6 =(A + B)(A + C)(B C)(B + C)
二:化简 F=(A + B)(A + C)(B C)(B + C) A B C F 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 0 =(A + B)(A + C)(BC + BC)(B + C) =(AB + A + C)(BC + BC)(B +C) =(B + A + C)(BC + BC)(B +C) =(BC + BC)(B +C) =BC + BC =B C 三:列出逻辑函数的真值表 四:逻辑问题评述 等效逻辑电路略。
吉林大学远程教育课件 数 字 逻 辑 (第十五讲) 主讲人 : 魏 达 学 时:48
3.4 3.4 组合逻辑电路的设计 设计任务: 根据给定要求的文字描述或逻辑函数,在特定条件下,找出用最少的逻辑门来实现给定逻辑功能的方案,并画出逻辑电路图。 设计的一般步骤: 第一步:根据逻辑要求建立真值表; 第二步:根据真值表写出逻辑函数的"最小项之和"表达式; 第三步:化简并转换为适当的形式; 第四步:根据表达式画出逻辑电路图;
例1:假设有两个正整数,每个都由两位二进制数 组成用X=x1x2,Y=y1y2表示,要求用“与非”门设计 一个判别X>Y的逻辑电路。 3.4.1 单输出组合电路设计 例1:假设有两个正整数,每个都由两位二进制数 组成用X=x1x2,Y=y1y2表示,要求用“与非”门设计 一个判别X>Y的逻辑电路。 x1 y1 x2 y2 F 0 d d 0 0 1 0 1 1 1 0 1 解: 第一步 建立真值表 第二步 写出逻辑表 达式 F(x1,y1,x2,y2)= x1y1+x1y1x2y2+x1y1x2y2 x1y1 00 01 11 10 00 01 11 10 x2y2 1 第三步 化简 F(x1,y1,x2,y2)= x1y1+y1x2y2+x1x2y2
第四步 画出逻辑电路图 F(x1,y1,x2,y2)=x1y1+y1x2y2+x1x2y2 第四步 画出逻辑电路图 F(x1,y1,x2,y2)=x1y1+y1x2y2+x1x2y2 F(x1,y1,x2,y2)=x1y1·y1x2y2·x1x2y2 x1 F & x2 y1 • y2
例2:用与非门设计一个三变量"多数表决电路"。 解:第一步:建立真值表; A B C F 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 输入即表达者, 共有3个, 分别用A、B、C表示, 并设“同意”为1,“反对”为0。 输出即决议是否通过, 用F表示, 并设"通过"为1, "否决"为0。
第二步:写出"最小项之和"表达式; F(A, B, C)=m(3, 5, 6, 7) 第三步:化简并转换成适当形式; AB 1 00 01 11 10 01 AB C F(A, B, C)=AB+AC+BC =AB+AC+BC =ABAC BC & A C B F 第四步:画出逻辑图。
例3:用与非门设计一位 数制范围指示器,十进 制数用8421BCD码表示, 当输入大于5时,电路输出为1,否则为0。 A B C D F 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 A B C D F 1 d 解: 第一步 建立真值表 8421BCD码只利用 了十种组合,还冗 余六种组合。
第二步 写出逻辑表达式 F(A,B,C,D)=m(5,6,7,8,9)+d(10,11,12,13,14,15) 00 01 11 10 00 01 11 10 AB CD d 1 第三步 化简 F(A,B,C,D) =A+BD+BC
第四步 画出逻辑电路图 F(A,B,C,D)=A + BD + BC =A·BD·BC A F B 1 & C • D
吉林大学远程教育课件 数 字 逻 辑 (第十六讲) 主讲人 : 魏 达 学 时:48
例4:设计一个四位二进制码奇偶位发生器和奇偶检测器。 B8 B4 B2 B1 P 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 B8 B4 B2 B1 P 1 解: 第一步 建立真值表 奇偶位发生器四 位二进制码用B8、B4、 B2、B1表示,输出的 奇偶位用P表示,采用 偶校验原则。
第二步 写出逻辑表达式 P(B8,B4,B2,B1)=m(1,2,4,7,8,11,13,14) 00 01 11 10 第三步 化简 第二步 写出逻辑表达式 P(B8,B4,B2,B1)=m(1,2,4,7,8,11,13,14) 00 01 11 10 00 01 11 10 B8B4 B2B1 1 第三步 化简 P(B8,B4,B2,B1) = B8 B4 B2 B1
第四步 画出逻辑电路图 P B8 =1 B4 B2 B1 B8 F =1 B4 B2 B1 P 奇偶检测器: 奇偶检测器的 输出为F。
3.4.2 多输出组合电路设计 例1:设计一个一位半加器 解:第一步:建立真值表 要完成一位“被加数”与“加数”两者相加,要产生“本位和”及向高位的“进位”,因此该电路有2个输入,2个输出。 设“被加数”,“加数” 分别为A和B; “本位和”与向高位的“进位”分别为SH和 CH。
A B SH CH 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 第二步:写出"最小项之"表达式; SH = AB +AB CH = AB
第三步:化简: 0 1 1 0 1 A B SH 0 0 0 1 1 A B CH 由卡诺图可知,已最简。 第四步:画出电路图 假设只提供原变量,而不提供反变量, 用与非门实现该电路。
Σ & 1)SH=AB+AB =AB+BB+AB+AA =A(A+B)+B(A+B) =A·AB·B·AB 1 CH=AB =1 • 1)SH=AB+AB =AB+BB+AB+AA =A(A+B)+B(A+B) =A·AB·B·AB CH=AB B SH A =1 1 CH • & 2)SH=AB+AB =AB CH=AB A B S C CO Σ 逻辑符号:
例2:设计一个一位全加器 要完成一位"被加数"与"加数"及低位送来的"进位"三者相加,产生"本位和"及向高位的"进位",因此该电路有3个输入,2个输出。 设“被加数”,“加数”和低位来的"进位"分别为Ai, Bi, Ci-1, "本位和"与向高位的"进位"分别为Si, Ci.
Ai Bi Ci-1 Si Ci 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1
第二步:写出"最小项之"表达式; Si=m(1, 2, 4, 7) Ci=m(3, 5, 6, 7) 第三步:化简并转换成适当形式; 1 00 01 11 10 01 AiBi Ci-1 Si AiBi 1 00 01 11 10 01 Ci Ci-1
如果用"与非"门来实现,则需要9个"与非"门,3个"非"门,数量较多。若采用其它门电路,可将输出函数表达式作适当转换。
第四步:画出电路图 Si Ci & =1 Ai Ci-1 Bi
用半加器实现:
用半加器实现的电路图: Ci-1 Si Ci CO Σ Ai Bi 1 逻辑符号: Ci-1 Ai Bi Si Ci CO Σ
吉林大学远程教育课件 数 字 逻 辑 (第十七讲) 主讲人 : 魏 达 学 时:48
用“与非”门 设计一个将8421BCD码转换成余三码的代码转换电路。 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 B8 B4 B2 B1 W X Y Z 1 d 例3: 用“与非”门 设计一个将8421BCD码转换成余三码的代码转换电路。 解: 第一步: 建立真值表
第二步:写出函数表达式; W(A,B,C,D)=Σm(5,6,7,8,9)+Σd(10,11,12,13,14,15) X(A,B,C,D)=Σm(1,2,3,4,9)+Σd(10,11,12,13,14,15) Y(A,B,C,D)=Σm(0,3,4,7,8)+Σd(10,11,12,13,14,15) Z(A,B,C,D)=Σm(0,2,4,6,8)+Σd(10,11,12,13,14,15) 00 01 11 10 00 01 11 10 AB CD d W WX XY YZ WZ WY X XZ XYZ WYZ 第三步:化简并转换成适当形式; W=A+BC+BD X=BC+BD+BCD Y=CD+CD Z=D CD
X=BC+BD+BCD=BC·BD·BCD Y=CD+CD =CD·CD Z=D 用与非门实现要转换成与非—与非表达式: W=A+BC+BD=A·BC·BD X=BC+BD+BCD=BC·BD·BCD Y=CD+CD =CD·CD Z=D 第四步:画出电路图 & C X B D W Z Y A
3.5 3.5 组合电路的险象 实际上,电信号从任意一点经过任意路径到达另一点都需要一定时间,我们称之为时间延迟或简称时延。 3.5 组合电路的险象 实际上,电信号从任意一点经过任意路径到达另一点都需要一定时间,我们称之为时间延迟或简称时延。 例如:"与非"门的时延 A B t1 t1+ tpd t2 t2+ tpd F 一般来说,时延对数字系统是有害的,它会降低系统的工作的速度,还会产生竞争冒险现象。
3.4.1 3.4.1 险象的产生 多个信号经不同路径到达某一点有时间差,称为竞争。 由于竞争使得电路产生了暂时错误输出称之为险象。 d e 3.4.1 险象的产生 多个信号经不同路径到达某一点有时间差,称为竞争。 由于竞争使得电路产生了暂时错误输出称之为险象。 A F d e g tpd 2 1 1 & B C A F d g e G1 G2 G3 G4
电路在时间"1"和"2"出现了竞争,并且输出F在时间"2"出现了短时的错误,即产生了险象,通常把不产生险象的竞争称为非临界竞争,而把产生险象的竞争称为临界竞争。 注意:竞争和险象是对电路的,而不是针对函数的。
3.4.2 3.4.2 险象的分类 按输入变化前后输出是否相等而分为静态和动态, 按错误输出的极性分为0型和1型。因此有静态0型, 静态1型, 动态0型, 动态1型。
静态0型 动态0型 静态1型 动态1型 输入变化前的输出 输入变化后的输出
3.4.3 3.4.3 险象的判断 有代数法和卡诺图 一、代数法: 检查是否存在某个变量X,它同时以原变量和反变量的形式出现在函数表达式中; 3.4.3 险象的判断 有代数法和卡诺图 一、代数法: 检查是否存在某个变量X,它同时以原变量和反变量的形式出现在函数表达式中; 如果上述现象存在,则检查表达式是否可在一定条件下成为X+X或者XX 的形式,若能则说明与函数表达式对应的电路可能产生险象。
险象。 解:变量A和C具备竞争的条件, 应分别进行检查。 检查C: C发生变化时不会产生险象.
检查A: 当B=C=1时, A的变化可能使电路产生险象.
二、卡诺图法 当描述电路的逻辑函数为"与或"式时, 可采用卡诺图来判断是否存在险象。其方法是观察是否存在"相切"的卡诺图, 若存在则可能产生险象。
因此当B=D=1,C=0时,电路可能由于A的变化而产生险象。 00 01 11 10 00 01 11 10 AB CD 1
3.4.4 3.4.4 险象的消除 险象应该消除, 否则会影响电路的工作。 一、用增加冗余项的方法消除险象 3.4.4 险象的消除 险象应该消除, 否则会影响电路的工作。 一、用增加冗余项的方法消除险象 在表达式中"加"上多余的"与项"或者"乘"上多余的"或项",使原函数不可能在某种条件下 险象。 1、利用定理8: 给原函数增加冗余项。
例:用增加冗余项的方法消除电路中的险象。 解:原电路对应的函数表达式为 1 & B C A F d g e G1 G2 G3 G4 根据定理8增加冗余项BC,有
当B=C=1进, 函数由F=A+A变成了F=1 B A C & 1 F 附加门
2、卡诺图中增加卡诺圈以消除"相切". 00 01 11 10 00 01 11 10 AB CD 1
二、增加惯性延时环节. 在电路的输出端连接一个惯性延时环节,通常是RC滤波器。 F t … 组合电路 x1 x2 xn F' F C R F t 使用 此方法时要适当选择时间常数(=RC),要求足够大,以便“削平”尖脉冲;但又不能太大,以免使正常的输出发生畸变。