【数字逻辑】——逻辑函数及其简化(学习笔记)
1849年英国数学家乔治,布尔( George Boole )首先提出了描述客观事物逻辑关系的数学方法﹣布尔代数。1938年克劳德.香农( Claude E . Shannon )将布尔代数应用到继电器开关电路的设计,因此又称为开关代数。随着数字技术的发展,布尔代数成为数字逻辑电路分析和设计的基础,又称为逻辑代数。它在二值逻辑电路中得到广泛应用。
📖 前言:1849年英国数学家乔治,布尔( George Boole )首先提出了描述客观事物逻辑关系的数学方法﹣布尔代数。1938年克劳德.香农( Claude E . Shannon )将布尔代数应用到继电器开关电路的设计,因此又称为开关代数。随着数字技术的发展,布尔代数成为数字逻辑电路分析和设计的基础,又称为逻辑代数。它在二值逻辑电路中得到广泛应用。
目录
🕒 1. 逻辑代数
🕘 1.1 基本逻辑
🕤 1.1.1 与、或、非
-
与逻辑运算:有0出0,全1出1
一般形式: A ⋅ 1 = A A · 1 = A A⋅1=A
A ⋅ 0 = 0 A · \ 0 = 0 A⋅ 0=0
A ⋅ A = A A · A = A A⋅A=A -
或逻辑运算:有1出1,全0出0
一般形式: A + 0 = A A + 0 = A A+0=A
A + 1 = 1 A + 1 = 1 A+1=1
A + A = A A + A = A A+A=A -
非逻辑运算
一般形式: A ‾ ‾ = A \overline{\overline{A}} = A A=A
A + A ‾ = 1 A + \overline{A} = 1 A+A=1
A ⋅ A ‾ = 0 A \cdot \overline{A}= 0 A⋅A=0
逻辑符号表示法:
能实现基本逻辑关系的基本单元电路称为逻辑门电路。如与门、或门、非门(反相器)等。
🕘 1.2 基本逻辑运算
🕤 1.2.1 与非逻辑
P
=
A
⋅
B
‾
P=\overline{A\cdot B}
P=A⋅B 有0出1,全1出0
🕤 1.2.2 或非逻辑
P
=
A
+
B
‾
P=\overline{A+ B}
P=A+B 全0出1,有1出0
🕤 1.2.3 与或非逻辑
P
=
A
⋅
B
+
C
⋅
D
‾
P=\overline{A\cdot B + C\cdot D}
P=A⋅B+C⋅D
🕤 1.2.4 同或逻辑
P = A ⊙ B = A ‾ ⋅ B ‾ + A ⋅ B P = A \odot B = \overline{A} \cdot \overline{B} + A \cdot B P=A⊙B=A⋅B+A⋅B 相同得1,相异得0
运算规则:
0
⊙
0
=
1
0 \odot 0 = 1
0⊙0=1
0
⊙
1
=
0
0 \odot 1 = 0
0⊙1=0
1
⊙
0
=
0
1 \odot 0 = 0
1⊙0=0
1
⊙
1
=
1
1 \odot 1 = 1
1⊙1=1
一般形式:
A
⊙
0
=
A
‾
A \odot 0 = \overline{A}
A⊙0=A
A
⊙
1
=
A
A \odot 1 = A
A⊙1=A
A
⊙
A
‾
=
0
A \odot \overline{A} = 0
A⊙A=0
A
⊙
A
=
1
A \odot A = 1
A⊙A=1
🕤 1.2.5 异或逻辑
P = A ⊕ B = A ⋅ B ‾ + A ‾ ⋅ B P = A \oplus B = A \cdot \overline{B} + \overline{A} \cdot B P=A⊕B=A⋅B+A⋅B 相同得0,相异得1
运算规则:
0
⊕
0
=
0
0 \oplus 0 = 0
0⊕0=0
0
⊕
1
=
1
0 \oplus 1 = 1
0⊕1=1
1
⊕
0
=
1
1 \oplus 0 = 1
1⊕0=1
1
⊕
1
=
0
1 \oplus 1 = 0
1⊕1=0
一般形式:
A
⊕
0
=
A
A \oplus 0 = A
A⊕0=A
A
⊕
1
=
A
‾
A \oplus 1 = \overline{A}
A⊕1=A
A
⊕
A
‾
=
1
A \oplus \overline{A} = 1
A⊕A=1
A
⊕
A
=
0
A \oplus A = 0
A⊕A=0
🕤 1.2.6 同或和异或的关系
A
⊙
B
=
A
⊕
B
‾
A \odot B = \overline{A \oplus B}
A⊙B=A⊕B
A
⊕
B
=
A
⊙
B
‾
A \oplus B = \overline{A \odot B}
A⊕B=A⊙B
若两个变量的原变量相同,则取非后的反变量也相同;反之亦然。因此有:
A
⊙
B
=
A
‾
⊙
B
‾
A \odot B = \overline{A} \odot \overline{B}
A⊙B=A⊙B
A
⊕
B
=
A
‾
⊕
B
‾
A \oplus B = \overline{A} \oplus \overline{B}
A⊕B=A⊕B
若变量A和变量B相同,则
A
‾
\overline{A}
A必与B相异或A与
B
‾
\overline{B}
B相异;反之亦然。因此有:
A
⊙
B
=
A
‾
⊕
B
=
A
⊕
B
‾
A \odot B = \overline{A} \oplus B = A \oplus \overline{B}
A⊙B=A⊕B=A⊕B
A
⊕
B
=
A
‾
⊙
B
=
A
⊙
B
‾
A \oplus B = \overline{A} \odot B = A \odot \overline{B}
A⊕B=A⊙B=A⊙B
复合逻辑符号
🕘 1.3 真值表与逻辑函数
🕤 1.3.1 由逻辑式转换到真值表
具体步骤:
- 确定逻辑表达式中输入变量个数及他们的取值组合,N个输入变量有 2 N 2^N 2N个取值组合。
- 画出输入与输出一一对应的表格,输入变量的取值按二进制递增的自然顺序排列。
- 将逻辑表达式化成
与或
表达式,找出其中所有的与项,在真值表中所有包含与项对应输出填1
,其余输出填0
。
例1:将函数
Y
=
A
‾
B
‾
⋅
C
Y=\overline{\overline{A}B} \cdot C
Y=AB⋅C转换成真值表
解答:逻辑表达式输入变量A、B、C有
2
3
=
8
2^3=8
23=8个取值,将输入与输出一一对应表格,按二进制递增顺序排列。
将逻辑表达式化为与或表达式:
Y
=
A
‾
B
‾
⋅
C
=
(
A
+
B
‾
)
⋅
C
=
A
C
+
B
‾
⋅
C
Y=\overline{\overline{A}B} \cdot C = (A+\overline{B}) \cdot C = AC + \overline{B} \cdot C
Y=AB⋅C=(A+B)⋅C=AC+B⋅C
在真值表中找出两个与项
,对应值填1,其余填0。
A
B
C
Y
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
1
1
1
0
0
1
1
1
1
\begin{array}{|c|c|c|c|} \hline A & B & C & Y \\ \hline 0 & 0 & 0 & 0 \\ \hline 0 & 0 & 1 & \color{red}1 \\ \hline 0 & 1 & 0 & 0 \\ \hline 0 & 1 & 1 & 0 \\ \hline 1 & 0 & 0 & 0 \\ \hline 1 & 0 & 1 & \color{red}1 \\ \hline 1 & 1 & 0 & 0 \\ \hline 1 & 1 & 1 & \color{red}1 \\ \hline \end{array}
A00001111B00110011C01010101Y01000101
🕤 1.3.2 由真值表转换到逻辑式
具体步骤:
- 将真值表中每一组使输出函数值为
1
的输入变量都写成一个乘积项。 - 将这些乘积项中输入变量取值为
1
的用原变量代替,取值为0
的用反变量代替 - 将这些乘积项
相加
即得逻辑式。
例2:图2-1-6为楼道里“单刀双掷”开关控制楼道灯的示意图。A表示楼上开关,B表示楼下开关,两个开关的上接点分别为a和b;下接点分别为c和d。在楼下时,可以按动开关B开灯,照亮楼梯;到楼上后,可以按动开关A关掉灯。其开通和关断情况与灯亮灭的关系如表2-1-12(a)所示。
- 第一步:消化逻辑命题并列写出真值表
对上述电路,用数学方法来描述。设逻辑变量 P表示灯的亮和灭,取 P = 1 P=1 P=1表示灯亮, P = 0 P=0 P=0表示灯灭;开关A和B接到上接点a和b时为1,接到下接点c和d时为0。这样开关A和B可能有四种组合情况,即A、B为00、01、10、11,列于表2-1-12(b) 的左边,根据开关电路的作用,不难写出P的值,如表2-1-12(b)所示,表2-1-12(b)称为逻辑函数P的真值表。
- 第二步:由真值表写逻辑函数表达式
方法一:把每个输出为1
的一组输入变量组合状态以逻辑乘
形式表示(原变量表示取值1,反变量表示取值0),再将所有的这些逻辑乘进行逻辑加
。这种表达式称为与-或表达式,或称为“积之和”式。
P
=
A
‾
⋅
B
‾
+
A
⋅
B
P= \overline{A} \cdot \overline{B} + A \cdot B
P=A⋅B+A⋅B
方法二:把每个输出为0
的一组输入变量组合状态以逻辑加
形式表示(原变量表示取值0,反变量表示取值1),再将所有的这些逻辑加进行逻辑乘
。这种表达式称为或-与表达式,或称为“和之积”式。
P
=
(
A
+
B
‾
)
⋅
(
A
‾
+
B
)
P = (A + \overline{B}) \cdot (\overline{A} + B)
P=(A+B)⋅(A+B)
例3:列出下列问题的真值表,并写出描述该问题的逻辑函数表达式。
有A、B、C3个输入信号,当3个输入信号中有两个或两个以上为高电平时,输出高电平,其余情况下,均输出低电平。
解:根据题意可得到真值表:
A
B
C
P
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
\begin{array}{|c|c|c|c|} \hline A & B & C & P \\ \hline 0 & 0 & 0 & 0 \\ \hline 0 & 0 & 1 & 0 \\ \hline 0 & 1 & 0 & 0 \\ \hline 0 & 1 & 1 & \color{red}1 \\ \hline 1 & 0 & 0 & 0 \\ \hline 1 & 0 & 1 & \color{red}1 \\ \hline 1 & 1 & 0 & \color{red}1 \\ \hline 1 & 1 & 1 & \color{red}1 \\ \hline \end{array}
A00001111B00110011C01010101P00010111
“积之和” 式: P = A ˉ B C + A B ˉ C + A B C ˉ + A B C P=\bar{A} B C+A \bar{B} C+A B \bar{C}+A B C P=AˉBC+ABˉC+ABCˉ+ABC
“和之积” 式: P = ( A + B + C ) ( A + B + C ˉ ) ( A + B ˉ + C ) ( A ˉ + B + C ) P=(A+B+C)(A+B+\bar{C}) (A+\bar{B}+C)(\bar{A}+B+C) P=(A+B+C)(A+B+Cˉ)(A+Bˉ+C)(Aˉ+B+C)
🕘 1.4 逻辑函数相等
假设F和G都是变量
A
1
、
A
2
、
⋅
⋅
⋅
、
A
n
A_1、A_2、···、A_n
A1、A2、⋅⋅⋅、An的逻辑函数,如果对应于
A
1
、
A
2
、
⋅
⋅
⋅
、
A
n
A_1、A_2、···、A_n
A1、A2、⋅⋅⋅、An的任一组状态组合,F和G的值都相同,则F和G是相等的,记作
F
=
G
F=G
F=G。
若F=G,则它们具有相同的真值表;反之,若F和G的真值表相同,则F=G 。
适用情况:逻辑表达式简单,逻辑变量较少。
例4: 设 F ( A , B , C ) = A ( B + C ) F(A,B,C)=A(B+C) F(A,B,C)=A(B+C), G ( A , B , C ) = A B + A C G(A,B,C)=AB+AC G(A,B,C)=AB+AC,请证明: F = G F = G F=G。
解:列写函数F和G的真值表,如果二者的真值表完全一致,则说明F=G。
A
B
C
F
=
A
(
B
+
C
)
G
=
A
B
+
A
C
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0
1
1
1
1
1
0
1
1
1
1
1
1
1
\begin{array}{ccc|c|c} \hline A & B & C & F=A(B+C) & G=A B+A C \\ \hline 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 \\ 0 & 1 & 1 & 0 & 0 \\ 1 & 0 & 0 & 0 & 0 \\ 1 & 0 & 1 & 1 & 1 \\ 1 & 1 & 0 & 1 & 1 \\ 1 & 1 & 1 & 1 & 1 \\ \hline \end{array}
A00001111B00110011C01010101F=A(B+C)00000111G=AB+AC00000111
🕤 1.4.1 逻辑代数基本规律
-
自等律
A + 0 = A A ⋅ 1 = A A+0=A \hspace{5em} A \cdot 1=A A+0=AA⋅1=A -
0-1律
A + 1 = 1 A ⋅ 0 = 0 A+1=\ 1 \hspace{5em} A \cdot 0=0 A+1= 1A⋅0=0 -
互补律
A + A ˉ = 1 A ⋅ A ˉ = 0 A+\bar{A}=1 \hspace{5em} A \cdot \bar{A}=0 A+Aˉ=1A⋅Aˉ=0
A ⊙ 0 = A ˉ A ⊕ 1 = A ˉ A\odot 0=\bar{A} \hspace{5em} A \oplus 1=\bar{A} A⊙0=AˉA⊕1=Aˉ
A ⊙ 1 = A A ⊕ 0 = A A\odot 1=A \hspace{5em} A \oplus 0=A A⊙1=AA⊕0=A
A ⊙ A ˉ = 0 A ⊕ A ˉ = 1 A \odot \bar{A}=0 \hspace{5em} A \oplus \bar{A}=1 A⊙Aˉ=0A⊕Aˉ=1 -
交换律
A + B = B + A A ⋅ B = B ⋅ A A+B=B+A \hspace{5em} A \cdot B=B \cdot A A+B=B+AA⋅B=B⋅A
A ⊙ B = B ⊙ A A ⊕ B = B ⊕ A A \odot B=B \odot A \hspace{5em} A \oplus B=B \oplus A A⊙B=B⊙AA⊕B=B⊕A -
结合律
A + B + C = ( A + B ) + C A B C = ( A B ) C A+B+C=(A+B)+C \hspace{5em} ABC=(AB)C A+B+C=(A+B)+CABC=(AB)C
A ⊙ B ⊙ C = ( A ⊙ B ) ⊙ C A ⊕ B ⊕ C = ( A ⊕ B ) ⊕ C A \odot B \odot C=(A \odot B) \odot C \hspace{5em} A \oplus B \oplus C=(A \oplus B) \oplus C A⊙B⊙C=(A⊙B)⊙CA⊕B⊕C=(A⊕B)⊕C -
分配律
A ( B + C ) = A B + A C A + B C = ( A + B ) ( A + C ) A(B+C)=AB+AC \hspace{5em} A+BC=(A+B)(A+C) A(B+C)=AB+ACA+BC=(A+B)(A+C)
A ( B ⊕ C ) = A B ⊕ A C A + ( B ⊙ C ) = ( A + B ) ⊙ ( A + C ) A(B \oplus C)=AB \oplus AC \hspace{5em} A+(B \odot C)=(A+B) \odot (A+C) A(B⊕C)=AB⊕ACA+(B⊙C)=(A+B)⊙(A+C) -
重叠律
A + A = A A ⋅ A = A A+A=A \hspace{5em} A \cdot A=A A+A=AA⋅A=A
A ⊙ A = 1 A ⊕ A = 0 A \odot A=1 \hspace{5em} A \oplus A=0 A⊙A=1A⊕A=0
推广:奇数个A重叠同或运算得A
,偶数个A重叠同或运算得1
;奇数个A重叠异或运算得A
,偶数个A重叠异或运算得0
-
反演律(德·摩根定理)
A + B ‾ = A ˉ ⋅ B ˉ \overline{A+B} = \bar{A} \cdot \bar{B} A+B=Aˉ⋅Bˉ
A B ‾ = A ˉ + B ˉ \overline{AB} = \bar{A}+\bar{B} AB=Aˉ+Bˉ
A ⊙ B ‾ = A ⊕ B \overline{A \odot B} = A \oplus B A⊙B=A⊕B
A ⊕ B ‾ = A ⊙ B \overline{A \oplus B} = A \odot B A⊕B=A⊙B -
调换律
若 A ⊙ B = C A \odot B=C A⊙B=C , 则必有 A ⊙ C = B , B ⊙ C = A A \odot C=B, \quad B \odot C=A A⊙C=B,B⊙C=A
若 A ⊕ B = C A \oplus B=C A⊕B=C , 则必有 A ⊕ C = B , B ⊕ C = A A \oplus C=B, \quad B \oplus C=A A⊕C=B,B⊕C=A
推论:
A ⋅ B = A ⊙ B ⊙ ( A + B ) A + B = A ⊕ B ⊕ ( A ⋅ B ) A \cdot B=A \odot B \odot(A+B) \hspace{5em} A+B=A \oplus B \oplus(A \cdot B) A⋅B=A⊙B⊙(A+B)A+B=A⊕B⊕(A⋅B)
A + B = A ⊙ B ⊙ ( A ⋅ B ) A ⋅ B = A ⊕ B ⊕ ( A + B ) A+B=A \odot B \odot(A \cdot B) \hspace{5em} A \cdot B=A \oplus B \oplus(A+B) A+B=A⊙B⊙(A⋅B)A⋅B=A⊕B⊕(A+B)
对于同或和异或函数, 非运算也可以调换, 即
A ⊙ B ˉ = A ˉ ⊙ B = A ⊙ B ‾ A \odot \bar{B}=\bar{A} \odot B=\overline{A \odot B} A⊙Bˉ=Aˉ⊙B=A⊙B
A ⊕ B ˉ = A ˉ ⊕ B = A ⊕ B ‾ A \oplus \bar{B}=\bar{A} \oplus B=\overline{A \oplus B} A⊕Bˉ=Aˉ⊕B=A⊕B
🕘 1.5 三个规则
🕤 1.5.1 代入规则
任何一个含有变量A的等式,如果将所有出现变量A的地方都代之以一个逻辑函数F,则等式仍然成立。
例5: 已知等式 A ( B + E ) = A B + A E A(B+E)=AB+AE A(B+E)=AB+AE,试证明将所有出现E的地方代之以 ( C + D ) (C+D) (C+D) ,等式仍成立。
解:原式左边=
A
[
B
+
(
C
+
D
)
]
=
A
B
+
A
(
C
+
D
)
=
A
B
+
A
C
+
A
D
A[B+ (C+D) ]=AB+A(C+D) = AB+AC +AD
A[B+(C+D)]=AB+A(C+D)=AB+AC+AD
原式右边=
A
B
+
A
(
C
+
D
)
=
A
B
+
A
C
+
A
D
AB+A(C+D) = AB+AC +AD
AB+A(C+D)=AB+AC+AD
所以等式仍然成立。
🕤 1.5.2 反演规则
设
F
F
F为任意逻辑表达式,若将
F
F
F中所有运算符、常量及变量作如下变换:
⋅
+
0
1
原变量
反变量
↓
↓
↓
↓
↓
↓
+
⋅
1
0
反变量
原变量
\begin{array}{cccccc} \cdot & + & 0 & 1 & \text { 原变量 } & \text { 反变量 } \\ \downarrow & \downarrow & \downarrow & \downarrow & \downarrow & \downarrow \\ \\+ & \cdot & 1 & 0 & \text { 反变量 } & \text { 原变量 } \end{array}
⋅↓++↓⋅0↓11↓0 原变量 ↓ 反变量 反变量 ↓ 原变量
则所得新的逻辑式即为
F
F
F的反函数,记为
F
ˉ
\bar{F}
Fˉ。
例6: 已知
F
=
A
ˉ
B
ˉ
+
C
D
‾
F=\bar{A}\bar{B}+C\overline{D}
F=AˉBˉ+CD,求
F
‾
\overline{F}
F
解:由反演规则,可得
F
‾
=
(
A
+
B
)
(
C
‾
+
D
‾
)
\overline{F} = (A+B)(\overline{C}+\overline{D})
F=(A+B)(C+D)
若用反演律求解,则
F
‾
=
A
ˉ
B
ˉ
+
C
D
‾
=
A
ˉ
B
ˉ
‾
⋅
C
D
‾
=
(
A
+
B
)
(
C
‾
+
D
‾
)
\overline{F} = \overline{\bar{A}\bar{B}+CD} = \overline{\bar{A}\bar{B}} \cdot \overline{CD} = (A+B)(\overline{C}+\overline{D})
F=AˉBˉ+CD=AˉBˉ⋅CD=(A+B)(C+D)
例7: 已知
F
=
A
+
B
+
C
ˉ
D
+
E
ˉ
‾
‾
F=A+\overline{B+\bar{C} \overline{D+\bar{E}}}
F=A+B+CˉD+Eˉ , 求
F
‾
\overline{F}
F 。
解:由反演规则, 可得
F
ˉ
=
A
ˉ
⋅
B
ˉ
⋅
(
C
+
D
ˉ
⋅
E
‾
‾
)
\bar{F}=\bar{A} \cdot \overline{\bar{B} \cdot(C+\overline{\bar{D} \cdot E}})
Fˉ=Aˉ⋅Bˉ⋅(C+Dˉ⋅E)
由求反函数注意:① 保持原式运算的优先次序;
② 原式中的不属于单变量上的非号不变。
🕤 1.5.3 对偶规则
设
F
F
F为任意逻辑表达式,若将
F
F
F中所有运算符和常量作如下变换:
⋅
+
0
1
↓
↓
↓
↓
+
⋅
1
0
\begin{array}{cccccc} \cdot & + & 0 & 1 \\ \downarrow & \downarrow & \downarrow & \downarrow \\ \\+ & \cdot & 1 & 0 \end{array}
⋅↓++↓⋅0↓11↓0
则所得新的逻辑式即为
F
F
F的对偶式,记为
F
∗
F^{*}
F∗
F
=
A
(
B
+
C
‾
)
F
∗
=
A
+
(
B
C
‾
)
F=A(B+\overline{C}) \hspace{6em} F^{*}=A+(B\overline{C})
F=A(B+C)F∗=A+(BC)
F
=
A
+
B
C
‾
F
∗
=
A
(
B
+
C
‾
)
F=A+B\overline{C} \hspace{6.8em} F^{*}=A(B+\overline{C})
F=A+BCF∗=A(B+C)
F
=
A
B
‾
+
A
(
C
+
0
)
F
∗
=
(
A
+
B
‾
)
(
A
+
C
⋅
1
)
F=A\overline{B}+A(C+0) \hspace{3.5em} F^{*}=(A+\overline{B})(A+C \cdot1)
F=AB+A(C+0)F∗=(A+B)(A+C⋅1)
注意:对偶式和反演式的区别是对偶式不需要将原变量与反变量互换。
推论:若有两个逻辑表达式
F
F
F和
G
G
G相等,则各自的对偶式
F
∗
F^*
F∗和
G
∗
G^*
G∗也相等。
🕘 1.6 常用公式
-
A B + A B ‾ = A AB+A\overline{B}=A AB+AB=A(消去律)
证明: A B + A B ‾ = A ( B + B ‾ ) = A ⋅ 1 = A AB+A\overline{B}=A(B+\overline{B})=A \cdot 1 =A AB+AB=A(B+B)=A⋅1=A
对偶式: ( A + B ) ⋅ ( A + B ‾ ) = A (A+B)\cdot(A+\overline{B})=A (A+B)⋅(A+B)=A
该公式说明:两个乘积项相加时,若它们只有一个因子不同(如一项中有 B B B,另一项中有 B ‾ \overline{B} B ),而其余因子完全相同,则这两项可以合并成一项,且能消去那个不同的因子(即 B B B和 B ‾ \overline{B} B)。 -
A + A B = A A+AB=A A+AB=A(吸收律1)
证明: A + A B = A ( 1 + B ) = A ⋅ 1 = A A+AB=A(1+B)=A\cdot 1=A A+AB=A(1+B)=A⋅1=A
对偶式: A ( A + B ) = A A(A+B)=A A(A+B)=A
该公式说明:两个乘积项相加时,若其中一项
是另一项的因子
,则另一项是多余的。 -
A + A ‾ B = A + B A+\overline{A}B=A+B A+AB=A+B(吸收律2)
证明: A + A ‾ B = ( A + A ‾ ) ( A + B ) = 1 ⋅ ( A + B ) = A + B A+\overline{A}B=(A+\overline{A})(A+B)=1\cdot (A+B)=A+B A+AB=(A+A)(A+B)=1⋅(A+B)=A+B
对偶式: A ( A ‾ + B ) = A B A(\overline{A}+B)=AB A(A+B)=AB
该公式说明:两乘积项相加时,若其中一项的非
是另一项的因子
,则此因子是多余的。 -
A B + A ‾ C + B ‾ C = A B + A ‾ C AB+\overline{A}C+\overline{B}C=AB+\overline{A}C AB+AC+BC=AB+AC
证明: A B + A ˉ C + B C = A B + A ˉ C + ( A + A ˉ ) B C = A B + A ˉ C + A B C + A ˉ B C = A B ( 1 + C ) + A ˉ C ( 1 + B ) = A B + A ˉ C A B+\bar{A} C+B C \\ = A B+\bar{A} C+(A+\bar{A}) B C \\ = A B+\bar{A} C+A B C+\bar{A} B C \\ = A B(1+C)+\bar{A} C(1+B) \\ = A B+\bar{A} C AB+AˉC+BC=AB+AˉC+(A+Aˉ)BC=AB+AˉC+ABC+AˉBC=AB(1+C)+AˉC(1+B)=AB+AˉC
对偶关系: ( A + B ) ( A ˉ + C ) ( B + C ) = ( A + B ) ( A ˉ + C ) (A+B)(\bar{A}+C)(B+C) \\ =(A+B)(\bar{A}+C) (A+B)(Aˉ+C)(B+C)=(A+B)(Aˉ+C)
该公式说明:三个乘积项相加时,其中两个乘积项中,一项含有原变量
A A A,另一项含有反变量
A ‾ \overline{A} A,而这两项的其余因子
都是第三个乘积的因子
,则第三个乘积项是多余的。
推广: A B + A ‾ C + B C D E + . . . = A B + A ‾ C AB+\overline{A}C+BCDE+...=AB+\overline{A}C AB+AC+BCDE+...=AB+AC -
A B + A ‾ C + B ‾ C = ( A + C ) ( A ‾ + B ) AB+\overline{A}C+\overline{B}C=(A+C)(\overline{A}+B) AB+AC+BC=(A+C)(A+B)(交叉互换律)
证明:右边 = A A ‾ + A B + A ‾ C + B C = A B + A ‾ C + B C = =A\overline{A}+AB+\overline{A}C+BC=AB+\overline{A}C+BC= =AA+AB+AC+BC=AB+AC+BC=左边
对偶律: ( A + B ) ( A ‾ + B ) = A C + A ‾ B (A+B)(\overline{A}+B)=AC+\overline{A}B (A+B)(A+B)=AC+AB
例8:将2022个“1”异或起来得到的结果
答案:0
🕘 1.7 逻辑函数的标准形式
🕤 1.7.1 最小项表达式
-
定义:如两个变量 A 、 B A、B A、B可构成 4 4 4个最小项: A ˉ B ˉ 、 A ˉ B 、 A B ˉ 、 A B \bar{A} \bar{B}、\bar{A}B、A\bar{B}、AB AˉBˉ、AˉB、ABˉ、AB。最小项是一个包含所有输入的与项。n个变量的最小项有 2 n 2^n 2n个。
-
最小项编号:任一个最小项用 m i m_i mi表示, m m m表示最小项,下标 i i i为使该最小项为 1 1 1的变量取值所对应的等效十进制数。求最小项编号时,原变量为1,反变量为0。
eg:有最小项 A ˉ B C \bar{A}BC AˉBC ,要使该最小项为 1 1 1 ,A 、B 、C 的取值应为0 、1 、1,二进制数011所等效的十进制数为3 ,所以 A ˉ B C = m 3 \bar{A}BC=m_3 AˉBC=m3。 -
性质:
①、对于任意一个最小项,只有一组变量
的取值可以使其值为1
,其余均为0
;
②、任意两个
最小项 m i m_i mi 和 m j m_j mj 之积为0
( i ≠ j i≠j i=j);
③、 n n n个变量的所有最小项( 2 n 2^n 2n个)之和
为1
。 -
全部由最小项
相加
而构成的与-或表达式
称为最小项表达式,又称为标准与-或式,或标准积之和式。 -
书写形式:
对于逻辑函数 F = A B C + A B C ˉ + A ˉ B C + A ˉ B ˉ C F=A B C+A B \bar{C}+\bar{A} B C+\bar{A} \bar{B} C F=ABC+ABCˉ+AˉBC+AˉBˉC
可以简写成: F ( A , B , C ) = m 7 + m 6 + m 3 + m 1 \quad F(A, B, C)=m_{7}+m_{6}+m_{3}+m_{1} F(A,B,C)=m7+m6+m3+m1
或写成: F ( A , B , C ) = ∑ m ( 1 , 3 , 6 , 7 ) \quad F(A, B, C)=\sum_{m}(1,3,6,7) F(A,B,C)=∑m(1,3,6,7) -
方法:先变换成与-或表达式,然后将各与项中所缺的变量逐步
补齐
。任何逻辑函数都有惟一
的最小项表达式。
例9: 将
F
=
A
B
C
+
A
ˉ
C
D
+
C
ˉ
D
ˉ
F=A B C+\bar{A} C D+\bar{C} \bar{D}
F=ABC+AˉCD+CˉDˉ 展开成最小项表达式。
解:
F
=
A
B
C
+
A
ˉ
C
D
+
C
ˉ
D
ˉ
=
A
B
C
(
D
+
D
ˉ
)
+
A
ˉ
(
B
+
B
ˉ
)
C
D
+
(
A
+
A
ˉ
)
(
B
+
B
ˉ
)
C
ˉ
D
ˉ
=
A
B
C
D
+
A
B
C
D
ˉ
+
A
ˉ
B
C
D
+
A
ˉ
B
ˉ
C
D
+
A
B
C
ˉ
D
ˉ
+
A
B
ˉ
C
ˉ
D
ˉ
+
A
ˉ
B
C
ˉ
D
ˉ
+
A
ˉ
B
ˉ
C
ˉ
D
ˉ
\boldsymbol{F}=A B C+\bar{A} C D+\bar{C} \bar{D}= \\ A B C(D+\bar{D})+\bar{A}(B+\bar{B}) C D+(A+\bar{A})(B+\bar{B}) \bar{C} \bar{D}= \\ A B C D+A B C \bar{D}+\bar{A} B C D+\bar{A} \bar{B} C D+A B \bar{C} \bar{D}+A \bar{B} \bar{C} \bar{D}+ \\ \bar{A} B \bar{C} \bar{D}+\bar{A} \bar{B} \bar{C} \bar{D}
F=ABC+AˉCD+CˉDˉ=ABC(D+Dˉ)+Aˉ(B+Bˉ)CD+(A+Aˉ)(B+Bˉ)CˉDˉ=ABCD+ABCDˉ+AˉBCD+AˉBˉCD+ABCˉDˉ+ABˉCˉDˉ+AˉBCˉDˉ+AˉBˉCˉDˉ
或写成:
F
(
A
,
B
,
C
,
D
)
=
m
15
+
m
14
+
m
7
+
m
3
+
m
12
+
m
8
+
m
4
+
m
0
F
(
A
,
B
,
C
,
D
)
=
∑
m
(
0
,
3
,
4
,
7
,
8
,
12
,
14
,
15
)
F(A, B, C, D)=m_{15}+m_{14}+m_{7}+m_{3}+m_{12}+m_{8}+m_{4}+m_{0} \\ F(A, B, C, D)=\sum_{m}(0,3,4,7,8,12,14,15)
F(A,B,C,D)=m15+m14+m7+m3+m12+m8+m4+m0F(A,B,C,D)=∑m(0,3,4,7,8,12,14,15)
注:如果函数表达式不是一个简单的与-或表达式,则首先将其转换成与-或表达式,再展开成最小项表达式
🕤 1.7.2 最大项表达式
-
定义:如两个变量 A 、 B A、B A、B可构成 4 4 4个最大项: A ˉ + B ˉ 、 A ˉ + B 、 A + B ˉ 、 A + B \bar{A}+ \bar{B}、\bar{A}+B、A+\bar{B}、A+B Aˉ+Bˉ、Aˉ+B、A+Bˉ、A+B。最大项是一个包含所有输入的或项。n个变量的最大项有 2 n 2^n 2n个。
-
最大项编号:任一个最大项用 M i M_i Mi表示, M M M表示最大项,下标 i i i为使该最大项为 0 0 0的变量取值所对应的等效十进制数。求最大项编号时,原变量为0,反变量为1。
eg:有最大项 A ˉ + B + C \bar{A}+B+C Aˉ+B+C ,要使该最大项为 0 0 0 ,A 、B 、C 的取值应为1 、0 、0,二进制数100所等效的十进制数为4 ,所以 A ˉ + B + C = M 4 \bar{A}+B+C=M_4 Aˉ+B+C=M4。 -
性质:
①、对于任意一个最大项,只有一组变量
的取值可以使其值为0
,其余均为1
;
②、任意两个
最小项 M i M_i Mi 和 M j M_j Mj 之和为1
( i ≠ j i≠j i=j);
③、 n n n个变量的所有最大项( 2 n 2^n 2n个)之和
为0
。 -
全部由最小项
相加
而构成的与-或表达式
称为最小项表达式,又称为标准与-或式,或标准积之和式。 -
书写形式:
对于逻辑函数: F = ( A + B + C ) ( A + B + C ˉ ) ( A ˉ + B + C ) F=(A+B+C)(A+B+\bar{C})(\bar{A}+B+C) F=(A+B+C)(A+B+Cˉ)(Aˉ+B+C)
可以简写成: F ( A , B , C ) = M 0 ⋅ M 1 ⋅ M 4 F(A, B, C)=M_{0} \cdot M_{1} \cdot M_{4} F(A,B,C)=M0⋅M1⋅M4
或写成: F ( A , B , C ) = ∏ M ( 0 , 1 , 4 ) F(A, B, C)=\prod \ M(0,1,4) F(A,B,C)=∏ M(0,1,4) -
方法:反复利用分配律 A + B C = ( A + B ) ( A + C ) A+BC=(A+B)(A+C) A+BC=(A+B)(A+C)进行变换。任何逻辑函数都有
惟一
的最大项表达式。
例10: 将
F
=
A
+
A
ˉ
B
C
F=A+\bar{A} B C
F=A+AˉBC 展开成最大项表达式。
解:
F
=
A
+
A
ˉ
B
C
=
A
+
B
C
=
(
A
+
B
)
(
A
+
C
)
=
(
A
+
B
+
C
C
ˉ
)
(
A
+
B
B
ˉ
+
C
)
=
(
A
+
B
+
C
)
(
A
+
B
+
C
ˉ
)
(
A
+
B
ˉ
+
C
)
=
M
0
⋅
M
1
⋅
M
2
=
∏
M
(
0
,
1
,
2
)
F=A+\bar{A} B C=A+B C=(A+B)(A+C) \\ = (A+B+C \bar{C})(A+B \bar{B}+C) \\ = (A+B+C)(A+B+\bar{C})(A+\bar{B}+C) \\ = M_{0} \cdot M_{1} \cdot M_{2}= \prod \ M(0,1,2)
F=A+AˉBC=A+BC=(A+B)(A+C)=(A+B+CCˉ)(A+BBˉ+C)=(A+B+C)(A+B+Cˉ)(A+Bˉ+C)=M0⋅M1⋅M2=∏ M(0,1,2)
🕤 1.7.3 最小项和最大项之间的关系
可以看出:编号相同的最小项和最大项具有互补
的特性,互为反函数。
🕤 1.7.4 两种标准形之间的相互转换
-
最小项表达式→最大项表达式
已知函数 F = ∑ m i \quad F=\sum m_{i} F=∑mi
由于 ∑ j = 0 2 n − 1 m j = 1 , F + F ˉ = 1 \sum_{j=0}^{2^{n}-1} m_{j}=1, F+\bar{F}=1 ∑j=02n−1mj=1,F+Fˉ=1
所以 F ˉ = ∑ k ≠ i m k , F = ∑ k ≠ i m k ‾ \bar{F}=\sum_{k \neq i} m_{k}, \quad F=\overline{\sum_{k \neq i} m_{k}} Fˉ=∑k=imk,F=∑k=imk
利用反演律可得: F = ∏ k ≠ i m k ‾ = ∏ k ≠ i M k \quad F=\prod_{k \neq i} \overline{m_{k}}=\prod_{k \neq i} M_{k} F=∏k=imk=∏k=iMk
例如: F ( A , B , C ) = ∑ m ( 0 , 1 , 2 , 5 , 7 ) = ∏ M ( 3 , 4 , 6 ) F(A, B, C)=\sum_{m}(0,1,2,5,7)=\prod M(3,4,6) F(A,B,C)=∑m(0,1,2,5,7)=∏M(3,4,6) -
最大项表达式→最小项表达式
已知函数 F = ∏ M i F=\prod M_{i} F=∏Mi
由于 ∏ j = 0 2 n − 1 M j = 0 , F ⋅ F ˉ = 0 \prod_{j=0}^{2^{n}-1} M_{j}=0, \quad F \cdot \bar{F}=0 ∏j=02n−1Mj=0,F⋅Fˉ=0
所以 F ˉ = ∏ k ≠ i M k , F = ∏ k ≠ i M k ‾ \bar{F}=\prod_{k \neq i} M_{k}, \quad F=\overline{\prod_{k \neq i} M_{k}} Fˉ=∏k=iMk,F=∏k=iMk
利用反演律可得: F = ∑ k ≠ i M k ‾ = ∑ k ≠ i m k \quad F=\sum_{k \neq i} \overline{M_{k}}=\sum_{k \neq i} m_{k} F=∑k=iMk=∑k=imk
例如: F ( A , B , C ) = ∏ M ( 0 , 1 , 2 , 4 , 5 ) = ∑ m ( 3 , 6 , 7 ) F(A, B, C)=\prod M(0,1,2,4,5)=\sum_{m}(3,6,7) F(A,B,C)=∏M(0,1,2,4,5)=∑m(3,6,7)
🕒 2. 逻辑函数
🕘 2.1 公式法(代数法)
公式化简法就是运用逻辑代数的基本公式和常用公式化简逻辑函数。
🕤 2.1.1 合并项法
利用公式 A B + A B ‾ = A AB+A\overline{B}=A AB+AB=A将两项合并为一项
例11:化简
A
(
B
C
+
B
ˉ
C
ˉ
)
+
A
(
B
C
ˉ
+
B
ˉ
C
)
A(BC+\bar{B}\bar{C})+A(B\bar{C}+\bar{B}C)
A(BC+BˉCˉ)+A(BCˉ+BˉC)
解:原式
=
A
B
C
+
A
B
ˉ
C
ˉ
+
A
B
C
ˉ
+
A
B
ˉ
C
=
A
B
+
A
B
ˉ
=
A
=ABC+A\bar{B}\bar{C}+AB\bar{C}+A\bar{B}C=AB+A\bar{B}=A
=ABC+ABˉCˉ+ABCˉ+ABˉC=AB+ABˉ=A
🕤 2.1.2 吸收法
利用公式 A + A B = A 及 A B + A ˉ C + B C = A B + A ˉ C A+AB=A及AB+\bar{A}C+BC=AB+\bar{A}C A+AB=A及AB+AˉC+BC=AB+AˉC,消去多余项
例12:化简
A
C
+
A
B
ˉ
C
D
+
A
B
C
+
C
ˉ
D
+
A
B
D
AC+A\bar{B}CD+ABC+\bar{C}D+ABD
AC+ABˉCD+ABC+CˉD+ABD
解:原式
=
A
C
+
C
ˉ
D
+
A
B
D
=
A
C
+
C
ˉ
D
=AC+\bar{C}D+ABD=AC+\bar{C}D
=AC+CˉD+ABD=AC+CˉD
🕤 2.1.3 消去法
利用公式 A + A ˉ B = A + B A+\bar{A}B=A+B A+AˉB=A+B,消去多余因子 A ˉ \bar{A} Aˉ
例12:化简
A
B
+
A
ˉ
C
+
B
ˉ
C
AB+\bar{A}C+\bar{B}C
AB+AˉC+BˉC
解:原式
=
A
B
+
(
A
ˉ
+
B
ˉ
)
C
=
A
B
+
A
B
‾
C
=
A
B
+
C
=AB+(\bar{A}+\bar{B})C=AB+\overline{AB}C=AB+C
=AB+(Aˉ+Bˉ)C=AB+ABC=AB+C
🕤 2.1.4 配项法
为了求得最简结果,有时可以将某一乘积项乘以 ( A + A ˉ ) (A+\bar{A}) (A+Aˉ),将一项展开为两项,或者利用式 A B + A ‾ C + B ‾ C = A B + A ‾ C AB+\overline{A}C+\overline{B}C=AB+\overline{A}C AB+AC+BC=AB+AC增加 B C BC BC项,再与其他乘积项进行合并化简,以达到求得最简结果的目的。
例13:化简
A
B
‾
+
B
C
‾
+
B
‾
C
+
A
‾
B
A\overline{B}+B\overline{C}+\overline{B}C+\overline{A}B
AB+BC+BC+AB
解:原式
=
A
B
ˉ
+
B
C
ˉ
+
B
ˉ
C
(
A
+
A
ˉ
)
+
A
ˉ
B
(
C
+
C
ˉ
)
=
A
B
ˉ
+
B
C
ˉ
+
A
B
ˉ
C
+
A
ˉ
B
ˉ
C
+
A
ˉ
B
C
+
A
ˉ
B
C
ˉ
=
A
B
ˉ
+
B
C
ˉ
+
A
ˉ
C
=A \bar{B}+B \bar{C}+\bar{B} C(A+\bar{A})+\bar{A} B(C+\bar{C})=\\ A \bar{B}+B \bar{C}+A \bar{B} C+\bar{A} \bar{B} C+\bar{A} B C+ \bar{A} B \bar{C}=\\ A \bar{B}+B \bar{C}+\bar{A} C
=ABˉ+BCˉ+BˉC(A+Aˉ)+AˉB(C+Cˉ)=ABˉ+BCˉ+ABˉC+AˉBˉC+AˉBC+AˉBCˉ=ABˉ+BCˉ+AˉC
例14:化简 F = A B + A C ˉ + B ˉ C + B ˉ D + B D ˉ + B C ˉ + A D E ( F + G ) \boldsymbol{F}=A B+A \bar{C}+\bar{B} C+\bar{B} D+B \bar{D}+B \bar{C}+A D E(F+G) F=AB+ACˉ+BˉC+BˉD+BDˉ+BCˉ+ADE(F+G)
解:原式 = A ( B + C ˉ ) + B ˉ C + B ˉ D + B D ˉ + B C ˉ + A D E ( F + G ) = A B ˉ C ‾ + B ˉ C + B ˉ D + B D ˉ + B C ˉ + A D E ( F + G ) = ( 反演律 ) A + B ˉ C + B ˉ D + B D ˉ + B C ˉ + A D E ( F + G ) = ( 吸收 ) A + B ˉ C + B ˉ D + B D ˉ + B C ˉ + C D ˉ = ( 吸收、配项 ) A + B ˉ D + B C ˉ + C D ˉ ( 吸收 ) ={\color{orange}A(B+\bar{C})}+\bar{B} C+\bar{B} D+B \bar{D}+B \bar{C}+A D E(F+G)=\\ {\color{orange}A \overline{\bar{B} C}}+\bar{B} C+\bar{B} D+B \bar{D}+B \bar{C}+A D E(F+G)= \hspace{6.4em}\text { ( 反演律 })\\ A+{\color{blue}\bar{B} C}+\bar{B} D+{\color{blue}B \bar{D}}+B \bar{C}+A D E(F+G)=\hspace{9em}\text { ( 吸收 ) }\\ A+{\color{green}\bar{B} C}+\bar{B} D+{\color{green}B \bar{D}}+B \bar{C}+{\color{blue}C \bar{D}}=\hspace{10.4em}\text { ( 吸收、配项 ) }\\ A+\bar{B} D+B \bar{C}+C \bar{D} \hspace{20.5em}\text { ( 吸收 ) } =A(B+Cˉ)+BˉC+BˉD+BDˉ+BCˉ+ADE(F+G)=ABˉC+BˉC+BˉD+BDˉ+BCˉ+ADE(F+G)= ( 反演律 )A+BˉC+BˉD+BDˉ+BCˉ+ADE(F+G)= ( 吸收 ) A+BˉC+BˉD+BDˉ+BCˉ+CDˉ= ( 吸收、配项 ) A+BˉD+BCˉ+CDˉ ( 吸收 )
例15:化简 F = A ( A + B ) ( A ˉ + C ) ( B + D ) ( A ˉ + C + E + F ) ( B ˉ + F ) ( D + E + F ) \boldsymbol{F}=A(A+B)(\bar{A}+C)(B+D)(\bar{A}+C+E+F) (\bar{B}+F)(D+E+F) F=A(A+B)(Aˉ+C)(B+D)(Aˉ+C+E+F)(Bˉ+F)(D+E+F)
方法一:利用各公式的对偶式进行化简
解:原式
=
A
(
A
ˉ
+
C
)
(
B
+
D
)
(
B
ˉ
+
F
)
=
A
C
(
B
+
D
)
(
B
ˉ
+
F
)
=A(\bar{A}+C)(B+D)(\bar{B}+F)\\ =A C(B+D)(\bar{B}+F)
=A(Aˉ+C)(B+D)(Bˉ+F)=AC(B+D)(Bˉ+F)
方法二:将或-与表达式转换成它的对偶与-或式,先对与-或对偶式进行化简,再求化简后的与-或式的对偶式。
解: F ∗ = A + A B + A ˉ C + B D + A ˉ C E F + B ˉ F + D E F = A + A ˉ C + B D + B ˉ F = A + C + B D + B ˉ F \boldsymbol{F}^{*}=A+A B+\bar{A} C+B D+\bar{A} C E F+\bar{B} F+D E F\\ =A+\bar{A} C+B D+\bar{B} F\\ =A+C+B D+\bar{B} F F∗=A+AB+AˉC+BD+AˉCEF+BˉF+DEF=A+AˉC+BD+BˉF=A+C+BD+BˉF
求
F
∗
\boldsymbol{F}^{*}
F∗的对偶式
F
∗
=
A
C
(
B
+
D
)
(
B
ˉ
+
F
)
\boldsymbol{F}^{*}=A C(B+D)(\bar{B}+F)
F∗=AC(B+D)(Bˉ+F)
归纳:利用公式法化简逻辑函数,要求熟练掌握对公式的运用,技巧性较强。判断化简后的结果是否最简有一定的难度。
🕘 2.2 图解法(卡诺图法)
🕤 2.2.1 什么是卡诺图
- 卡诺图就是将逻辑变量分成两组,每一组变量取值组合按循环码的规则排列所构成的方格图,图中的每一个方格对应着逻辑变量的一个最小项。
- 所谓循环码,是指相邻两组编码之间只有一个变量值不同的编码。
🕤 2.2.2 用卡诺图表示逻辑函数的方法
依据:由于任意一个 n n n变量的逻辑函数都可以变换成最小项表达式,而 n n n变量的卡诺图包含 n n n个变量的所有最小项,所以 n n n变量的卡诺图可以表示 n n n变量的任意一个逻辑函数。
方法:逻辑函数包含有哪几个最小项,就在卡诺图相对应的方格内填1
,其余各方格填0
。
例如:逻辑函数
F
(
A
,
B
,
C
)
=
∑
m
(
3
,
5
,
6
,
7
)
\boldsymbol{F}(A,B,C)=\sum_{m}(3,5,6,7)
F(A,B,C)=∑m(3,5,6,7),可在3
变量卡诺图对应的
m
3
,
m
5
,
m
6
,
m
7
m_3,m_5,m_6,m_7
m3,m5,m6,m7方格内填1
,其余方格填0
。
填1
的方格表示当函数的变量取值与方格所对应的变量取值相同时,逻辑函数的值为1
。
如果逻辑函数不是最小项表达式的形式,通常采用以下两种方法填写卡诺图:
- (1) 将逻辑函数变换成最小项表达式的形式。
例如:
F
=
A
B
C
ˉ
+
A
ˉ
B
D
+
A
C
=
A
B
C
ˉ
D
ˉ
+
A
B
C
ˉ
D
+
A
ˉ
B
C
ˉ
D
+
A
ˉ
B
C
D
+
A
B
ˉ
C
D
ˉ
+
A
B
ˉ
C
D
+
A
B
C
D
ˉ
+
A
B
C
D
=
∑
m
(
12
,
13
,
5
,
7
,
10
,
11
,
14
,
15
)
\boldsymbol{F}=A B \bar{C}+\bar{A} B D+A C\\ =A B \bar{C} \bar{D}+A B \bar{C} D+\bar{A} B \bar{C} D+\bar{A} B C D +A \bar{B} C \bar{D}+A \bar{B} C D+A B C \bar{D}+A B C D\\ =\sum_{m}(12,13,5,7,10, 11 ,14 ,15)
F=ABCˉ+AˉBD+AC=ABCˉDˉ+ABCˉD+AˉBCˉD+AˉBCD+ABˉCDˉ+ABˉCD+ABCDˉ+ABCD=∑m(12,13,5,7,10,11,14,15)
- (2) 观察法
对于某乘积项,找出所有使得该乘积项为1
的变量取值情况,则在这些变量取值所对应的方格内都填1
,就是该乘积项的卡诺图表示。
例如:
F
=
A
ˉ
B
C
ˉ
+
C
ˉ
D
+
B
D
\boldsymbol{F}=\bar{A}B\bar{C}+\bar{C}D+B D
F=AˉBCˉ+CˉD+BD
对于乘积项
A
ˉ
B
C
ˉ
\bar{A}B\bar{C}
AˉBCˉ,因为缺少变量D,只要变量A、B、C分别取值0、1、0即可,不论D取0或1,都成立,因此当变量取值为0100
和0101
时,乘积项的值为1
,所以在卡诺图对应的
m
4
、
m
5
m_4、m_5
m4、m5方格内填1
。
对于乘积项
B
D
BD
BD,只有当变量
B
B
B和
D
D
D都为1
时,乘积项的值才为1
,所以在满足该条件的
m
5
、
m
7
、
m
13
、
m
15
m_5、m_7 、m_{13} 、m_{15}
m5、m7、m13、m15四个方格内填1
。其余乘积项按相同方法处理。
🕤 2.2.3 利用卡诺图合并最小项的规律
依据:在卡诺图中,处于相邻位置的两个最小项都只有一个变量表现出取值0和1的差别,根据公式 A B + A B ˉ = A AB+A\bar{B}=A AB+ABˉ=A,这两个最小项就可以合并为一项。
- (1)
2
个相邻项的合并
2
个相邻的1格
圈在一起,产生的合并项由圈内没有0、1
变化的那些变量组成,消去了一
个变量。
- (2)
4
个相邻项的合并
4
个相邻的1格
圈在一起,有两个变量表现出0、1
的变化,因此合并项由n-2
个变量组成。
- (3)
8
个相邻项的合并
8
个相邻的1格
圈在一起,有三个变量表现出0、1
的变化,因此合并项由n-3
个变量组成。
- (4) 关于
5
变量的卡诺图
对于5变量以上的卡诺图,某些相邻1格有时不是十分直观地可以辨认,因此一般不采用卡诺图进行化简。
归纳:
① 在卡诺图中合并最小项,将图中相邻1格
加圈标志,每个圈内必须包含
2
i
2^i
2i个相邻1格
。
② 在n变量的卡诺图中,
2
i
2^i
2i个相邻1格圈在一起时,圈内有
i
i
i个变量发生0、1
变化,合并后的乘积项由
n
−
i
n-i
n−i个没有发生0、1
变化的变量组成。
🕤 2.2.4 利用卡诺图化简逻辑函数
根据卡诺图合并最小项的规律,用卡诺图化简逻辑函数时,函数化简后乘积项的数目等于合并圈的数目,每个乘积项所含变量因子的多少,取决于合并圈的大小。
主要项:在卡诺图中,把
2
i
2^i
2i个相邻1格
进行合并,如果合并圈不能再扩大,这样圈得的合并乘积项称为主要项。显然,主要项的圈不被更大的圈所覆盖。
必要项:如果主要项圈中至少有一个“特定”的1格没有被其他主要项所覆盖,这个主要项称为必要项或实质主要项。
多余项:如果一个主要项所包含的1格都被其他的主要项圈所覆盖,这个主要项就是多余项(冗余项)。
用卡诺图化简逻辑函数的步骤:
-
将函数变换成最小项表达式的形式;(也可直接填写)
-
填写卡诺图;(用卡诺图表示逻辑函数)
-
按卡诺图合并最小项的规律画包围圈;
(1)圈出所有没有相邻项的孤立1格主要项;
(2)找出只有一种合并可能的1格,构成主要项;
(3)对余下没有被覆盖的1格,选择一种合并方式加圈合并,直至所有1格都至少被圈一次,而且圈数最少。 -
对每一个合并圈进行化简,各合并乘积项之和即为逻辑函数的化简结果。
例16:化简函数 F ( a , b , c , d ) = ∑ m ( 0 , 2 , 5 , 6 , 7 , 9 , 10 , 14 , 15 ) \boldsymbol{F}(a, b, c, d)=\sum_{m}(0,2,5,6,7,9,10,14,15) F(a,b,c,d)=∑m(0,2,5,6,7,9,10,14,15)
解:
第一步:填写卡诺图(为了叙述方便,这里填写最小项的编号,平常应该在对应最小项方格中填1
) 。
第二步:画包围圈。
第三步:化简包围圈。
F ( a , b , c , d ) = ∑ m ( 9 ) + ∑ m ( 0 , 2 ) + ∑ m ( 5 , 7 ) + ∑ m ( 2 , 6 , 10 , 14 ) + ∑ m ( 6 , 7 , 14 , 15 ) = a b ˉ c ˉ d + a ˉ b ˉ d ˉ + a ˉ b d + c d ˉ + b c \boldsymbol{F}(a, b, c, d)=\sum_{m}(9)+\sum_{m}(0,2)+\\ \sum_{m}(5,7)+\sum_{m}(2,6,10,14)+\\ \sum_{m}(6,7,14,15)\\ =a \bar{b} \bar{c} d+\bar{a} \bar{b} \bar{d}+\bar{a} b d+c \bar{d}+b c F(a,b,c,d)=∑m(9)+∑m(0,2)+∑m(5,7)+∑m(2,6,10,14)+∑m(6,7,14,15)=abˉcˉd+aˉbˉdˉ+aˉbd+cdˉ+bc
例17:化简函数
F
(
a
,
b
,
c
,
d
)
=
∑
m
(
0
,
2
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
14
,
15
)
\boldsymbol{F}(a, b, c, d)=\sum_{m}(0,2,5,6,7,8,9,10,11,14,15)
F(a,b,c,d)=∑m(0,2,5,6,7,8,9,10,11,14,15)
解:
填写卡诺图,画出只有一种圈法的包围圈。如图(a)。
余下的三个最小项有两种处理方法,如图(b)和图( c )。
显然图(b)中的圈法对应的圈数最少。
化简结果为:
F
(
a
,
b
,
c
,
d
)
=
∑
m
(
5
,
7
)
+
∑
m
(
0
,
2
,
8
,
10
)
+
∑
m
(
8
,
9
,
10
,
11
)
+
∑
m
(
6
,
7
,
14
,
15
)
=
a
ˉ
b
d
+
b
ˉ
d
ˉ
+
a
b
ˉ
+
b
c
\boldsymbol{F}(a, b, c, d)=\sum m(5,7)+\sum _{m}(0,2,8,10)+\\ \sum_{m}(8,9,10,11)+\sum_{m}(6,7,14,15)\\ =\bar{a} b d+\bar{b} \bar{d}+a \bar{b}+b c
F(a,b,c,d)=∑m(5,7)+∑m(0,2,8,10)+∑m(8,9,10,11)+∑m(6,7,14,15)=aˉbd+bˉdˉ+abˉ+bc
如果合并所有的0格,即可得到函数的最简或-与式,也称为圈0法。
圈0法的方法和步骤与圈1法完全相同,不同的是,由
2
i
2^i
2i个0
格构成的圈,由圈内取值不变的变量相或
来表示(以原变量表示取值0,以反变量表示取值1),所有的或项
再相与
,即构成最简或-与式。
例18:求函数 F ( a , b , c , d ) = ∑ m ( 0 , 2 , 3 , 5 , 7 , 8 , 10 , 11 , 13 ) \boldsymbol{F}(a, b, c, d)=\sum_{m}(0,2,3,5,7,8,10,11,13) F(a,b,c,d)=∑m(0,2,3,5,7,8,10,11,13)的最简或-与式
解:填写卡诺图,画包围圈,化简。
∏
M
(
1
,
9
)
=
b
+
c
+
d
ˉ
∏
M
(
14
,
15
)
=
a
ˉ
+
b
ˉ
+
c
ˉ
∏
M
(
4
,
6
,
12
,
14
)
=
b
ˉ
+
d
\prod M(1,9)=b+c+\bar{d} \\ \prod M(14,15)=\bar{a}+\bar{b}+\bar{c} \\ \prod M(4,6,12,14)=\bar{b}+d
∏M(1,9)=b+c+dˉ∏M(14,15)=aˉ+bˉ+cˉ∏M(4,6,12,14)=bˉ+d
通过函数表达式的变换,如:
F
=
(
b
+
c
+
d
ˉ
)
(
a
ˉ
+
b
ˉ
+
c
ˉ
)
(
b
ˉ
+
d
)
=
b
ˉ
c
ˉ
d
‾
⋅
a
b
c
‾
⋅
b
d
ˉ
( 与非-与式 )
=
b
ˉ
c
ˉ
d
+
a
b
c
+
b
d
ˉ
‾
( 与-或非式 )
F=(b+c+\bar{d})(\bar{a}+\bar{b}+\bar{c})(\bar{b}+d) \\ =\overline{\bar{b} \bar{c} d} \cdot \overline{a b c} \cdot b \bar{d} \hspace{6.4em}\text { ( 与非-与式 ) }\\ =\overline{\bar{b} \bar{c} d+a b c+b \bar{d}}\hspace{5.4em}\text { ( 与-或非式 ) }
F=(b+c+dˉ)(aˉ+bˉ+cˉ)(bˉ+d)=bˉcˉd⋅abc⋅bdˉ ( 与非-与式 ) =bˉcˉd+abc+bdˉ ( 与-或非式 )
🕤 2.2.5 任意项的使用
- 任意项是指在一个逻辑函数中,变量的某些取值组合不会出现,或者函数在变量的某些取值组合时输出不确定,可能为0,也可能为1,这样的变量的取值组合(最小项)称为任意项。
- 具有任意项的逻辑函数称为非完全描述的逻辑函数。对于非完全描述的逻辑函数,合理地利用任意项,能使逻辑函数的表达式进一步化简。
- 在卡诺图中,任意项格可以作为
1格
,也可以作为0格
。具体是作为1格还是作为0格,以有利于得到最简
为前提。 - 所有的任意项用
∑
d
(
m
i
)
\sum{d(m_i)}
∑d(mi)表示,在卡诺图中,任意项格用
×
表示。
例19:化简 F ( a , b , c , d ) = ∑ m ( 0 , 2 , 5 , 9 , 15 ) + ∑ m ( 6 , 7 , 8 , 10 , 12 , 13 ) \boldsymbol{F}(a, b, c, d)=\sum_{m}(0,2,5,9,15)+\sum_{m}(6,7,8,10,12,13) F(a,b,c,d)=∑m(0,2,5,9,15)+∑m(6,7,8,10,12,13)
如果不利用任意项,即将任意项全部视作0
格,如图2-2-16(a),化简结果为
F
=
a
ˉ
b
ˉ
c
ˉ
+
a
ˉ
b
c
ˉ
d
+
a
b
c
d
+
a
b
ˉ
c
ˉ
d
F=\bar{a}\bar{b}\bar{c}+\bar{a}b\bar{c}d+abcd+a\bar{b}\bar{c}d
F=aˉbˉcˉ+aˉbcˉd+abcd+abˉcˉd 若合理利用任意项,对有利于化简的任意项作1格
处理,如图2-2-16(b) 中任意项
m
7
、
m
8
、
m
10
、
m
12
、
m
13
m_7、m_8、m_{10}、m_{12}、m_{13}
m7、m8、m10、m12、m13,不利于化简的
m
6
m_6
m6作为0格
处理,则得到
F
=
b
ˉ
d
ˉ
+
a
c
ˉ
+
b
d
F=\bar{b}\bar{d}+a\bar{c}+bd
F=bˉdˉ+acˉ+bd 对于非完全描述逻辑函数的化简,凡是1格
都必须加圈覆盖,而任意格×
则可以作为1格加圈合并
,也可作为0格不加圈
。最后必须指出,化简过程中,已对任意项赋予了确定的输出值。
🕒 3. 练习题
-
列出下述问题的真值表,并写出逻辑表达式:有a、b、c三个输入信号,当三个输入信号出现奇数个
1
时,输出为1
,其余情况下,输出为0
。
答案:
a b c Y 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 \begin{array}{c|c|c|c} \hline a & b & c & Y \\ \hline 0 & 0 & 0 & 0 \\ \hline 0 & 0 & 1 & 1 \\ \hline 0 & 1 & 0 & 1 \\ \hline 0 & 1 & 1 & 0 \\ \hline 1 & 0 & 0 & 1 \\ \hline 1 & 0 & 1 & 0 \\ \hline 1 & 1 & 0 & 0 \\ \hline 1 & 1 & 1 & 1 \\ \hline \end{array} a00001111b00110011c01010101Y01101001 -
直接写出下列各函数的反函数表达式及对偶函数表达式:
F = A B + C D ‾ + B C ‾ + D ˉ + C ˉ E + B + E ‾ ‾ F=A B+\overline{C D}+\overline{B C}+\overline{\bar{D}+\bar{C} E+\overline{B+E}} F=AB+CD+BC+Dˉ+CˉE+B+E
答案:
反函数: F ˉ = ( A ˉ + B ˉ ) ( C ˉ + D ˉ ) ‾ ( B ˉ + C ˉ ) ‾ D ( C + E ˉ ) B ˉ E ˉ ‾ ‾ \bar{F}=(\bar{A}+\bar{B}) \overline{(\bar{C}+\bar{D})} \ \overline{(\bar{B}+\bar{C})} \overline{D(C+\bar{E}) \overline{\bar{B} \bar{E}}} Fˉ=(Aˉ+Bˉ)(Cˉ+Dˉ) (Bˉ+Cˉ)D(C+Eˉ)BˉEˉ
对偶式: F ∗ = ( A + B ) ( C + D ) ‾ ( B + C ) ‾ D ˉ ( C ˉ + E ) B E ‾ ‾ F^{*}=(A+B) \overline{(C+D)} \ \overline{(B+C)} \overline{\bar{D}(\bar{C}+E) \overline{B E}} F∗=(A+B)(C+D) (B+C)Dˉ(Cˉ+E)BE -
用公式法证明下列等式:
A ˉ C ˉ + A ˉ B ˉ + A ˉ C ˉ D ˉ + B C = A ˉ + B C \bar{A} \bar{C}+\bar{A} \bar{B}+\bar{A} \bar{C} \bar{D}+B C=\bar{A}+B C AˉCˉ+AˉBˉ+AˉCˉDˉ+BC=Aˉ+BC
答案:
左 = ( A ˉ C ˉ + A ˉ C ˉ D ˉ ) + A ˉ B ˉ + B C = A ˉ C ˉ + A ˉ B ˉ + B C = A ˉ ( C ˉ + B ˉ ) + B C = A ˉ B C ‾ + B C = A ˉ + B C = 右 \begin{aligned} \text { 左 } &=(\bar{A} \bar{C}+\bar{A} \bar{C} \bar{D})+\bar{A} \bar{B}+B C=\bar{A} \bar{C}+\bar{A} \bar{B}+B C \\ &=\bar{A}(\bar{C}+\bar{B})+B C=\bar{A} \ \overline{B C}+B C=\bar{A}+B C=\text { 右 } \end{aligned} 左 =(AˉCˉ+AˉCˉDˉ)+AˉBˉ+BC=AˉCˉ+AˉBˉ+BC=Aˉ(Cˉ+Bˉ)+BC=Aˉ BC+BC=Aˉ+BC= 右 -
写出下列式中 F F F和它们的对偶式、反演式的最小项表达式:
F = A B ˉ + A ˉ B + B C F=A \bar{B}+\bar{A} B+B C F=ABˉ+AˉB+BC
答案:
F ( A , B , C ) = A B ˉ C ˉ + A B ˉ C + A ˉ B C ˉ + A ˉ B C + A B C = ∑ m ( 2 , 3 , 4 , 5 , 7 ) F(A, B, C)=A \bar{B} \bar{C}+A \bar{B} C+\bar{A} B \bar{C}+\bar{A} B C+A B C=\sum m(2,3,4,5,7) F(A,B,C)=ABˉCˉ+ABˉC+AˉBCˉ+AˉBC+ABC=∑m(2,3,4,5,7)
反演式: F ˉ ( A , B , C ) = ∑ m ( 0 , 1 , 6 ) \bar{F}(A, B, C)=\sum m(0,1,6) Fˉ(A,B,C)=∑m(0,1,6)
对偶式: F ∗ ( A , B , C ) = ∑ m ( 7 , 6 , 1 ) F^{*}(A, B, C)=\sum m(7,6,1) F∗(A,B,C)=∑m(7,6,1) -
用公式法化简下列式子:
F = A C + B ˉ C ‾ + B ( A C ˉ + A ˉ C ) ‾ F=\overline{\overline{A C+\bar{B} C}+B(A \bar{C}+\bar{A} C)} F=AC+BˉC+B(ACˉ+AˉC)
标答:
F = ( A C + B ˉ C ) ( B ˉ + A C + A ˉ C ˉ ) = A C ( A C + B ˉ + A ˉ C ˉ ) + B ˉ C ( B ˉ C + B ˉ C ˉ + A C + A ˉ C ˉ ) = A C + B ˉ C [ 公 式 : A ( A + B ) = A ] F =(A C+\bar{B} C)(\bar{B}+A C+\bar{A} \bar{C}) \\ =A C(A C+\bar{B}+\bar{A} \bar{C})+\bar{B} C(\bar{B} C+\bar{B} \bar{C}+A C+\bar{A} \bar{C}) \\ =A C+\bar{B} C \hspace{20em} [公式: A(A+B)=A] F=(AC+BˉC)(Bˉ+AC+AˉCˉ)=AC(AC+Bˉ+AˉCˉ)+BˉC(BˉC+BˉCˉ+AC+AˉCˉ)=AC+BˉC[公式:A(A+B)=A]
答案:
F = ( A C + B ˉ C ) ⋅ B ( A C ˉ + A ˉ C ) ‾ = ( A C + B ˉ C ) ⋅ ( B ˉ + A C ˉ + A ˉ C ‾ ) = ( A C + B ˉ C ) ⋅ ( B ˉ + A ˉ C ˉ + A C ) = A B C + A C + B ˉ C + A B ˉ C = A C + B ˉ C \begin{aligned} F &=(A C+\bar{B} C) \cdot \overline{B(A \bar{C}+\bar{A} C)} \\ &=(A C+\bar{B} C) \cdot(\bar{B}+\overline{A \bar{C}+\bar{A} C}) \\ &=(A C+\bar{B} C) \cdot(\bar{B}+\bar{A} \bar{C}+A C) \\ &=A B C+A C+\bar{B} C+A \bar{B} C \\ &=A C+\bar{B} C \end{aligned} F=(AC+BˉC)⋅B(ACˉ+AˉC)=(AC+BˉC)⋅(Bˉ+ACˉ+AˉC)=(AC+BˉC)⋅(Bˉ+AˉCˉ+AC)=ABC+AC+BˉC+ABˉC=AC+BˉC -
用图解法化简下列各函数:
(1) F ( a , b , c , d ) = ∏ M ( 5 , 7 , 13 , 15 ) F(a, b, c, d)=\prod M(5,7,13,15) F(a,b,c,d)=∏M(5,7,13,15);
(2) F ( A , B , C , D , E ) = ∑ m ( 0 , 2 , 4 , 9 , 11 , 14 , 15 , 16 , 17 , 23 , 25 , 29 , 31 ) F(A, B, C, D, E)=\sum m(0,2,4,9,11,14,15,16,17,23,25,29,31) F(A,B,C,D,E)=∑m(0,2,4,9,11,14,15,16,17,23,25,29,31);
(3) F ( a , b , c , d , e ) = ∏ M ( 0 , 2 , 4 , 9 , 11 , 14 , 15 , 16 , 17 , 23 , 25 , 29 , 31 ) F(a, b, c, d, e)=\prod M(0,2,4,9,11,14,15,16,17,23,25,29,31) F(a,b,c,d,e)=∏M(0,2,4,9,11,14,15,16,17,23,25,29,31);
答案:(1): F = b ˉ + d ˉ F=\bar{b}+\bar{d} F=bˉ+dˉ
(2)本题最简与-或式答案唯一,用Q-M法可得同样结果,共含7个乘积项,如下式所示: F = A ˉ B ˉ D ˉ ⋅ E ˉ + A ˉ ⋅ B ˉ ⋅ C ˉ ⋅ E ˉ + A ˉ B C ˉ E + A ˉ B C D + A B ˉ ⋅ C ˉ ⋅ D ˉ + A B D ˉ E + A C D E F=\bar{A} \bar{B} \bar{D} \cdot \bar{E}+\bar{A} \cdot \bar{B} \cdot \bar{C} \cdot \bar{E}+\bar{A} B \bar{C} E+\bar{A} B C D+A \bar{B} \cdot \bar{C} \cdot \bar{D}+A B \bar{D} E+A C D E F=AˉBˉDˉ⋅Eˉ+Aˉ⋅Bˉ⋅Cˉ⋅Eˉ+AˉBCˉE+AˉBCD+ABˉ⋅Cˉ⋅Dˉ+ABDˉE+ACDE
(3)首先分析本题同题(2)的区别:题(2)是最小项之和式,而本题是最大项之积式,但两题函数的所有标准项的下标号码完全一样,项数也相同,即它们互为反函数。因此利用反演规则就可得到答案,如下式所示: F = ( a + b + d + e ) ( a + b + c + e ) ( a + b ˉ + c + e ˉ ) ( a + b ˉ + c ˉ + d ˉ ) ( a ˉ + b + c ˉ + d ) ( a ˉ + b ˉ + d + e ˉ ) ( a ˉ + c ˉ + d ˉ + e ˉ ) F=(a+b+d+e)(a+b+c+e)(a+\bar{b}+c+\bar{e})(a+\bar{b}+\bar{c}+\bar{d})(\bar{a}+b+\bar{c}+d)(\bar{a}+\bar{b}+d+\bar{e})(\bar{a}+\bar{c}+\bar{d}+\bar{e}) F=(a+b+d+e)(a+b+c+e)(a+bˉ+c+eˉ)(a+bˉ+cˉ+dˉ)(aˉ+b+cˉ+d)(aˉ+bˉ+d+eˉ)(aˉ+cˉ+dˉ+eˉ)
这篇文章从国庆拖到现在,没有考虑好应考性和知识全面性,本期开始停更,愿天堂没有图表和Markdown🙏🙏🙏
OK,以上就是本期知识点“逻辑函数及其简化”的知识啦~~ ,感谢友友们的阅读。后续还会继续更新,欢迎持续关注哟📌~
💫如果有错误❌,欢迎批评指正呀👀~让我们一起相互进步🚀
🎉如果觉得收获满满,可以点点赞👍支持一下哟~
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)