2.5 逻辑函数的化简方法

一、代数化简法

逻辑函数表达式和逻辑电路图是一一对应的。逻辑函数表达式越简单,使用的逻辑门越少,电路就越简单。因此,有必要对逻辑函数表达式进行化简。

逻辑函数化简通常是指将逻辑函数化简为最简与或式 或者最简或与式 ,有了这两种基本形式就可以转换成其他表达式。

最简与或(或与)式是指表达式中与项(或项)的个数最少,每个与项(或项)中的变量数最少。

代数法化简的方法是:反复使用逻辑代数的基本公式消去逻辑函数表达式中多余的乘积项和多余因子,以求得逻辑函数的最简表达式。常用的代数化简法有以下几种。

1、并项法

并项法是利用公式 A B + A B ‾ = A AB+A\overline B=A AB+AB=A 将两个相邻项合并成一项,并消去互补因子。例如: F = A B ‾   C ‾ D + A B C ‾ D = A C ‾ D F = A B ‾   C ‾ + A B C ‾ + A B C + A B ‾ C = A C ‾ + A C = A \begin{array}{l}F=A\overline B\,\overline CD+AB\overline CD=A\overline CD\\\\F=A\overline B\,\overline C+AB\overline C+ABC+A\overline BC=A\overline C+AC=A\end{array} F=ABCD+ABCD=ACDF=ABC+ABC+ABC+ABC=AC+AC=A

2、吸收法

吸收法是利用吸收律 A + A B = A 、 A + A ‾ B = A + B A+AB=A、A+\overline AB=A+B A+AB=A、A+AB=A+B 和 A B + A ‾ C + B C = A B + A ‾ C AB+\overline AC+BC=AB+\overline AC AB+AC+BC=AB+AC 吸收(消去)多余的乘积项或多余的因子。例如: F = A B + A ‾ C + B ‾ C = A B + ( A ‾ + B ‾ ) C = A B + A B ‾ C = A B + C F = A ‾ + A B C ‾ D + C = A ‾ + B C ‾ D + C = A ‾ + B D + C F = A B C + A ‾ D + C ‾ D + B D = A B C + ( A ‾ + C ‾ ) D + B D = A B C + A C ‾ D + B D = A B C + A C ‾ D = A B C + A ‾ D + C ‾ D F = A B ‾ + A C + A D E + C ‾ D = A B ‾ + A C + C ‾ D \begin{array}{l}F=AB+\overline AC+\overline BC=AB+(\overline A+\overline B)C=AB+\overline{AB}C=AB+C\\\\F=\overline A+AB\overline CD+C=\overline A+B\overline CD+C=\overline A+BD+C\\\\F=ABC+\overline AD+\overline CD+BD=ABC+(\overline A+\overline C)D+BD\\\kern 11pt=ABC+\overline{AC}D+BD=ABC+\overline{AC}D=ABC+\overline AD+\overline CD\\\\F=A\overline B+AC+ADE+\overline CD=A\overline B+AC+\overline CD\end{array} F=AB+AC+BC=AB+(A+B)C=AB+ABC=AB+CF=A+ABCD+C=A+BCD+C=A+BD+CF=ABC+AD+CD+BD=ABC+(A+C)D+BD=ABC+ACD+BD=ABC+ACD=ABC+AD+CDF=AB+AC+ADE+CD=AB+AC+CD

3、配项法

配项法是利用重叠律 A + A = A A+A=A A+A=A、互补律 A + A ‾ = 1 A+\overline A=1 A+A=1 和吸收律 A B + A ‾ C + B C = A B + A ‾ C AB+\overline AC+BC=AB+\overline AC AB+AC+BC=AB+AC 先配项或添加多余项,然后逐步化简。例如: F = A C + A ‾ D + B ‾ D + B C ‾ = A C + B C ‾ + ( A ‾ + B ‾ ) D = A C + B C ‾ + A B + A B ‾ D ( 添加多余项   A B ) = A C + B C ‾ + A B + D = A C + B C ‾ + D ( 去掉多余项   A B ) F = A ‾   B ‾   C ‾ + A ‾ B C ‾ + A ‾ B C + A B C ‾ = ( A ‾   B ‾   C ‾ + A ‾ B C ‾ ) + ( A ‾ B C ‾ + A ‾ B C ) + ( A ‾ B C ‾ + A B C ‾ ) ( A ‾ B C ‾   可反复使用多次 ) = A ‾   C ‾ + A ‾ B + B C ‾ F = A ‾   B ‾ + B ‾   C ‾ + B C + A B = A ‾   B ‾ ( C + C ‾ ) + B ‾   C ‾ + B C ( A + A ‾ ) + A B ( 配项 ) = A ‾   B ‾ C + A ‾   B ‾   C ‾ + B ‾   C ‾ + A B C + A ‾ B C + A B = A ‾ C + B ‾   C ‾ + A B ( 吸收多余项 ) \begin{array}{ll}F=AC+\overline AD+\overline BD+B\overline C\\\kern 11pt=AC+B\overline C+(\overline A+\overline B)D\\\kern 11pt=AC+B\overline C+AB+\overline{AB}D&(添加多余项\,AB)\\\kern 11pt=AC+B\overline C+AB+D\\\kern 11pt=AC+B\overline C+D&(去掉多余项\,AB)\\\\F=\overline A\,\overline B\,\overline C+\overline AB\overline C+\overline ABC+AB\overline C\\\kern 11pt=(\overline A\,\overline B\,\overline C+\overline AB\overline C)+(\overline AB\overline C+\overline ABC)+(\overline AB\overline C+AB\overline C)&(\overline AB\overline C\,可反复使用多次)\\\kern 11pt=\overline A\,\overline C+\overline AB+B\overline C\\\\F=\overline A\,\overline B+\overline B\,\overline C+BC+AB\\\kern 11pt=\overline A\,\overline B(C+\overline C)+\overline B\,\overline C+BC(A+\overline A)+AB&(配项)\\\kern 11pt=\overline A\,\overline BC+\overline A\,\overline B\,\overline C+\overline B\,\overline C+ABC+\overline ABC+AB\\\kern 11pt=\overline AC+\overline B\,\overline C+AB&(吸收多余项)\end{array} F=AC+AD+BD+BC=AC+BC+(A+B)D=AC+BC+AB+ABD=AC+BC+AB+D=AC+BC+DF=ABC+ABC+ABC+ABC=(ABC+ABC)+(ABC+ABC)+(ABC+ABC)=AC+AB+BCF=AB+BC+BC+AB=AB(C+C)+BC+BC(A+A)+AB=ABC+ABC+BC+ABC+ABC+AB=AC+BC+AB(添加多余项AB)(去掉多余项AB)(ABC可反复使用多次)(配项)(吸收多余项)从上面的例子可见,代数化简法对变量的数目无限制,但是需要熟悉逻辑代数公式,并具有一定的技巧。这个方法的缺点是化简方法缺乏规律性,并且对化简后的结果是否最简难以判断。因此,在变量不多的情况下,通常使用卡诺图化简法。

二、卡诺图化简法

卡诺图(Karnaugh Map)是由美国工程师卡诺(Karnaugh)首先提出,故称为卡诺图,简称 K K K 图。它是一种按相邻规则排列而成的最小项方格图,利用相邻项不断合并的原则可以使逻辑函数得到化简。由于这种图形化简法简单而直观,因而得到了广泛应用。

1、卡诺图的构成

在逻辑函数的真值表中,输入变量的每一种组合都和一个最小项相对应。这种真值表也称为最小项真值表。卡诺图就是根据最小项真值表按一定规则排列的方格图,它也是真值表的一种。

例如,三变量最小项真值表如表 2.5.1 2.5.1 2.5.1 所示。画三变量的 K K K 图时首先画出 8 8 8 个小方格,并将输入变量 A 、 B 、 C A、B、C A、B、C 按行和案列分为两组表示在方格图的顶端,变量的取值分别按格雷码排列。行、列变量交叉处的小方格就是输入变量取值所对应的最小项,这样便构成了图 2.5.1 ( a ) 2.5.1(a) 2.5.1(a) 所示的三变量 K K K图。由此可见,由于行、列变量的取值都按格雷码排列,而格雷码相邻的两项仅有 1 1 1 位不同,因此每两个相邻方格中的最小项都是相邻项。为了便于书写和记忆, K K K 图各方各内的最小项也可以用最小项符号 m i m_i mi 或编号 i i i 表示,分别如图 2.5.1 ( b ) 、 ( c ) 2.5.1(b)、(c) 2.5.1(b)、(c) 所示。

根据同样的方法,只要将输入变量的取值按格雷码规律排列,便可构成四变量 K K K 图、五变量 K K K 图,分别如图 2.5.2 ( a ) 、 ( b ) 2.5.2(a)、(b) 2.5.2(a)、(b) 所示。

由上述可知,卡诺图具有如下特点:

(1) n n n 变量的卡诺图有 2 n 2^n 2n 个方格,对应表示 2 n 2^n 2n 个最小项。每当变量数增加一个,卡诺图的方格数就会扩大一倍。

(2)卡诺图中任何相邻位置的两个最小项都是相邻项。变量取值的顺序按格雷码排列,以确保各相邻行(列)之间只有一个变量取值不同,从而保证了卡诺图具有这一重要特点。

相邻位置包括三种情况:一是相接 ,即紧挨着;而是相对 ,即任意一行或一列的两头;三是相重 ,即对折起来位置重合,中心轴可以是任意横向或纵向的一条线。

相邻项是指出了一个变量不同外其余变量都相同的两个乘积项(与项)

例如,在图 2.5.2 ( b ) 2.5.2(b) 2.5.2(b) 所示的五变量卡诺图中, m 5 m_5 m5 在位置上与 m 4 、 m 7 、 m 1 、 m 13 、 m 21 m_4、m_7、m_1、m_{13}、m_{21} m4、m7、m1、m13、m21 相邻,因此 m 5 = A ‾   B ‾ C D ‾ E m_5=\overline A\,\overline BC\overline DE m5=ABCDE 与 m 4 = A ‾   B ‾ C D ‾   E ‾ m_4=\overline A\,\overline BC\overline D\,\overline E m4=ABCDE 是相邻项,此外,还分别于 m 7 = A ‾   B ‾ C D E m_7=\overline A\,\overline BCDE m7=ABCDE、 m 1 = A ‾   B ‾   C ‾   D ‾ E m_1=\overline A\,\overline B\,\overline C\,\overline DE m1=ABCDE、 m 13 = A ‾ B C D ‾ E m_{13}=\overline ABC\overline DE m13=ABCDE 和 m 21 = A B ‾ C D ‾ E m_{21}=A\overline BC\overline DE m21=ABCDE 是相邻项,即 m 5 m_5 m5 有 5 5 5 个相邻项。因此,卡诺图也反映了 n n n 个变量的任何一个最小项有 n n n 个相邻项这一特点。

卡诺图的主要缺点是:随着输入变量的增加图形迅速变得复杂,相邻项不那么直观,因此它适用于表示六变量以下的逻辑函数。

2、逻辑函数的卡诺图表示法

卡诺图是真值表的一种特殊形式, n n n 变量的卡诺图包含了 n n n 变量的所有最小项,因此任何一个 n n n 变量的逻辑函数都可以用 n n n 变量卡诺图来表示。

将逻辑函数填入卡诺图时,有以下几种情况。

(1)给出的逻辑函数为与或标准式

只要将构成逻辑函数的最小项在卡诺图上相应的方格中填入 1 1 1,其余的方格填 0 0 0(或不填),就可以得到该函数的卡诺图。即,任何一个逻辑函数都等于其卡诺图上填 1 1 1 的那些最小项之和。

例如,用卡诺图表示函数 F 1 = ∑ m ( 0 , 3 , 4 , 6 ) F_1=\sum m(0,3,4,6) F1=∑m(0,3,4,6) 时,只需在三变量卡诺图中将 m 0 、 m 3 、 m 4 、 m 6 m_0、m_3、m_4、m_6 m0、m3、m4、m6 处填 1 1 1,其余填 0 0 0(或不填)即可,其卡诺图如图 2.5.3 2.5.3 2.5.3 所示。

(2)给出的逻辑函数为一般与或式

将一般与或式中每个与项在卡诺图上所覆盖的最小项都填 1 1 1,其余填 0 0 0(或不填),就可以得到该函数的卡诺图。

例如,用卡诺图表示函数 F 2 = A B ‾ C + A ‾   B ‾ C + D + A D F_2=A\overline BC+\overline A\,\overline BC+D+AD F2=ABC+ABC+D+AD 时,首先确定使每个与项为 1 1 1 的输入变量取值,然后在该输入变量取值所对应的方格内填 1 1 1.

F 2 F_2 F2 为四变量函数,当 A B C D = 101 × ABCD=101× ABCD=101×( × × × 表示既可以为 1 1 1,也可以为 0 0 0)时, A B ‾ C A\overline BC ABC 为 1 1 1,因此在 A B C ABC ABC 取值为 101 101 101 所对应的方格( m 10 、 m 11 m_{10}、m_{11} m10、m11)处填 1 1 1;当 A B C D = 001 × ABCD=001× ABCD=001× 时, A ‾   B ‾ C \overline A\,\overline BC ABC 为 1 1 1,因此在 A B C ABC ABC 取值为 001 001 001 所对应的方格( m 2 、 m 3 m_2、m_3 m2、m3)处填 1 1 1;当 A B C D = × × ×   1 ABCD=×××\,1 ABCD=×××1 时, D D D 为 1 1 1,因此在 D D D 取值为 1 1 1 所对应的 8 8 8 个方格( m 1 、 m_1、 m1、 m 3 、 m_3、 m3、 m 5 、 m_5、 m5、 m 7 、 m 9 、 m_7、m_9、 m7、m9、 m 11 m_{11} m11、 m 13 m_{13} m13、 m 15 m_{15} m15)处填 1 1 1;当 A B C D = 1 × ×   1 ABCD=1××\,1 ABCD=1××1 时, A D AD AD 为 1 1 1,因此在 A D AD AD 取值为 11 11 11 所对应的 4 4 4 个方格( m 9 m_9 m9、 m 11 m_{11} m11、 m 13 m_{13} m13、 m 15 m_{15} m15)处填 1 1 1. F 2 F_2 F2 的卡诺图如图 2.5.4 2.5.4 2.5.4 所示。

(3)给出的逻辑函数为或与标准式

只要将构成逻辑函数的最大项在卡诺图相应的方格中填 0 0 0,其余的方格填 1 1 1 即可。即,任何一个逻辑函数都等于其卡诺图上填 0 0 0 的那些最大项之积。

例如,函数 F 3 = ∏ M ( 0 , 2 , 6 ) = ( A + B + C ) ( A + B ‾ + C ) ( A ‾ + B ‾ + C ) F_3=\prod M(0,2,6)=(A+B+C)(A+\overline B+C)(\overline A+\overline B+C) F3=∏M(0,2,6)=(A+B+C)(A+B+C)(A+B+C) 的卡诺图如图 2.5.5 2.5.5 2.5.5 所示。

需要注意是,在卡诺图中最大项的编号与最小项的编号一致,但是输入变量的取值是相反的。即原变量取 0 0 0,反变量取 1 1 1.

(4)给出的逻辑函数为一般或与式

将一般或与式中每个或项在卡诺图上所覆盖的最大项处都填 0 0 0,其余的填 1 1 1 即可。

例如,将函数 F 4 = ∏ ( A ‾ + C ) ( B ‾ + C ) F_4=\prod (\overline A+C)(\overline B+C) F4=∏(A+C)(B+C) 填入卡诺图时,先确定使每个或项为 0 0 0 时输入变量的取值,然后在该取值所对应的方格内填 0 0 0.

( A ‾ + C ) (\overline A+C) (A+C):当 A B C = 1 × 0 ABC=1×0 ABC=1×0 时, ( A ‾ + C ) = 0 (\overline A+C)=0 (A+C)=0,使 F 4 = 0 F_4=0 F4=0,因此在 A C AC AC 取值为 10 10 10 所对应的方格( M 4 、 M 6 M_4、M_6 M4、M6)处填 0 0 0;

( B ‾ + C ) (\overline B+C) (B+C):当 A B C = × 10 ABC=×10 ABC=×10 时, ( B ‾ + C ) = 0 (\overline B+C)=0 (B+C)=0,也使 F 4 = 0 F_4=0 F4=0,因此在 B C BC BC 取值为 10 10 10 所对应的方格( M 2 、 M 6 M_2、M_6 M2、M6)处填 0 0 0.

F 4 F_4 F4 的卡诺图如图 2.5.6 2.5.6 2.5.6 所示。

3、最小项合并规律

在卡诺图中,凡是位置相邻的最小项均可以合并。

两个相邻最小项合并为一项,消去一个互补变量。在卡诺图上该合并圈称为单元圈 ,它所对应的与项由圈内没变化的那些变量 组成,可以直接从卡诺图中读出。例如,图 2.5.7 ( a ) 2.5.7(a) 2.5.7(a) 中 m 1 、 m 3 m_1、m_3 m1、m3 合并为 A ‾ C \overline AC AC,图 2.5.7 ( b ) 2.5.7(b) 2.5.7(b) 中 m 0 、 m 4 m_0、m_4 m0、m4 合并为 B ‾   C ‾ \overline B\,\overline C BC.

任何两个相邻的单元 K K K 圈也是相邻项 ,仍然可以合并,消去互补变量。因此, K K K 圈越大,消去的变量数也就越多。

图 2.5.7 ( c ) 、 ( d ) 2.5.7(c)、(d) 2.5.7(c)、(d) 表示 4 4 4 个相邻最小项合并为一项,消去了两个变量,合并后的与项由 K K K 圈对应的没有变化的那些变量组成。图 2.5.7 ( c ) 2.5.7(c) 2.5.7(c) 中, m 0 m_0 m0、 m 1 m_1 m1、 m 4 m_4 m4、 m 5 m_5 m5 合并为 A ‾   C ‾ \overline A\,\overline C AC,图 2.5.7 ( d ) 2.5.7(d) 2.5.7(d) 中 m 0 m_0 m0、 m 2 m_2 m2、 m 8 m_8 m8、 m 10 m_{10} m10 合并为 B ‾   D ‾ \overline B\,\overline D BD, m 5 m_5 m5、 m 7 m_7 m7、 m 13 m_{13} m13、 m 15 m_{15} m15 合并为 B D BD BD, m 12 m_{12} m12、 m 13 m_{13} m13、 m 15 m_{15} m15、 m 14 m_{14} m14 合并为 A B AB AB.

图 2.5.7 ( e ) 2.5.7(e) 2.5.7(e) 表示 8 8 8 个相邻最小项合并为一项,消去了 3 3 3 个变量,即 ∑ m ( 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 ) = A \sum m(8,9,10,11,12,13,14,15)=A ∑m(8,9,10,11,12,13,14,15)=A, ∑ m ( 1 , 3 , 5 , 7 , 9 , 11 , 13 , 15 ) = D \sum m(1,3,5,7,9,11,13,15)=D ∑m(1,3,5,7,9,11,13,15)=D.

综上所述,最小项合并具有以下特点:

(1)任何一个合并圈(即卡诺圈)所含的方格数为 2 i 2^i 2i 个,即个数必须为 2 2 2 的幂。

(2)位置相邻的最小项可以合并,位置相邻的卡诺圈也是相邻项,同样可以合并。

(3) 2 m 2^m 2m 个方格合并,消去 m m m 个变量。合并圈越大,消去的变量数越多。

上述最小项的合并规则对最大项的合并同样适用,但是要注意的是,最大项在卡诺图中与 0 0 0 格对应,因此最大项的合并是将相邻的 0 0 0 个圈在一起。

4、用卡诺图化简逻辑函数

(1)将函数化简为最简与或式

在卡诺图上以最少的卡诺圈数和尽可能大的卡诺圈覆盖所有填 1 \pmb1 1 的方格 ,即满足最小覆盖,就可以求得逻辑函数的最简与或式。

化简的一般步骤如下:

① 填卡诺图,即用卡诺图表示逻辑函数。

② 画出卡诺圈合并最小项。选择卡诺圈的原则是:先从只有一种圈法的 1 1 1 格圈起,卡诺圈的数目应最少(与项的项数最少),卡诺圈应最大(对应与项中变量数最少)。

③ 写出最简函数式。将每个卡诺圈写成相应的与项,并将它们相或,便得到最简与或式。

圈卡诺圈时应注意,根据重叠律 A + A = A A+A=A A+A=A,任何一个 1 1 1 格可以多次被圈用,但如果在某个卡诺圈中所有的 1 1 1 格均已被别的卡诺圈圈过,那么该圈为多余圈。为了避免出现多余圈,应保证每个卡诺圈至少有 1 \pmb1 1 格只被圈一次

例1 】用卡诺图将函数 F = ∑ m ( 1 , 3 , 4 , 5 , 10 , 11 , 12 , 13 ) F=\sum m(1,3,4,5,10,11,12,13) F=∑m(1,3,4,5,10,11,12,13) 化简为最简与或式。

解: (1)画出 F F F 的卡诺图,如图 2.5.8 2.5.8 2.5.8 所示;

(2)画 K K K 圈。根据化简原则首先选择只有一种圈法的 K K K 圈 B C ‾ B\overline C BC,剩下 4 4 4 个 1 1 1 格( m 1 m_1 m1、 m 3 m_3 m3、 m 10 m_{10} m10、 m 11 m_{11} m11)用 2 2 2 个 K K K 圈 A ‾   B ‾ D \overline A\,\overline BD ABD、 A B ‾ C A\overline BC ABC 覆盖,因此这里只要用 3 3 3 个 K K K 圈就可以覆盖全部的 1 1 1 格。

(3)写出最简与或式: F = B C ‾ + A ‾   B ‾ D + A B ‾ C F=B\overline C+\overline A\,\overline BD+A\overline BC F=BC+ABD+ABC

例2 】用卡诺图将下面的函数化简为最简与或式: F = B ‾ C D + A ‾ B D ‾ + B ‾ C D ‾ + A B C ‾ + A B C D F=\overline BCD+\overline AB\overline D+\overline BC\overline D+AB\overline C+ABCD F=BCD+ABD+BCD+ABC+ABCD解: (1)画出 F F F 的卡诺图。给出的 F F F 是一般与或式,将每个与项所覆盖的最小项都填 1 1 1,卡诺图如图 2.5.9 2.5.9 2.5.9 所示。

(2)画 K K K 圈化简函数。

(3)写出最简与或式。

该例题中有两种圈法,都可以得到最简式。

按照图 2.5.9 ( a ) 2.5.9(a) 2.5.9(a) 所示的圈法,最简式为: F = B ‾ C + A ‾ C D ‾ + B C ‾   D ‾ + A B D F=\overline BC+\overline AC\overline D+B\overline C\,\overline D+ABD F=BC+ACD+BCD+ABD按照图 2.5.9 ( b ) 2.5.9(b) 2.5.9(b) 所示的圈法,最简式为: F = B ‾ C + A ‾ B D ‾ + A B C ‾ + A C D F=\overline BC+\overline AB\overline D+AB\overline C+ACD F=BC+ABD+ABC+ACD由该例可知,逻辑函数的最简式不是唯一的

例3 】用卡诺图将下面的函数式化简为最简与或式: F = ∑ m ( 0 , 4 , 5 , 6 , 7 , 8 , 11 , 13 , 15 , 16 , 20 , 21 , 22 , 23 , 24 , 25 , 27 , 29 , 31 ) F=\sum m(0,4,5,6,7,8,11,13,15,16,20,21,22,23,24,25,27,29,31) F=∑m(0,4,5,6,7,8,11,13,15,16,20,21,22,23,24,25,27,29,31)解: (1)画出 F F F 的卡诺图。这是一个五变量的逻辑函数,按五变量卡诺图中的编号填图,得出 F F F 的卡诺图如图 2.5.10 2.5.10 2.5.10 所示。

(2)画 K K K 圈化简函数。先找出只有一种圈法的最小项(有 ∗ * ∗ 的 1 1 1 格):

m 6 、 m 22 m_6、m_{22} m6、m22:用 ∑ m ( 4 , 5 , 6 , 7 , 20 , 21 , 22 , 23 ) = B ‾ C \sum m(4,5,6,7,20,21,22,23)=\overline BC ∑m(4,5,6,7,20,21,22,23)=BC 覆盖;

m 11 m_{11} m11:用 ∑ m ( 11 , 15 , 27 , 31 ) = B D E \sum m(11,15,27,31)=BDE ∑m(11,15,27,31)=BDE 覆盖;

m 13 m_{13} m13:用 ∑ m ( 5 , 7 , 13 , 15 , 21 , 23 , 29 , 31 ) = C E \sum m(5,7,13,15,21,23,29,31)=CE ∑m(5,7,13,15,21,23,29,31)=CE 覆盖;

m 8 m_8 m8:用 ∑ m ( 0 , 8 , 16 , 24 ) = C ‾   D ‾   E ‾ \sum m(0,8,16,24)=\overline C\,\overline D\,\overline E ∑m(0,8,16,24)=CDE 覆盖;

余下 m 25 m_{25} m25 用 ∑ m ( 25 , 27 , 29 , 31 ) = A B E \sum m(25,27,29,31)=ABE ∑m(25,27,29,31)=ABE 覆盖。

(3)写出最简与或式: F = B ‾ C + B D E + C E + C ‾   D ‾   E ‾ + A B E F=\overline BC+BDE+CE+\overline C\,\overline D\,\overline E+ABE F=BC+BDE+CE+CDE+ABE

(2)将函数化简为最简或与式

任何一个逻辑函数既可以等于其卡诺图上填 1 1 1 的那些最小项之和,也可以等于其卡诺图上填 0 0 0 的那些最大项之积,因此,如果要求某函数的最简或与式,也可以在该函数的卡诺图上合并那些填 0 0 0 的相邻项。这种方法简称为圈 0 0 0 合并,其化简步骤和化简原则与圈 1 1 1 的相同,只要按卡诺圈逐一写出或项,然后将所得的或项相与即可。但是需要注意,或项由 K K K 圈对应的没有变化的那些变量组成,当变量取 0 0 0 时写原变量,取 1 1 1 时写反变量

例4 】用卡诺图将下面的函数式化简为最简或与式: F = ∑ m ( 1 , 3 , 4 , 5 , 6 , 7 , 9 , 11 , 13 ) F=\sum m(1,3,4,5,6,7,9,11,13) F=∑m(1,3,4,5,6,7,9,11,13)解: (1)画出 F F F 的 K K K 图,如图 2.5.11 2.5.11 2.5.11 所示。

(2)画 K K K 圈,合并 0 0 0 格。合并规律与圈 1 1 1 相同,即 K K K 圈的数目应最少, K K K 圈应最大。该例中用 3 3 3 个 K K K 圈覆盖了所有的 0 0 0 格。

(3)写出最简或与式: F = ( B + D ) ( A ‾ + D ) ( A ‾ + B ‾ + C ‾ ) F=(B+D)(\overline A+D)(\overline A+\overline B+\overline C) F=(B+D)(A+D)(A+B+C)【例5 】用卡诺图将下面的函数式化为最简或与式: F = ( A + B ‾ + C + D ) ( A ‾ + B ) ( A ‾ + C ‾ ) C ‾ F=(A+\overline B+C+D)(\overline A+B)(\overline A+\overline C)\overline C F=(A+B+C+D)(A+B)(A+C)C解: (1)画出 F F F 的卡诺图。该例给出的 F F F 是一般或与式,因此将每个或项所覆盖的最大项都填 0 0 0,得到 F F F 的卡诺图如图 2.5.12 2.5.12 2.5.12 所示。

(2)画 K K K 圈化简函数。

(3)写出最简或与式: F = C ‾ ( A ‾ + B ) ( A + B ‾ + D ) F=\overline C(\overline A+B)(A+\overline B+D) F=C(A+B)(A+B+D)卡诺图化简法的优点是简单、直观,用卡诺图进行逻辑函数式的变化也比代数法方便。但是当变量数超过 6 6 6 个时,化简和变换就不再简单直观了,此时可以使用 Q − M Q-M Q−M 法(或称列表法)借助计算机进行处理。

三、具有无关项的逻辑函数及其化简

1、具有无关项的逻辑函数

逻辑问题分为完全描述非完全描述两种 。如果对于输入变量的每一组取值,逻辑函数都有确定的值,则称这类函数为完全描述的逻辑函数。如果对于输入变量的某些取值组合,逻辑函数值不确定,即函数值可以为 0 0 0,也可以为 1 1 1,那么称这类函数为非完全描述的逻辑函数。对于输出函数值不确定的输入最小项(或最大项)称为无关项 。具有无关项的逻辑函数就是非完全描述的逻辑函数。

无关项通常发生在以下两种情况:

(1)由于某些条件限制或约束,不允许输入变量的某些组合出现,因而它们所对应的函数值可以任意假设,可以为 0 0 0,也可以为 1 1 1. 这些不允许出现的组合所对应的最小项称为约束项 (或禁止项)。

(2)在某些输入变量的取值下,其函数值为 1 1 1 或为 0 0 0 都可以,并不影响电路的功能。这些使函数不确定的变量取值所对应的最小项称为任意项 (或随意项)。

约束项和任意项都称为无关项,包含无关项的逻辑函数一般用以下方式表示:

(1)在真值表或卡诺图中,无关项所对应的函数值用 × × × 或 ϕ \phi ϕ、 d d d 表示。

例6 】设计一个开关控制灯亮的逻辑电路,分别用变量 A 、 B 、 C A、B、C A、B、C 表示 3 3 3 个开关,用 F F F 表示灯亮与否。设开关闭合为 1 1 1,断开为 0 0 0,灯亮为 1 1 1,灯灭为 0 0 0,如果不允许有两个和两个以上开关同时闭合,试写出灯亮的逻辑函数表达式。

解: 根据题意,列出逻辑函数 F F F 的真值表如表 2.5.2 2.5.2 2.5.2 所示。

由于不允许有两个及两个以上的开关同时闭合,所以 3 3 3 个变量 A 、 B 、 C A、B、C A、B、C 的取值不能出现 011 011 011、 101 101 101、 110 110 110、 111 111 111 中的任何一种。这四组取值所对应的最小项称为约束项,对应的函数值用 × × × 表示。其约束条件可以表示为 A C = 0 AC=0 AC=0, B C = 0 BC=0 BC=0, A B = 0 AB=0 AB=0, A B C = 0 ABC=0 ABC=0,即 A B + A C + B C + A B C = 0 AB+AC+BC+ABC=0 AB+AC+BC+ABC=0,也可以写成 { F = A ‾   B ‾ C + A ‾ B C ‾ + A B ‾   C ‾ A B + B C + A C + A B C = 0 \begin{cases}F=\overline A\,\overline BC+\overline AB\overline C+A\overline B\,\overline C \\AB+BC+AC+ABC=0\end{cases} {F=ABC+ABC+ABCAB+BC+AC+ABC=0也可以简写成 F = ∑ m ( 1 , 2 , 4 ) + ∑ d ( 3 , 5 , 6 , 7 ) F=\sum m(1,2,4)+\sum d(3,5,6,7) F=∑m(1,2,4)+∑d(3,5,6,7)或 F = ∏ M ( 0 ) ⋅ ∏ d ( 3 , 5 , 6 , 7 ) F=\prod M(0)\cdot\prod d(3,5,6,7) F=∏M(0)⋅∏d(3,5,6,7)

2、具有无关项逻辑函数的化简

化简包含无关项的逻辑函数时,应充分、合理地利用无关项,使逻辑函数得到更加简单的结果。化简时,将卡诺图中的 × × ×(或 ϕ \phi ϕ)究竟是作为 1 1 1 还是作为 0 0 0 来处理应以卡诺圈数最少、卡诺圈最大为原则。因此,并不是所有的无关项都要覆盖。

例7 】化简例 6 6 6 的输出逻辑函数。

解:由表 2.5.2 2.5.2 2.5.2 所示的真值表画出 F F F 的卡诺图,如图 2.5.13 2.5.13 2.5.13 所示。

从图中可以看出,若将无关项 m 3 、 m 5 、 m 6 、 m 7 m_3、m_5、m_6、m_7 m3、m5、m6、m7 都作为 1 1 1,那么可以求得 F = A + B + C F=A+B+C F=A+B+C显然,这个结果要比不利用无关项的结果简单得多。这个结果说明,只要 3 3 3 个开关中有一个闭合,灯就亮。

例8 】试将下面的逻辑函数化简为最简与或非式,并用与或非门实现电路。 { F = ∑ m ( 2 , 4 , 6 , 8 ) A ‾   B ‾   C ‾ + A B C ‾ D = 0 \begin{cases}F=\sum m(2,4,6,8)\\\overline A\,\overline B\,\overline C+AB\overline CD=0\end{cases} {F=∑m(2,4,6,8)ABC+ABCD=0解:(1)画出 F F F 的卡诺图,如图 2.5.14 ( a ) 2.5.14(a) 2.5.14(a) 所示。

(2)圈 0 0 0 求出 F ‾ \overline F F 的最简与或式: F = D + A B + A C F=D+AB+AC F=D+AB+AC(3)将函数 F F F 变换为最简与或非式: F = F ‾ ‾ = D + A B + A C ‾ F=\overline{\overline F}=\overline{D+AB+AC} F=F=D+AB+AC

(4)画出逻辑电路,如图 2.5.14 ( b ) 2.5.14(b) 2.5.14(b) 所示。该电路中 D D D 也可以直接连接到或非门上,省掉一个与门。

相关推荐
ykjhr_3d1 个月前
数字电路虚拟仿真教学系统制作公司排名
数字电路·虚拟仿真教学·虚拟仿真系统
passxgx1 个月前
2.3 复合逻辑门和常用逻辑门
数字电路
passxgx3 个月前
1.2 数制
数字电路
passxgx3 个月前
1.1 数字逻辑电路概述
数字电路
FPGA-ADDA3 个月前
第一篇:软件无线电(SDR)基础与FPGA的角色
fpga开发·fpga·数字电路·dsp·软件无线电
渡我白衣5 个月前
从线性到非线性——神经网络的原理、训练与可解释性探索
开发语言·javascript·人工智能·深度学习·神经网络·机器学习·数字电路
551只玄猫5 个月前
数电实验3【译码器设计实验报告】数字电路 逻辑与计算机设计 logisim
数字电路·计算机组成原理·数电·实验报告·译码器·logisim
渡我白衣5 个月前
计算机组成原理(13):多路选择器与三态门
开发语言·javascript·ecmascript·数字电路·计算机组成原理·三态门·多路选择器
brave and determined6 个月前
传感器学习(day15):无人超市:从技术狂欢到理性回归,RFID的发展
单片机·嵌入式硬件·rfid·数字电路·nfc·嵌入式设计·近场通讯