首页/文章/ 详情

卡诺图与逻辑代数化简法

10月前浏览5393

本内容包括组合逻辑电路设计中的代数化简法(基本定律、基本原则等)与卡诺图化简法(含工具软件,实际案例讲解),竞争与冒险的消除等。

目录:

一、卡诺图化简法

1、学前需要了解知识点

2、卡诺图(karnaugh map)

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

4、手动卡诺图化简总结

5、使用工具软件

1)概述   2)表达式与卡诺圈的关系   3)软件中真值表与卡诺图的填写

二、逻辑代数化简法

1、逻辑代数的基本定律

1)0-1律与交换律   2)结合律、分配律与互补律   3)重叠律与还原律

4)反演律(摩根定理)与吸收律   5)冗余定律(多余项定理)

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

1)代入规则   2)对偶规则    3)反演规则

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

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

4、逻辑函数式的化简

1)与或式最简的标准   2)化简方法

三、竞争与冒险

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

2、冒险的类型及判断

3、消除冒险的方法

------------------------------

一、卡诺图化简法

1、学前需要了解知识点

最小项的定义

最小项的表示方法

最小项的相邻性

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

最小项的表示方法:通常用来表示最小项。

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

例1:

函数L(A,B,C)中有3个变量,他们的最小项是:

1706623206741(1).png

如果把原变量记为1,反变量记为0:

1706623267867.png

以上就是下标i的确认方式。

既然i已经确认,也就是说(m0、m1...m7)可以记成:

1706623300116.png

最小项的的相邻性:任何两个最小项若它们只有一个因子不同,其余因子都相同,则称这两个最小项为相邻最小项。

例如:m0和m1具有相邻性,m1和m2却没有,因为他们有两个不同的因子;m3和m4也不相邻,但是m3和m2相邻。

相邻的两个最小项之和可以合并一项,消去一个变量。如:

1706623373058.png

 到此,已经具备接下来学习卡诺图的准备知识点,接下来看看怎么画卡诺图以及卡诺图化简法。

2.卡诺图(karnaugh map)

基本知识:

卡诺图是由美国工程师卡诺(Karnaugh)首先提出的一种用来描述逻辑函数的 特殊方格图。

在这个方格图中,每一个方格代表逻辑函数的一个最小项,而且几何相邻(在几何位置上,上下或左右相邻)的小方格具有逻辑相邻性,即两相邻小方格所代表的最小项只有一个变量取值不同。

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

稍微整理下上面的基本知识点:

一种描述逻辑函数特殊方格图。

每格代表一个最小项,上下左右相邻就具备相邻性。

有n个变量,最小项就有2^n且卡诺图也由2^n个格子构成。

两变量的卡诺图:

1706623416310.png

三变量的卡诺图:

1706623450519(1).png

四变量的卡诺图以此类推!就不画了。

例2:画出逻辑函数的卡诺图。

1706623513632.png

通过上面的例子,我们已经掌握如何画卡诺图,接下来就是如何使用卡诺图进行化简。

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

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

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

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

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

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

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

111.png

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

222.png

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

1706623703934.png

再来看一题:

用卡诺图化简法求最简与或表达式

111.png

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

222.png

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


即:

333.png

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

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

列出逻辑函数的最小项表达式,由最小项表达式确定变量的个数(如果最小项中缺少变量,应按例的方法补齐)。

画出最小项表达式对应的卡诺图。

将卡诺图中的1格画圈,一个也不能漏圈,否则最后得到的表达式就会与所给函数不等;1格允许被一个以上的圈所包围。

圈的个数应尽可能得少。即在保证1格一个也不漏圈的前提下,圈的个数越少越好。因为一个圈和一个与项相对应,圈数越少,与或表达式的与项就越少。

按照2k个方格来组合(即圈内的1格数必须为1,2,4,8等),圈的面积越大越好。因为圈越大,可消去的变量就越多,与项中的变量就越少。

每个圈应至少包含一个新的1格,否则这个圈是多余的。

用卡诺图化简所得到的最简与或式不是唯一的。

带着这7点来看

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

111.png

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

222.png

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

333.png

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

例2:

111.png

错误 (多画一个圈)

222.png

333.png

正确

444.png


例3:

1.png

错误(圈的面积不够大)

22.png


33.png

正确

44.png

例4:

111.png

错误(圈的面积不够大)

222.png


333.png

例5:

11.png

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

22.png


33.png

1706624499745(1).png

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

------------------------------

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

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

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

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

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




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

111.png

实际应用举例:


222.png

333.png

4、手动卡诺图化简总结

逻辑函数的化简有公式法和卡诺图化简法等。

公式法是利用逻辑代数的公式和规则(定理)来对逻辑函数化简,这种方法适用于各种复杂的逻辑函数,但需要熟练地运用公式和规则(定理),且具有一定的运用技巧。

卡诺图化简法简单直观,容易掌握,但变量太多时卡诺图太复杂,一般说来变量个数大于等于5时该法已不适用。

5、使用工具软件

1)概述

本软件最多支持8个变量,4变量及以下效果很好。

------------------------------

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

1706625491857.png


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

------------------------------

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

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

1706625552827.png


真值表1

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

1706625627655.png


图5.2 填写卡诺图

----------------

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

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

1706625680604.png

真值表2

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

1706625815714.png


图5.3 填写 真值表

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

二、逻辑代数化简法

1、逻辑代数的基本定律

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

1)0-1律与交换律

1706625871683.png

------------------------------

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

1706625901999.png

------------------------------

3)重叠律与还原律

1706625948902(1).png

------------------------------

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

1706625987441.png



------------------------------

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

1706626017659.png

推论: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。

1706626066493(1).png

------------------------------

3)反演规则

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

1706626107022.png

注意:

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

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

1706626152649.png

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

1)逻辑函数式的形式

111.png

222.png

333.png

444.png

------------------------------

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

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

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

1706626367237(1).png

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

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

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

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

----------------

(2)相邻项

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

4、逻辑函数式的化简

1)与或式最简的标准

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

------------------------------

2)化简方法

代数法化简、卡诺图化简

(1)代数化简

111.png

----------------

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

222.png

----------------

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

11.png

----------------      

利用多余项定理

22.png

消去多余项BC。

33.png

----------------

利用公式

44.png


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

1706629545408.png

----------------

综合举例:

111.png

222.png

----------------

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

三、竞争与冒险

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

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

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

2、冒险的类型及判断

1706629721863.png

在图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能否产生冒险。

1706629751542.png

具有“0”型冒险

再考虑C能否产生冒险。

1706629782235(1).png

不具有冒险

3、消除冒险的方法

1)修改逻辑设计

2)输出端接滤波电容

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

以上为组合逻辑电路的设计。


来源:爱上电路设计

电路UG
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-01-30
最近编辑:10月前
爱上电路设计
电子工程师 逾二十年智能硬件设计
获赞 71粉丝 3文章 24课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈