当前位置:网站首页>数字电路基础(二)逻辑代数

数字电路基础(二)逻辑代数

2022-07-06 09:24:00 ブリンク

数字电路基础(二)逻辑代数

一、逻辑变量和逻辑函数

熟悉计算机编程语言的同学应该了解,在很多编程中存在一种布尔变量,它有且只有两个值真和假(True和False,有时也使用1和0)。布尔变量本身实际上可以算是一种逻辑变量,符合逻辑变量的特点。在给定确定的输入时,通常输出可以被唯一地确定。
我们假设有两个输入 A A A B B B,有一个输出 F F F,它们之间的逻辑表达式满足 F = f ( A , B ) F=f(A,B) F=f(A,B),其中 A , B , F A,B,F A,B,F被称为逻辑变量,变量 A A A B B B称为逻辑自变量 F F F被称为逻辑因变量(也称作逻辑函数)。逻辑变量通常只取0或1两个值,他可以在电路中来表示,电平的高与低,开关的断开与连接等状态。
在这里插入图片描述

在逻辑电路中,高低电平的定义并不只是唯一的值来确定,它们都是一定的定压范围。例如:在TTL电路中,高电平通常为2-5V,低电平通常为0-0.8V

二、基本逻辑运算和基本逻辑门

在逻辑电路中有三种基本的逻辑运算:逻辑与,逻辑或,逻辑非。而用来实现这三种逻辑运算的电路分别为与门,或门,非门。下面分别介绍这三种逻辑运算及门电路。

1.逻辑与

逻辑与是指在决定一个事件的全部条件都成立时,这个事件才会发生。如下图所示电路展示了用开关控制的电路如何实现与运算:
在这里插入图片描述

只有当S1和S2两个开关同时闭合时,灯泡L才会亮;若其中有任意一个开关断开,则灯泡L不会亮。
A A A B B B F F F的所有状态列在一个表中,此表称为真值表,如下表所示:
在这里插入图片描述

从真值表可以看出与运算和算术中的乘法相似,故逻辑与也叫做逻辑乘
F = A ⋅ B = A B F=A \cdot B=AB F=AB=AB
逻辑与有如下几种运算:
0 ⋅ 0 = 0 , 0 ⋅ 1 = 0 , 1 ⋅ 0 = 0 , 1 ⋅ 1 = 1 0\cdot 0=0,0\cdot 1=0,1\cdot0=0,1\cdot1=1 00=001=010=011=1
逻辑与的符号如下图所示
在这里插入图片描述

2.逻辑或

逻辑与是指在决定一个事件的全部条件中,只要有任意一个条件满足,事件就会发生。如下图所示的电路中展示了用开关控制的电路如何实现或运算:
在这里插入图片描述

当S1和S2中任何一个开关闭合时,灯L都会亮;若两个开关全部断开,则灯L不会亮。
或门的真值表如下图所示:
在这里插入图片描述

从真值表可以看出或运算和算术中的加法相似,故逻辑或也叫做逻辑加
F = A + B F=A + B F=A+B
逻辑与有如下几种运算:
0 + 0 = 0 , 0 + 1 = 1 , 1 + 0 = 1 , 1 + 1 = 1 0 + 0=0,0 + 1=1,1+0=1,1+1=1 0+0=00+1=11+0=11+1=1
逻辑与的符号如下图所示:
在这里插入图片描述

3.逻辑非

逻辑非是指在条件满足的情况下,事件不发生;条件不满足的情况下,事件发生。如下如所示的电路中展示了用开关控制电路如何实现非运算:
在这里插入图片描述

当开关S断开时,电源、电阻R和灯泡L形成通路,灯泡点亮;当开关S闭合时,灯泡L被开关S短路,灯泡不亮。
非门的真值表如下图所示:
在这里插入图片描述

其表达式为:
F = A ‾ F=\overline{A} F=A
非运算规则为:
0 ‾ = 1 , 1 ‾ = 0 \overline{0}=1,\overline{1}=0 0=11=0

4.复合逻辑运算

(1)与非运算

逻辑表达式为: F = A B ‾ F=\overline{AB} F=AB,它是由逻辑变量先做与运算,再做非运算得到的,逻辑符号如下图所示:
在这里插入图片描述

(2) 或非运算

逻辑表达式为: F = A + B ‾ F=\overline{A+B} F=A+B,它是由逻辑变量先做或运算,再做非运算得到的,逻辑符号如下图所示:
在这里插入图片描述

(3) 与或非运算

逻辑表达式为: F = A B + C D ‾ F=\overline{AB+CD} F=AB+CD,它是由逻辑变量先做与运算,再做或运算,最后做非运算得到的,逻辑符号如下图所示:
在这里插入图片描述

(4)异或运算

逻辑表达式为: F = A B ‾ + A ‾ B = A ⊕ B F=A\overline{B}+\overline{A}B=A\oplus B F=AB+AB=AB. 异或运算规则是:当输入的两个逻辑变量相同时,则输出为0;当输入的两个逻辑变量不同时,则输出为1。逻辑符号如下图所示:
在这里插入图片描述

(5)同或运算

逻辑表达式为: F = A B + A B ‾ = A ⊙ B F=AB+\overline{AB}=A\odot B F=AB+AB=AB. 同或运算规则是:当输入的两个逻辑变量相同时,则输出为1;当输入的两个逻辑变量不同时,则输出为0。逻辑符号如下图所示:
在这里插入图片描述

三、逻辑代数基本公式和常用公式

1.基本公式

(1)0-1律    A ⋅ 0 = 0 A\cdot 0=0 A0=0      A + 1 = 1 A+1=1 A+1=1
(2)自等律   A ⋅ 1 = A A\cdot 1=A A1=A      A + 0 = A A+0=A A+0=A
(3)重叠律   A ⋅ A = A A\cdot A=A AA=A     A + A = A A+A=A A+A=A
(4)互补律   A ⋅ A ‾ = 0 A\cdot \overline{A}=0 AA=0     A + A ‾ = 1 A+ \overline{A}=1 A+A=1
(5)交换律   A ⋅ B = B ⋅ A A\cdot B=B\cdot A AB=BA   A + B = B + A A+B=B+A A+B=B+A
(6)结合律   A ⋅ ( B ⋅ C ) = ( A ⋅ B ) ⋅ C A\cdot(B\cdot C)=(A\cdot B)\cdot C A(BC)=(AB)C
        A + ( B + C ) = ( A + B ) + C A+(B+C)=(A+B)+C A+(B+C)=(A+B)+C
(7)分配率   A ⋅ ( B + C ) = A B + A C A\cdot(B+C)=AB+AC A(B+C)=AB+AC
        A + ( B + C ) = ( A + B ) ( A + C ) A+(B+C)=(A+B)(A+C) A+(B+C)=(A+B)(A+C)
(8)吸收率   A ⋅ ( A + B ) = A A\cdot(A+B)=A A(A+B)=A     A + A B = A A+AB=A A+AB=A
(9)反演律   A B ‾ = A ‾ + B ‾ \overline{AB}=\overline{A}+\overline{B} AB=A+B     A + B ‾ = A ‾ ⋅ B ‾ \overline{A+B}=\overline{A}\cdot \overline{B} A+B=AB
(10)双重否定率   A ‾ ‾ = A \overline{\overline{A}} = A A=A

反演律是其中使用较多的,在化简逻辑表达式时有重要作用

2.基本规则

(1)代入规则

在任何一个逻辑等式中,如果将等式两边所有出现过的变量都使用一个逻辑函数替代,则此等式仍然成立。
例如: A ⋅ B ‾ = A ‾ + B ‾ \overline{A\cdot B}=\overline{A}+\overline{B} AB=A+B中的 A A A使用 F = A C F=AC F=AC替代,则原式变为: A C ⋅ B ‾ = A C ‾ + B ‾ = A ‾ + B ‾ + C ‾ \overline{AC\cdot B}=\overline{AC}+\overline{B}=\overline{A}+\overline{B}+\overline{C} ACB=AC+B=A+B+C.依然成立。

(2)反演规则

当我们需要求解一个逻辑函数 F F F的反函数 F ‾ \overline{F} F时,可以使用反演规则。
只需要将 F F F中的
⋅ 变 为 + , + 变 为 ⋅ , 1 变 为 0 , 0 变 为 1 , 变 量 取 反 \cdot变为+, +变为\cdot ,1变为0 ,0变为1,变量取反 ++1001
即可.

需要注意的是:变更反变量时,有两个变量以上公用的取反号不变

例如:求 F = A + B + C ‾ + D + E ‾ ‾ ‾ + ( G ⋅ H ) F=A+\overline{B+ \overline{C} +\overline{D+\overline{ E}}}+(G\cdot H) F=A+B+C+D+E+(GH)的反函数
     F ‾ = A ‾ ⋅ B ‾ ⋅ C ⋅ D ‾ ⋅ E ‾ ‾ ⋅ ( G ‾ + H ‾ ) \overline{F}=\overline{A}\cdot \overline{\overline{B}\cdot C \cdot \overline{\overline{D}\cdot E}}\cdot (\overline{G}+\overline{H}) F=ABCDE(G+H)

(3)对偶规则

当我们需要求解一个逻辑函数 F F F的对偶式 F ′ F' F时,
只需要将 F F F中的
⋅ 变 为 + , + 变 为 ⋅ , 1 变 为 0 , 0 变 为 1 \cdot变为+, +变为\cdot ,1变为0 ,0变为1 ++1001
即可.
两个逻辑函数相等 ⇔ \Leftrightarrow 两个逻辑函数的对偶式相等(充分必要条件)

例如:求 F = A ⋅ B + A ‾ ⋅ C + B ⋅ C F=A\cdot B+\overline{A}\cdot C+B\cdot C F=AB+AC+BC的对偶式
     F ′ = ( A + B ) ⋅ ( A ‾ + C ) ⋅ ( B + C ) F'=(A+B)\cdot (\overline{A}+C) \cdot (B+C) F=(A+B)(A+C)(B+C)

3.常用公式

公式1 A B + A B ‾ = A AB+A\overline{B}=A AB+AB=A
证明:  A B + A B ‾ = A ( B + B ‾ ) = A AB+A\overline{B}=A(B+\overline{B})=A AB+AB=A(B+B)=A
公式2 A + A B ‾ = A + B A+A\overline{B}=A+B A+AB=A+B
证明:  A + A ‾ B = ( A + A ‾ ) ⋅ ( A + B ) = A + B A+\overline{A}B=(A+\overline{A})\cdot (A+B)=A+B A+AB=(A+A)(A+B)=A+B
公式3 A B + A ‾ C + B C = A B + A ‾ C AB+\overline{A}C+BC=AB+\overline{A}C AB+AC+BC=AB+AC
证明:  A B + A ‾ C + B C = A B + A ‾ C + B C ( A + A ‾ ) = A B + A ‾ C + A B C + A ‾ B C = A B + A ‾ C AB+\overline{A}C+BC=AB+\overline{A}C+BC(A+\overline{A})=AB+\overline{A}C+ABC+\overline{A}BC=AB+\overline{A}C AB+AC+BC=AB+AC+BC(A+A)=AB+AC+ABC+ABC=AB+AC
公式4 A B + A ‾ C ‾ = A B ‾ + A ‾ C ‾ \overline{AB+\overline{A}C}=A\overline{B}+\overline{A}\overline{C} AB+AC=AB+AC
证明: 略
公式5 A ⊕ B ‾ = A ⊙ B \overline{A\oplus B}=A\odot B AB=AB
证明: 略

四、简单介绍几种使用公式法化简的思路

此处的方法名字都是作者本人自己起的,或许更加符合公式意义

(1)去异型

A + A B A+AB A+AB型,此处 A , B A,B A,B可以是一个逻辑表达式而非单独的逻辑变量。直接排出式中的“异类”: B B B,剩余的部分作为结果即 A + A B = A A+AB=A A+AB=A

(2)去非型

A + A ‾ B A+\overline{A}B A+AB型,此处 A , B A,B A,B可以是一个逻辑表达式而非单独的逻辑变量。直接排出式中的“非项”: A ‾ \overline{A} A,剩余的部分作为结果即 A + A ‾ B = A + B A+\overline{A}B=A+B A+AB=A+B

(3)去反型

A B + A ‾ B AB+\overline{A}B AB+AB型,此处 A , B A,B A,B可以是一个逻辑表达式而非单独的逻辑变量。直接排出式中的“相反项”: A ‾ \overline{A} A A A A,剩余的部分作为结果即 A B + A ‾ B = B AB+\overline{A}B=B AB+AB=B

(4)三缺一型

一般用于有三个变量,但在逻辑表达式中每一项只有两个逻辑变量的与或式中,可以在缺少某一逻辑变量的后面与运算 ( X + X ‾ ) (X+\overline{X}) (X+X) X X X表示缺少的那个逻辑变量。
举个简单的例子: F = A B ‾ + B C ‾ F=A\overline{B}+B\overline{C} F=AB+BC只需要在 A B ‾ A\overline{B} AB后与运算一个 ( C + C ‾ ) (C+\overline{C}) (C+C) B C ‾ B\overline{C} BC后与运算一个 ( A + A ‾ ) (A+\overline{A}) (A+A)即可。

五、使用卡诺图对逻辑表达式进行化简

1.最小项

想要使用卡诺图进行化简,首先我们需要明白最小项的概念。
在卡诺图中,每一个方格都代表一个最小项。在有 n n n个逻辑变量的逻辑函数中,所有变量的乘积项称为最小项。为什么它被称为最小项,是因为每一个变量在其中都只出现了一次,且都是以它本身或者反变量的形式出现的。类比于做排列组合,将每一个变量只可能出现一次的所有可能全部列出,就是它的全部最小项。

例如:两个变量 A , B A,B A,B的最小项有 2 2 = 4 2^2=4 22=4个( A B , A B ‾ , A ‾ B , A B ‾ AB,A\overline{B},\overline{A}B,\overline{AB} AB,AB,AB,AB

为了方便,使用 m i m_i mi的形式记录最小项。它的记法是:当逻辑变量在最小项中以原变量出现时,记为1;以反变量出现时,记为0.再将其转化为十进制数,这个十进制数是多少,那么 m i m_i mi的下标 i i i就为多少。

例如 A ‾ B C \overline{A}BC ABC记为二进制数为011,而011对应的十进制数为3,故 A ‾ B C \overline{A}BC ABC记为 m 3 m_3 m3

当我们熟悉了最小项的概念之后,我们可以将任何一个逻辑函数转化为最小项的形式,并使用 m i m_i mi的形式表示.
例如 A B C + A B C ‾ + A ‾ B C + A B ‾ C = m 7 + m 6 + m 3 + m 1 ABC+AB\overline{C}+\overline{A}BC+\overline{AB}C=m_7+m_6+m_3+m_1 ABC+ABC+ABC+ABC=m7+m6+m3+m1

2.卡诺图

(1)两变量卡诺图

下图是两变量的卡诺图:
在这里插入图片描述

该图表明, A A A B B B都有两种取值0和1,它们可以组成四种组合,每一种组合都是一个最小项。如果用最小项来表示卡诺图则如下图所示:
在这里插入图片描述

可以看到其二进制的值对应最小项 m i m_i mi中的 i i i

(2)三变量卡诺图

下面是三变量的卡诺图:
在这里插入图片描述

该图表明, A A A, B B B C C C都有两种取值0和1,它们可以组成八种组合,每一种组合都是一个最小项。如果用最小项来表示卡诺图则如下图所示:
在这里插入图片描述

同样也可以看到其二进制的值对应最小项 m i m_i mi中的 i i i

(4)四变量卡诺图

给出四变量卡诺图的最小项形式:
在这里插入图片描述

其确定的方式与二变量和三变量最小项确定的方式是一致的。

三变量和四变量卡诺图00,01,11,10的排列保证了两两之间的不同数只有一个,满足了相邻的条件

3.卡诺图表示逻辑函数

在我们已知逻辑函数的情况下,可以先将逻辑函数化简为最小项表达式,再把对应最小项的卡诺图中的值填为1,其余的填为0即可,也可以直接根据表达式填写卡诺图;若我们直接知道的就是最小项表达式,则可以直接把卡诺图中的对应位置填1,其余填0。
例如
F = A B C + A B C ‾ + A ‾ B C + A B ‾ C = m 7 + m 6 + m 3 + m 1 F=ABC+AB\overline{C}+\overline{A}BC+\overline{AB}C=m_7+m_6+m_3+m_1 F=ABC+ABC+ABC+ABC=m7+m6+m3+m1
我们已知了它的最小项表达形式,则可以直接在空白卡诺图中填入数字,如下图所示:
在这里插入图片描述

4.化简方法

(1)合并最小项

我们可以把卡诺图中相邻的8个、4个、2个、1个的最小项圈起来,进行合并。如下图所示:
在这里插入图片描述

图中的红色圆圈表示把这两项进行合并,很容易看出它们是相邻的。只得注意的是,卡诺图的边界并不是实际意义上的边界。
例如
在这里插入图片描述

在这里插入图片描述

这两种以及其他类似情况都属于两变量合并时的相邻情况

而对于四变量的情况来说,以下两种系列是显而易见的相邻情况:
在这里插入图片描述

在这里插入图片描述

除此之外,还有以下几种情况也属于四个变量相邻
在这里插入图片描述

在这里插入图片描述

对于八变量的合并情况有如下几种(包括类似的情况):
在这里插入图片描述

在这里插入图片描述

举例:用卡诺图化简 F = A B C D ‾ + A B C ‾ D + A ‾ B C ‾ + A B D ‾ + A ‾ B C + B C D F=\overline{ABCD}+A\overline{BC}D+\overline{A}B\overline{C}+AB\overline{D}+\overline{A}BC+BCD F=ABCD+ABCD+ABC+ABD+ABC+BCD

把逻辑表达式画在卡诺图中,并按照我们刚才讲解的方式进行合并:
在这里插入图片描述

此时,我们只需要把卡诺图上圈起来的部分写成逻辑表达式的形式,再对它们取或操作即可
F = A B C ‾ D + A C D ‾ + A ‾ B + B C + B D ‾ F=A\overline{BC}D+\overline{ACD}+\overline{A}B+BC+B\overline{D} F=ABCD+ACD+AB+BC+BD

(2)含有无关项的卡诺图化简

在一些逻辑函数中,变量取值的某些组合所对应的最小项不会出现或不允许出现,这些最小项称为约束项。一般在卡诺图中用" × \times ×"表示。在这种情况下化简时,可以借助无关项进行最小项的合并。
举例
F ( A , B , C , D ) = ∑ ( m 15 , m 13 , m 10 , m 6 , m 4 ) + ∑ d ( m 8 , m 7 , m 5 , m 2 , m 1 , m 0 ) F(A,B,C,D)=\sum(m_{15},m_{13},m_{10},m_6,m_4)+\sum_d(m_8,m_7,m_5,m_2,m_1,m_0) F(A,B,C,D)=(m15,m13,m10,m6,m4)+d(m8,m7,m5,m2,m1,m0)
可以把无关项当做1来处理进行合并。
在这里插入图片描述

然后还是把圈起来的写成逻辑表达式即可。
F = A ‾ B + B D + B D ‾ F=\overline{A}B+BD+\overline{BD} F=AB+BD+BD

初稿2022/5/5

原网站

版权声明
本文为[ブリンク]所创,转载请带上原文链接,感谢
https://blog.csdn.net/Leslie_i/article/details/124597111