相同的逻辑函数可以有很多种不同的表达形式,本节介绍两种逻辑函数的标准形式,称为积之和标准型与和之积标准型,然后讨论如何将函数化为标准型。
首先来了解一下最小项的概念。在一个n变量的函数中,具有由这n个变量所组成的乘积项,如果在这些乘积项中,每个变量都以原变量或反变量的形式出现一次,且只出现一次,那么这个乘积项就称为最小项,一个n变量的函数共有2n个最小项。例如,一个包含A、B、C、D四个变量的函数,AB' CD,A' BCD都是最小项,BCD',B' CCD则不是最小项。
通常,把最小项表示为mi,i的确定方法是:把乘积项中的原变量当作1,反变量当作0,这样每个最小项都代表一个二进制数,这个二进制数所对应的十进制数即为i的值。例如,AB' CD对应的二进制数是1011,为m11。
三变量的所有最小项如表2-14所示。为了总结最小项的性质,列出全部最小项的真值,如表2-15所示。
表2-14 三变量函数的最小项
A |
B |
C |
最小项mi |
A |
B |
C |
最小项mi |
0 |
0 |
0 |
A' B' C' |
1 |
0 |
0 |
AB' C' |
0 |
0 |
1 |
A' B' C |
1 |
0 |
1 |
AB' C |
0 |
1 |
0 |
A' BC' |
1 |
1 |
0 |
ABC' |
0 |
1 |
1 |
A' BC |
1 |
1 |
1 |
ABC |
表2-15 三变量最小项的真值表
A B C |
m0 |
m1 |
m2 |
m3 |
m4 |
m5 |
m6 |
m7 |
A'B'C' |
A'B'C |
A'BC' |
A'BC |
AB'C' |
AB'C |
ABC' |
ABC | |
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 |
1 0 0 0 0 0 0 0 |
0 1 0 0 0 0 0 0 |
0 0 1 0 0 0 0 0 |
0 0 0 1 0 0 0 0 |
0 0 0 0 1 0 0 0 |
0 0 0 0 0 1 0 0 |
0 0 0 0 0 0 1 0 |
0 0 0 0 0 0 0 1 |
根据表2-15,可以总结出最小项的性质有以下3点。
· 对于每个最小项,只有一种变量取值可以使其为1,其他变量取值均使其为0。例如,对于最小项AB' C,只有取值101才能使其为1。
· 因为任意一种变量取值只能使一个最小项为1,而不能同时使两个或两个以上最小项为1,所以任意两个最小项的逻辑与为0。即:
当i≠j时, mi·mj=0
· 对于变量的任意取值,全部最小项的逻辑或为1。即:
∑mi=1
下面介绍积之和的标准形式。积之和的标准形式也就是最小项之和的形式。例如,F(A,B,C)=A' BC+AB' C+A' BC'就是最小项之和的形式,所以是积之和的标准形式,而F(A,B,C)=A' B+BC'+AB'虽然也是积之和的形式,但因为不是最小项之和的形式,所以不是积之和的标准形式。
通常为了方便,我们将积之和的标准形式写为它的一般表达式,举例说明。
F(A,B,C)=A' BC+AB' C+A' BC'
= m3+m5+m2
=∑m(2,3,5)
=∑(2,3,5)
再举一个例子。
F(A,B,C)=A' B' C'+A' BC'+A' BC+AB' C+ABC'+ABC
= m0+m2+m3+m5+m6+m7
=∑m(0,2,3,5,6,7)
=∑(0,2,3,5,6,7)
这就是积之和的一般表达式。
最大项是变量的和项,在一个n变量的和项中,每一个变量都以原变量或反变量的形式出现一次,且只出现一次,这样的和项就是最大项。一个n变量的函数共有2n个最大项。例如,一个包含A、B、C三个变量的函数,A'+B+C、A+B'+C'都是函数的最大项,而A+B、B+C+C'都不是最大项。
通常,我们把最大项表示为Mi,i的确定方法是:把乘积项中的原变量当作0,反变量当作1,这样每个最大项都代表一个二进制数,这个二进制数所对应的十进制数即为i的值。例如,A+B'+C对应的二进制数是010,为M2。
三变量的最大项列表如表2-16所示。
表2-16 三变量函数的最大项
A |
B |
C |
最大项Mi |
A |
B |
C |
最大项Mi |
0 |
0 |
0 |
A+B+C |
1 |
0 |
0 |
A'+B+C |
0 |
0 |
1 |
A+B+C' |
1 |
0 |
1 |
A'+B+C' |
0 |
1 |
0 |
A+B'+C |
1 |
1 |
0 |
A'+B'+C |
0 |
1 |
1 |
A+B'+C' |
1 |
1 |
1 |
A'+B'+C' |
同样,为了总结出最大项的性质,列出最大项对于所有变量取值的真值,如表2-17所示。
表2-17 三变量最大项的真值表
A B C |
M0 |
M1 |
M2 |
M3 |
M4 |
M5 |
M6 |
M7 |
A+B+C |
A+B+C' |
A+B'+C |
A+B'+C' |
A'+B+C |
A'+B+C' |
A'+B'+C |
A'+B'+C' | |
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 |
0 1 1 1 1 1 1 1 |
1 0 1 1 1 1 1 1 |
1 1 0 1 1 1 1 1 |
1 1 1 0 1 1 1 1 |
1 1 1 1 0 1 1 1 |
1 1 1 1 1 0 1 1 |
1 1 1 1 1 1 0 1 |
1 1 1 1 1 1 1 0 |
根据表2-17,可以总结出最大项的性质有以下3点:
· 对于每个最大项,只有一种变量取值可以使其为0,其他变量取值均使其为1。例如,对于最大项A+B'+C',只有取值011才能使其为0。
· 因为任意一种变量取值只能使一个最大项为0,而不能同时使两个或两个以上最大项为0,所以任意两个最大项的逻辑或为1。即:
当i≠j时, Mi+Mj=1
· 对于变量的任意取值,全部最大项的逻辑与为0。即:
∏Mi=0
下面介绍和之积的标准形式。和之积的标准形式也就是最大项之积的形式。例如,
F(A,B,C)=(A'+B+C)(A+B'+C')(A+B+C')就是最大项之积的形式,所以是和之积的标准形式,而F(A,B,C)=(A'+B)(B+C)(A+B')虽然也是和之积的形式,但因为不是最大项之积的形式,所以不是和之积的标准形式。
通常为了方便,同样将和之积的标准形式写为它的一般表达式。如:
F(A,B,C)=(A'+B'+C)(A+B'+C)(A'+B+C')
= M6·M2·M5
=∏M(3,5,6)
=∏(3,5,6)
这就是和之积的一般表达式。
根据前面关于最小项和最大项的学习,将最小项和最大项之间的关系总结如下:
(1)最小项与最大项互为非运算,即
mi=Mi'或mi' =Mi
例如, m5=AB' C=(A'+B+C')'=M5'
M7'=A'+B'+C'=(ABC)'=m7'
(2)若某函数可以用N项最小项之和表示,那么它的反函数可以用N项最大项之积表示,而且最大项与最小项的下标不变。
例如,若F(A,B,C)=∑m(2,4,5,7),则F' =∏M(2,4,5,7)
(3)一个n变量的函数,既可以用最小项之和表示,也可以用最大项之积表示。而且最大项的下标刚好是除最小项下标之外的其他可能的下标,所有最大项与最小项的下标个数之和为2n。
例如,若用最小项之和表示为 F(A,B,C)=∑m(1,3,4,6)
则用最大项之积表示为 F(A,B,C)=∏M(0,2,5,7)。
从一个逻辑函数的真值表,可以直观、方便地写出这个函数的和之积与积之和的标准型。下面举例说明。
【例2-8】写出如表2-18所示的逻辑函数的积之和标准型。
解:观察真值表2-18中使F=1的项,可以写出函数F的积之和标准型如下:
F=A' B' C+AB' C+ABC'
= m1+m5+m6
=∑m(1,5,6)
表2-18 真值表
A |
B |
C |
F |
A |
B |
C |
F |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
【例2-9】写出如表2-19所示的逻辑函数的和之积标准型。
表2-19 真值表
A |
B |
C |
F |
A |
B |
C |
F |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
解:观察真值表2-19中使F=0的项,可以写出函数F的和之积标准型如下:
F=(A+B+C')(A+B'+C)(A'+B+C)(A'+B'+C')
= M0·M3·M5·M6
=∏M(0,3,5,6)
【例2-10】写出如表2-20所示的逻辑函数表达式,并说明其逻辑功能。
表2-20 真值表
A |
B |
C |
F |
A |
B |
C |
F |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
解:由真值表2-20可以看出,使逻辑函数F=1的只有一项,所以用积之和标准型写比较方便。
F=A'BC
可见,该函数表示的是一个三输入的与门的输出,是一个简单的逻辑与运算。
【例2-11】写出如表2-21所示的逻辑函数表达式。
表2-21 真值表
A |
B |
C |
F |
A |
B |
C |
F |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
由真值表2-21可以看出,使逻辑函数F=0的项比较少,所以用和之积标准型来写比较方便。
F=(A+B+C')(A'+B+C)(A'+B'+C')
由以上例题知道,根据函数的真值表,就可以通过积之和与和之积标准型方便地写出逻辑函数表达式。
任何逻辑函数都可以化为积之和的标准形式,方法是:利用公式A=A·1=A(B+B'),再展开A=AB+AB',这样就可以将乘积项中没有出现的变量补齐,最后再将重复的项略去,得到积之和的标准形式。下面举例说明。
【例2-12】将函数F(A,B,C)=B+AC化为积之和标准型。
解:F(A,B,C)=B+AC
=B(A+A')+AC(B+B')
=AB+A' B+ABC+AB' C
=AB(C+C')+A' B(C+C')+ABC+AB' C
=ABC+ABC'+A' BC+A' BC'+ABC+AB' C
=ABC+ABC'+A' BC+A' BC'+AB' C
【例2-13】将函数F(A,B,C)=A化为积之和标准型。
解:F(A,B,C)=A
=A(B+B')
=AB+AB'
=AB(C+C')+AB'(C+C')
=ABC+ABC'+AB' C+AB' C'
任何逻辑函数都可以化为和之积的标准形式,方法是:利用公式A=A+0=A+BB,再利用分配律展开得A=(A+B)(A+B'),这样就可以将和式中没有出现的变量补齐,最后再将重复的项略去,得到和之积的标准形式。下面举例说明。
【例2-14】将函数F(A,B,C)=B化为和之积标准型。
解:F(A,B,C)=B
=B+AA'
=(B+A)(B+A')
=(B+A+CC')(B+A'+CC')
=(B+A+C)(B+A+C')(B+A'+C)(B+A'+C')
=(A+B+C)(A+B+C')(A'+B+C)(A'+B+C')
【例2-15】将函数F(A,B,C)=AC+BC化为和之积标准型。
解:F(A,B,C)=AC+BC
=(A+B)C
=(A+B+CC')(C+AA')
=(A+B+C)(A+B+C')(C+A)(C+A')
=(A+B+C)(A+B+C')(C+A+BB')(C+A'+BB')
=(A+B+C)(A+B+C')(C+A+B)(C+A+B')(C+A'+B)(C+A'+B')
=(A+B+C)(A+B+C')(A+B+C)(A+B'+C)(A'+B+C)(A'+B'+C)