问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

卡诺图与逻辑代数化简法

创作时间:
作者:
@小白创作中心

卡诺图与逻辑代数化简法

引用
CSDN
1.
https://blog.csdn.net/liht_1634/article/details/124027139

卡诺图和逻辑代数化简法是数字电路设计中常用的逻辑函数化简方法。本文详细介绍了这两种方法的基本原理、具体步骤和应用技巧,通过丰富的实例和图示,帮助读者掌握逻辑函数的化简方法。

一、卡诺图化简法

1. 学前需要了解知识点

  • 最小项的定义:一个函数的某个乘积项包含了函数的全部变量,其中每个变量都以原变量或反变量的形式出现,且仅出现一次,则这个乘积项称为该函数的一个标准积项,通常称为最小项。

  • 最小项的表示方法:通常用(m_i)来表示最小项。

  • 下标i的确定方式:把最小项中原变量记为1,反变量记为0,当变量顺序确定后,可以按顺序排列成一个二进制数,则与这个二进制数相对应的十进制数,就是这个最小项的下标i。

  • 最小项的相邻性:任何两个最小项若它们只有一个因子不同,其余因子都相同,则称这两个最小项为相邻最小项。相邻的两个最小项之和可以合并一项,消去一个变量。

2. 卡诺图(Karnaugh Map)

卡诺图是由美国工程师卡诺(Karnaugh)首先提出的一种用来描述逻辑函数的特殊方格图。在这个方格图中,每一个方格代表逻辑函数的一个最小项,而且几何相邻(在几何位置上,上下或左右相邻)的小方格具有逻辑相邻性,即两相邻小方格所代表的最小项只有一个变量取值不同。

对于有n个变量的逻辑函数,其最小项有(2^n)个。因此该逻辑函数的卡诺图由(2^n)个小方格构成,每个小方格都满足逻辑相邻项的要求。

两变量的卡诺图:

B\A
0
1
0
m0
m1
1
m2
m3

三变量的卡诺图:

四变量的卡诺图以此类推!

3. 逻辑函数的卡诺图化简法(无关项)

卡诺图相邻性的特点保证了几何相邻两方格所代表的最小项只有一个变量不同。因此,若相邻的方格都为1(简称1格)时,则对应的最小项就可以合并。合并的结果是消去这个不同的变量,只保留相同的变量。这是图形化简法的依据。

综上所述,卡诺图具备以下特性:

  1. 卡诺图中两个相邻1格的最小项可以合并成一个与项,并消去一个变量。
  2. 卡诺图中四个相邻1格的最小项可以合并成一个与项,并消去两个变量。
  3. 卡诺图中八个相邻1格的最小项可以合并成一个与项,并消去三个变量。

利用这3点特性来接着看下面的例子:

上图两个相邻1格的最小项可以合并成一个与项,并消去一个变量,化简式子如下:

根据上面3个特性再来看几个例子加深理解,以下是4个相邻1格的:

再来看一题:用卡诺图化简法求最简与或表达式

先画出卡诺图,然后转换十进制对应1,2,3,6,7的地方填入为1,其余填写为0(这个步骤有前面的知识点支撑,应该不难理解了)

然后获得式子:F =(m1+m3)+(m2+m3+m6+m7)

即:

好了到此,我们已经清楚如何化简了,接下来是对如何对卡诺图进行画圈进行探讨。

首先,有这么几点需要明确:

  1. 列出逻辑函数的最小项表达式,由最小项表达式确定变量的个数(如果最小项中缺少变量,应按例的方法补齐)。
  2. 画出最小项表达式对应的卡诺图。
  3. 将卡诺图中的1格画圈,一个也不能漏圈,否则最后得到的表达式就会与所给函数不等;1格允许被一个以上的圈所包围。
  4. 圈的个数应尽可能得少。即在保证1格一个也不漏圈的前提下,圈的个数越少越好。因为一个圈和一个与项相对应,圈数越少,与或表达式的与项就越少。
  5. 按照2k个方格来组合(即圈内的1格数必须为1,2,4,8等),圈的面积越大越好。因为圈越大,可消去的变量就越多,与项中的变量就越少。
  6. 每个圈应至少包含一个新的1格,否则这个圈是多余的。
  7. 用卡诺图化简所得到的最简与或式不是唯一的。

带着这7点来看

例3:用卡诺图化简以下表达式

: 从表达式中可以看出此为四变量的逻辑函数,但是有的乘积项中缺少一个变量,不符合最小项的规定。因此,每个乘积项中都要将缺少的变量补上:

因此,获得整个表达式如下:

这里演示了刚才提示的(1)点,最小项缺少变量补齐。

例2:

错误 (多画一个圈)

正确

例3:

错误(圈的面积不够大)

正确

例4:

错误(圈的面积不够大)

例5:

错误(红圈内无新的1格)

到此为止,已经学会了如何利用卡诺图化简法来化简函数。

对逻辑函数化简时,充分利用无关项,可以得到更简单的表达式,下面讲述。

无关项:约束项和任意项。

约束项:值恒为0的最小项;任意项:使函数值可以为1,也可以为0的最小项。

含有无关项的函数的两种表示形式:L=∑m(……)+d(……);L=∑m(……),给定约束条件为ABC+ACD=0。

化简具有无关项的逻辑函数时,要充分利用无关项可以当0也可以当1的特点,尽量扩大卡诺圈。

化简时可以将无所谓状态当作1或0,目的是得到最简结果。

实际应用举例:

4. 手动卡诺图化简总结

  • 逻辑函数的化简有公式法和卡诺图化简法等。
  • 公式法是利用逻辑代数的公式和规则(定理)来对逻辑函数化简,这种方法适用于各种复杂的逻辑函数,但需要熟练地运用公式和规则(定理),且具有一定的运用技巧。
  • 卡诺图化简法简单直观,容易掌握,但变量太多时卡诺图太复杂,一般说来变量个数大于等于5时该法已不适用。

5. 使用工具软件

1)概述

本软件最多支持8个变量,移步:很好用的卡诺图化简软件,4变量及以下效果很好。

2)表达式与卡诺圈的关系

图5.1 下方表达式与卡诺圈的关系

3)软件中真值表与卡诺图的填写

(1)真值表转逻辑表达式,填写卡诺图

真值表1

通过真值表1得到逻辑表达式Y2=/AB/CD(0101)+/A/B/CD(0001)+/A/BCD(0011)+AB/CD(1101)+A/BCD(1011),将其填写到下面的卡诺图中。

图5.2 填写卡诺图

(2)直接通过真值表填写到软件

也可以将上面的“真值表1”位置调换一下,得到如下所示的“真值表2”。

真值表2

将“真值表2”填写到软件的“Truth table”中,如下图所示。

图5.3 填写真值表

上面两种方法异曲同工,逻辑表达式Y2化简为:(/A/CD+/BCD+B/CD)或(/M60M41M40+/M50M41M40+M50/M41M40)。

二、逻辑代数化简法

1. 逻辑代数的基本定律

同一类定律上下互为对偶,只需记住上面部分即可。

1)0-1律与交换律

2)结合律、分配律与互补律

3)重叠律与还原律

4)反演律(摩根定理)与吸收律

5)冗余定律(多余项定理)

推论:AB+/AC+BCf(a,b,……)=AB+/AC

2. 逻辑代数的三个基本原则

1)代入规则

将逻辑等式中的某一变量代以另一函数其等式仍然成立。

2)对偶规则

将原函数式F=f(a,b,……)所有与变或,或变与,0变1,1变0,所有变量不变,这样得到的新函数叫原函数式的对偶式F'。

注意:

(1)由原式求对偶式时,原来的运算顺序保持不变。要正确运用括号来表示运算顺序,原来先运算的仍然要先运算。

(2)求对偶式时,原式中的长短非号一律保持不变。

(3)F和F'互为对偶,显然,某逻辑函数的对偶式再对偶便为原函数,即(F')'=F。

3)反演规则

从原函数求反函数的过程叫做反演,将原函数式F=f(a,b,……)中的所有与变或,或变与,0变1,1变0,原、反变量互非,这样就得到新函数/F叫原函数式的反函数。

注意:

(1)反演时,原来的运算顺序应保持不变。原式中要先去处的仍要先运算;

(2)反演过程中,多个变量上面的长非号没有变,但长非号下面的每变量都变了。

3. 逻辑函数表达式的形式及其变换

1)逻辑函数式的形式

2)逻辑函数式的标准形式

(1)最小项定义与最小项标准表达式

在一个逻辑函数中,包含全部变量的乘积项称为最小项。乘积项中的变量只能以原变量或反变量的形式出现一次。

n个变量的逻辑函数共有(2^n)个最小项。

性质1:每一个最小项唯一地与变量的一组取值相对应,且只有该组取值才使其为1。

性质2:所有最小项的逻辑和为1。

性质3:任意两个不相等的最小项的逻辑乘为0,即:(m_i*m_j=0,i≠j)。

(2)相邻项

只有一个变量为互补,其余所有变量均相同的两个最项。比如ABC相信项:/ABC、A/BC、AB/C。对于n个变量的逻辑函数,每个最小项均有n个相相邻项。任何两个相邻项或均可合并成一项并消去一个互补因子。

4. 逻辑函数式的化简

1)与或式最简的标准

(1)与项个数最少;(2)每个与项中的变量个数最少。

2)化简方法

代数法化简、卡诺图化简

(1)代数化简

利用A+AB=(1+B)*A=A吸收一个变量

利用公式A+/AB=A+B消去某项的多余因子。

利用多余项定理

消去多余项BC。

利用公式

等,给某逻辑函数式增加适当的项,进而消去原来函数的某些项,以达到简化的目的。

综合举例:

(2)卡诺图化简(见上述内容)

三、竞争与冒险

1. 竞争、冒险产生的原因

当某一个变量经两条以上路径到达输出时,由于每条路径上的延迟时间的不同,到达终点的时间有先后,这一现象称为竞争。

在具有竞争现象的组合电路中,当某个变量发生变化时,若真值表所描述的逻辑关系遭受短暂的破坏,在输出端出现不应有的尖脉冲时(毛刺),称为冒险现象。

2. 冒险的类型及判断

在图b中的1处和2处均存在竞争,但由于是与非门,在1处没有产生冒险现象,而在2处产生了冒险现象。

一个变理以原、反变量出现在函数F中时,该变量是具有竞争条件的变量。若消去其它变量(令其它变量为0或1),留下具有竞争的变量。若函数出现F=A+|A,则生生负尖脉冲的冒险现象,称为“0”型冒险;若函数出现F=A*|A,则产生正尖脉冲的冒险现象,称为“1”型冒险。

例:判断F=AC+|AB+|A|C是否存在冒险?

其中B不具备竞争条件,但A和C为具有竞争条件的变量。先考虑A能否产生冒险。

具有“0”型冒险

再考虑C能否产生冒险。

不具有冒险

3. 消除冒险的方法

1)修改逻辑设计

2)输出端接滤波电容

冒险脉冲是窄脉冲,输出端接几百pF电容滤除。

以上为组合逻辑电路的设计,关于时序逻辑电路的设计移步:数字电路-时序逻辑电路。

首先要有一个具体目标,那些所有你认为必须前置的知识,都可以在完成目标的过程中学到。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号