第三章组合逻辑电路的分析与设计 前一章我们学习了门电路。对于一个数字系统或数字电路来讲,有了这些门电路就 相当于—个建筑工程有了所需的砖瓦和预制件。从现在起,我们就可以用门电路来搭接 一个具有某一功能的数字电路了。正像建一座高楼,不仅需要砖瓦和预制件等建筑材料 还需要有效的工具和合理的工艺一样,数字电路的分析与设计也需要一定的数学工具和 一套有效的方法。本章首先介绍分析和设计数字电路时常用的数学工具-逻辑代数和卡 诺图,包括逻辑代数的基本公式和基本定律,逻辑函数的代数化简法和卡诺图化简法。 然后介绍组合逻辑电路的分析方法与设计方法。另外,按其结构和工作原理不同,数字 电路可分为两大类,组合逻辑电路和时序逻辑电路。第三、四章介绍组合逻辑电路,第 五、六章介绍时序逻辑电路,请大家在学习过程中体会两者的区别及特点。 3.1逻辑代数 逻辑代数和普通代数一样,有一套完整的运算规则,包括公理、定理和定律,用它 们对逻辑函数式进行处理,可以完成对电路的化简、变换、分析与设计 逻辑代数的基本公式 包括9个定律,其中有的定律与普通代数相似,有的定律与普通代数不同,使用时 切勿混淆 表311逻辑代数的基本公式 公式 0—1律 A.0=0 A+l= 互补律 AA=0 A+A=1 重叠律 AA= A A+A=A 交换律 AB= BA A+B=b+d 结合律 A( BC)=(AB)O A+(B+C)=(A+B)+C 分配律 A(B+C)=AB+AC A+BC=(A+B)(A+C) 反演律 A+B= AB A (A+B)=A 吸收律 A (A+B)=AB A+AB=A+B (A+BXA+C)B+C)=(A+B)(A+C) AB+AC+BC=AB+AC
第三章 组合逻辑电路的分析与设计 前一章我们学习了门电路。对于一个数字系统或数字电路来讲,有了这些门电路就 相当于一个建筑工程有了所需的砖瓦和预制件。从现在起,我们就可以用门电路来搭接 一个具有某一功能的数字电路了。正像建一座高楼,不仅需要砖瓦和预制件等建筑材料, 还需要有效的工具和合理的工艺一样,数字电路的分析与设计也需要一定的数学工具和 一套有效的方法。本章首先介绍分析和设计数字电路时常用的数学工具--逻辑代数和卡 诺图,包括逻辑代数的基本公式和基本定律,逻辑函数的代数化简法和卡诺图化简法。 然后介绍组合逻辑电路的分析方法与设计方法。另外,按其结构和工作原理不同,数字 电路可分为两大类,组合逻辑电路和时序逻辑电路。第三、四章介绍组合逻辑电路,第 五、六章介绍时序逻辑电路,请大家在学习过程中体会两者的区别及特点。 3.1 逻辑代数 逻辑代数和普通代数一样,有一套完整的运算规则,包括公理、定理和定律,用它 们对逻辑函数式进行处理,可以完成对电路的化简、变换、分析与设计。 一.逻辑代数的基本公式 包括 9 个定律,其中有的定律与普通代数相似,有的定律与普通代数不同,使用时 切勿混淆。 表 3.1.1 逻辑代数的基本公式 名称 公式 1 公式 2 0—1 律 A1= A A 0 = 0 A + 0 = A A+1=1 互补律 AA = 0 A+ A = 1 重叠律 AA = A A+ A= A 交换律 AB = BA A+ B = B+ A 结合律 A(BC) = (AB)C A + (B + C) = (A + B) + C 分配律 A(B + C) = AB + AC A + BC = (A + B)(A + C) 反演律 AB = A+ B A+ B = AB 吸收律 A(A + B) = A A(A + B) = AB (A + B)(A + C)(B + C) = (A + B)(A + C) A+ AB = A A+ AB = A+ B AB + AC + BC = AB + AC
对合律 表中略为复杂的公式可用其他更简单的公式来证明 例3.1.1证明吸收律A+AB=A+B HE: A+AB=A(B+B)+AB=AB+AB+AB= AB+AB+AB+AB A(B+B)+B(A+A)=A+B 表中的公式还可以用真值表来证明,即检验等式两边函数的真值表是否一致 例3.1.2用真值表证明反演律AB=A+B和A+B=AB 证:分别列出两公式等号两边函数的真值表即可得证,见表3.1.2和表3.1.3 表3.12证明AB=A+B A A+B 0 1110 表3.13证明A+B=A B A+B AB 0 1000 0 0 反演律又称摩根定律,是非常重要又非常有用的公式,它经常用于逻辑函数的变换, 以下是它的两个变形公式,也是常用的 AB=a+B A+B=AB 逻辑代数的基本规则 1.代入规则 代入规则的基本内容是:对于任何一个逻辑等式,以某个逻辑变量或逻辑函数同时 取代等式两端任何一个逻辑变量后,等式依然成立。 利用代入规则可以方便地扩展公式。例如,在反演律AB=A+B中用BC去代替等 式中的B,则新的等式仍成立: ABC=A+BC=A+b+c
2 对合律 A = A 表中略为复杂的公式可用其他更简单的公式来证明。 例 3.1.1 证明吸收律 A+ AB = A+ B 证: A + AB = A(B + B) + AB = AB+ AB + AB = AB+ AB+ AB + AB = A(B + B) + B(A+ A) = A+ B 表中的公式还可以用真值表来证明,即检验等式两边函数的真值表是否一致。 例 3.1.2 用真值表证明反演律 AB = A+ B 和 A+ B = AB 证:分别列出两公式等号两边函数的真值表即可得证,见表 3.1.2 和表 3.1.3 表 3.1.2 证明 AB = A+ B A B AB A+ B 0 0 0 1 1 0 1 1 1 1 1 0 1 1 1 0 表 3.1.3 证明 A+ B = AB A B A+ B AB 0 0 0 1 1 0 1 1 1 0 0 0 1 0 0 0 反演律又称摩根定律,是非常重要又非常有用的公式,它经常用于逻辑函数的变换, 以下是它的两个变形公式,也是常用的。 AB = A+ B A+ B = AB 二. 逻辑代数的基本规则 1.代入规则 代入规则的基本内容是:对于任何一个逻辑等式,以某个逻辑变量或逻辑函数同时 取代等式两端任何一个逻辑变量后,等式依然成立。 利用代入规则可以方便地扩展公式。例如,在反演律 AB = A+ B 中用 BC 去代替等 式中的 B,则新的等式仍成立: ABC = A + BC = A+ B + C
2.对偶规则 将一个逻辑函数L进行下列变换: 所得新函数表达式叫做L的对偶式,用L表示。 对偶规则的基本内容是:如果两个逻辑函数表达式相等,那么它们的对偶式也一定 相等。 利用对偶规则可以帮助我们减少公式的记忆量。例如,表3.1.1中的公式1和公式2 就互为对偶,只需记住一边的公式就可以了。因为利用对偶规则,不难得出另一边的公 3.反演规则 将一个逻辑函数L进行下列变换 0→1,1→0 原变量→反变量,反变量→原变量 所得新函数表达式叫做L的反函数,用L表示。 利用反演规则,可以非常方便地求得一个函数的反函数 例3.1.3求函数L=AC+BD的反函数。 解:L=(4+O),(GB+D) 例3.1.4求函数L=A·B+C+D的反函数。 解:L=A+B.C,D 在应用反演规则求反函数时要注意以下两点: (1)保持运算的优先顺序不变,必要时加括号表明,如例3.1.3 (2)变换中,几个变量(一个以上)的公共非号保持不变,如例3.14 三.逻辑函数的代数化简法 1.逻辑函数式的常见形式 个逻辑函数的表达式不是唯一的,可以有多种形式,并且能互相转换。常见的逻 辑式主要有5种形式,例如 L= AC+AB 与一或表达式 (A+B)(A+C) 或一与表达式 =AC·AB 与非一与非表达式 =A+B+A+C 或非一或非表达式 =AC+AB 与一或非表达式 在上述多种表达式中,与一或表达式是逻辑函数的最基本表达形式。因此,在化简
3 2.对偶规则 将一个逻辑函数 L 进行下列变换: ·→+,+ →· 0 → 1,1 → 0 所得新函数表达式叫做 L 的对偶式,用 ' L 表示。 对偶规则的基本内容是:如果两个逻辑函数表达式相等,那么它们的对偶式也一定 相等。 利用对偶规则可以帮助我们减少公式的记忆量。例如,表 3.1.1 中的公式 l 和公式 2 就互为对偶,只需记住一边的公式就可以了。因为利用对偶规则,不难得出另一边的公 式。 3.反演规则 将一个逻辑函数 L 进行下列变换: ·→+,+ →· ; 0 → 1,1 → 0 ; 原变量 → 反变量, 反变量 → 原变量。 所得新函数表达式叫做 L 的反函数,用 L 表示。 利用反演规则,可以非常方便地求得一个函数的反函数 例 3.1.3 求函数 L = AC + BD 的反函数。 解: L = (A+C)(B + D) 例 3.1.4 求函数 L = A B +C + D 的反函数。 解: L = A + B C D 在应用反演规则求反函数时要注意以下两点: (1)保持运算的优先顺序不变,必要时加括号表明,如例 3.1.3。 (2)变换中,几个变量(一个以上)的公共非号保持不变,如例 3.1.4。 三. 逻辑函数的代数化简法 1.逻辑函数式的常见形式 一个逻辑函数的表达式不是唯一的,可以有多种形式,并且能互相转换。常见的逻 辑式主要有 5 种形式,例如: L = AC + AB 与—或表达式 = (A+ B)(A+C) 或—与表达式 = AC AB 与非—与非表达式 = A+ B+ A+C 或非—或非表达式 = AC + AB 与—或非表达式 在上述多种表达式中,与—或表达式是逻辑函数的最基本表达形式。因此,在化简
逻辑函数时,通常是将逻辑式化简成最简与一或表达式,然后再根据需要转换成其他形 2.最简与一或表达式的标准 (1)与项最少,即表达式中“+”号最少。 (2)每个与项中的变量数最少,即表达式中“·”号最少。 3.用代数法化简逻辑函数 用代数法化简逻辑函数,就是直接利用逻辑代数的基本公式和基本规则进行化简 代数法化简没有固定的步骤,常用的化简方法有以下几种 (1)并项法。运用公式A+A=1,将两项合并为一项,消去一个变量。如 L=ABC+ABC= AB(C+C)=AB L=A( BC + BC)+ A(BC BC)=ABC+ ABC+ ABC+ ABC= AB(C+C)+AB(C+C) =AB+AB=A(B+B)=A (2)吸收法。运用吸收律A+AB=A消去多余的与项。如 L= AB+AB(C+ DE=AB (3)消去法。运用吸收律A+AB=A+B消去多余的因子。如 L=AB+ AC+ BC= AB+(A+ B)C=AB+ ABC= AB+C L=A+ab+ be=a+b+ be=a+b+e (4)配项法。先通过乘以A+A(=1)或加上AA(=0),增加必要的乘积项,再用 以上方法化简。如 L=AB+AC+ BCD=AB+AC+ BCD(A+A)=AB+AC+ABCD+ ABCD= AB+AC L= ABC+ABC. AB=ABC+ABC AB+ AB AB= AB(C+AB)+ABC. AB =AB ABC+ ABC AB= ABC(AB+AB)=ABc 在化简逻辑函数时,要灵活运用上述方法,才能将逻辑函数化为最简。下面再举几 个例子。 例3.1.5化简逻辑函数L=AB+AC+AD+ABCD S: L=A(B+C+D)+ABCD=ABCD+ABCD=A(BCD+BCD)=A 例3.1.6化简逻辑函数L=AD+AD+AB+C+BD+ABEF+BEF 解:L=A+AB+AC+BD+ABEF+BEF(利用A+A=1) =A+C+BD+BEF(利用A+AB=A =A+C+BD+BEF(利用A+AB=A+B) 例3.1.7化简逻辑函数L=AB+AC+BC+CB+BD+DB+ADE(F+G) 解:L=ABC+BC+CB+BD+DB+ADE(F+G)(利用反演律) =A+BC+CB+BD+DB+ADE(F+G)(利用A+AB=A+B) =A+BC+CB+BD+DB(利用A+AB=A) =A+BC(D+D)+CB+BD+DB(C+C)(配项法)
4 逻辑函数时,通常是将逻辑式化简成最简与—或表达式,然后再根据需要转换成其他形 式。 2.最简与—或表达式的标准 (1)与项最少,即表达式中“+”号最少。 (2)每个与项中的变量数最少,即表达式中“· ”号最少。 3.用代数法化简逻辑函数 用代数法化简逻辑函数,就是直接利用逻辑代数的基本公式和基本规则进行化简。 代数法化简没有固定的步骤,常用的化简方法有以下几种。 (1)并项法。运用公式 A+ A =1 ,将两项合并为一项,消去一个变量。如 L = ABC + ABC = AB(C +C) = AB L = A(BC + BC) + A(BC + BC) = ABC+ ABC + ABC + ABC = AB(C +C) + AB(C +C) = AB+ AB = A(B + B) = A (2)吸收法。运用吸收律 A+ AB = A 消去多余的与项。如 L = AB + AB(C + DE) = AB (3)消去法。运用吸收律 A+ AB = A+ B 消去多余的因子。如 L = AB + AC + BC = AB + (A + B)C = AB + ABC = AB + C L = A + AB + BE = A + B + BE = A + B + E (4)配项法。先通过乘以 A + A (=1)或加上 AA (=0),增加必要的乘积项,再用 以上方法化简。如 L = AB + AC + BCD = AB + AC + BCD(A + A) = AB + AC + ABCD + ABCD = AB + AC L = ABC + ABC AB = ABC + ABC AB+ AB AB = AB(C + AB) + ABC AB = AB ABC+ ABC AB = ABC(AB+ AB) = ABC 在化简逻辑函数时,要灵活运用上述方法,才能将逻辑函数化为最简。下面再举几 个例子。 例 3.1.5 化简逻辑函数 L = AB + AC + AD + ABCD 解: L = A(B +C + D) + ABCD = ABCD + ABCD = A(BCD + BCD) = A 例 3.1.6 化简逻辑函数 L = AD + AD + AB + AC + BD + ABEF + BEF 解: L = A+ AB + AC + BD + ABEF + BEF (利用 A+ A =1 ) = A + AC + BD + BEF (利用 A+ AB = A ) = A+ C + BD + BEF (利用 A+ AB = A+ B ) 例 3.1.7 化简逻辑函数 L = AB+ AC + BC +CB + BD + DB + ADE(F + G) 解: L = ABC + BC +CB + BD + DB + ADE(F +G) (利用反演律) = A+ BC +CB + BD + DB + ADE(F + G) (利用 A+ AB = A+ B ) = A+ BC + CB + BD + DB (利用 A+ AB = A ) = A+ BC(D + D) +CB + BD + DB(C +C)(配项法)
A+bcd+BCD+cB+Bd+DBC DBc =A+BCD+CB+BD+DBC(利用A+AB=A) =A+CD(B+B+CB+ BD =A+CD+CB+BD(利用A+A=1) 例3.1.8化简逻辑函数L=AB+BC+BC+AB 解法1:L=AB+BC+BC+AB+AC(增加冗余项AC) =AB+BC+Ab+ ac (消去1个冗余项BC) BC+AB+ (再消去1个冗余项AB) 解法2:L=AB+BC+BC+AB+AC(增加冗余项AC =AB+BC+AB+Ac (消去1个冗余项BC) AB+BC+Ac (再消去1个冗余项AB) 由上例可知,逻辑函数的化简结果不是唯一的。 代数化简法的优点是不受变量数目的限制。缺点是:没有固定的步骤可循:需要熟 练运用各种公式和定理;需要一定的技巧和经验:有时很难判定化简结果是否最简 3.2逻辑函数的卡诺图化简法 本节介绍一种比代数法更简便、直观的化简逻辑函数的方法。它是一种图形法,是 由美国工程师卡诺( Karnaugh)发明的,所以称为卡诺图化简法 最小项的定义与性质 1.最小项的定义 在n个变量的逻辑函数中,包含全部变量的乘积项称为最小项。其中每个变量在该 乘积项中可以以原变量的形式出现,也可以以反变量的形式出现,但只能出现一次。n 变量逻辑函数的全部最小项共有2n个。 如三变量逻辑函数Lf(A,B,C)的最小项共有2=8个,列入表中 表321三变量逻辑函数的最小项及编号 最小项 变量取值 编号 A B C 000 001 010 ABC
5 = A + BCD + BCD + CB + BD + DBC + DBC = A + BCD + CB + BD + DBC (利用 A+ AB = A ) = A+CD(B + B) +CB + BD = A + CD + CB + BD (利用 A+ A =1 ) 例 3.1.8 化简逻辑函数 L = AB + BC + BC + AB 解法 1: L = AB + BC + BC + AB + AC (增加冗余项 AC ) = AB + BC + AB + AC (消去 1 个冗余项 BC ) = BC + AB + AC (再消去 1 个冗余项 AB ) 解法 2: L = AB + BC + BC + AB + AC (增加冗余项 AC ) = AB + BC + AB + AC (消去 1 个冗余项 BC ) = AB + BC + AC (再消去 1 个冗余项 AB ) 由上例可知,逻辑函数的化简结果不是唯一的。 代数化简法的优点是不受变量数目的限制。缺点是:没有固定的步骤可循;需要熟 练运用各种公式和定理;需要一定的技巧和经验;有时很难判定化简结果是否最简。 3.2 逻辑函数的卡诺图化简法 本节介绍一种比代数法更简便、直观的化简逻辑函数的方法。它是一种图形法,是 由美国工程师卡诺(Karnaugh)发明的,所以称为卡诺图化简法。 一.最小项的定义与性质 1.最小项的定义 在 n 个变量的逻辑函数中,包含全部变量的乘积项称为最小项。其中每个变量在该 乘积项中可以以原变量的形式出现,也可以以反变量的形式出现,但只能出现一次。n 变量逻辑函数的全部最小项共有 2 n 个。 如三变量逻辑函数 L=f(A,B,C)的最小项共有 2 3 =8 个,列入表中。 表 3.2.1 三变量逻辑函数的最小项及编号 最小项 变量取值 编号 A B C ABC ABC ABC ABC 0 0 0 0 0 1 0 1 0 0 1 1 m0 m1 m2 m3