电路分为模拟电路与数字电路,模拟电路理论是整个电子电路的基础。但要想组成复杂的处理系统电路,数字电路有他自己的优势,他的优势就在于他的逻辑设计可以与实际电路设计相分离,分离的结果就是我们现在所看到的,程序设计员并不一定要知道电路知识。数字电路之所以能达到这种效果和他的抗干扰能力是密不可分的。他的抗干扰能力为什么强我这里就不多说了,下面我只对用卡诺图进行数字电路的逻辑设计和化简做一下讲解。知识来原于数字电路基础课程。对数字控制电路有兴趣的可以看一下,这是每一个电子爱好者都应该知道的知识。

卡诺图化简法

卡诺图化简法又称为图形化简法。该方法简单、直观、容易掌握,因而在逻辑设计中得到广泛应用。

一 卡诺图的构成

卡诺图是一种平面方格图,每个小方格代表一个最小项,故又称为最小项方格图。

1.结构特点

卡诺图中最小项的排列方案不是唯一的,图1(a)、(b)、(c)、(d)分别为2变量、3变量、4变量、5变量卡诺图的一种排列方案。图中,变量的坐标值0表示相应变量的反变量,1表示相应变量的原变量。各小方格依变量顺序取坐标值,所得二进制数对应的十进制数即相应最小项的下标i。

在五变量卡诺图中,为了方便省略了符号“m”,直接标出m的下标i 。

用卡诺图进行数字逻辑化简 - ♂苹果 - 眼睛想旅行       用卡诺图进行数字逻辑化简 - ♂苹果 - 眼睛想旅行

用卡诺图进行数字逻辑化简 - ♂苹果 - 眼睛想旅行

用卡诺图进行数字逻辑化简 - ♂苹果 - 眼睛想旅行

图 1  2~5变量卡诺图

从图1所示的各卡诺图可以看出,卡诺图上变量的排列规律使最小项的相邻关系能在图形上清晰地反映出来。具体地说,在n个变量的卡诺图中,能从图形上直观、方便地找到每个最小项的n个相邻最小项。以四变量卡诺图为例,图中每个最小项应有4个相邻最小项,如m5的4个相邻最小项分别是m1,m4,m7,m13,这4个最小项对应的小方格与m5对应的小方格分别相连,也就是说在几何位置上是相邻的,这种相邻称为几何相邻。而m2则不完全相同,它的4个相邻最小项除了与之几何相邻的m3和m6之外,另外两个是处在“相对”位置的m0(同一列的两端)和m10(同一行的两端)。这种相邻似乎不太直观,但只要把这个图的上、下边缘连接,卷成圆筒状,便可看出m0和m2在几何位置上是相邻的。同样,把图的左、右边缘连接,便可使m2和m10相邻。通常把这种相邻称为相对相邻。除此之外,还有“相重”位置的最小项相邻,如五变量卡诺图中的m3,除了几何相邻的m1,m2,m7和相对相邻的m11外,还与m19相邻。对于这种情形,可以把卡诺图左边的矩形重叠到右边矩形之上来看,凡上下重叠的最小项相邻,这种相邻称为重叠相邻。

归纳起来,卡诺图在构造上具有以下两个特点:

☆ n个变量的卡诺图由2n个小方格组成,每个小方格代表一个最小项;

☆ 卡诺图上处在相邻、相对、相重位置的小方格所代表的最小项为相邻最小项。

二 卡诺图的性质

卡诺图的构造特点使卡诺图具有一个重要性质:可以从图形上直观地找出相邻最小项合并。合并的理论依据是并项定理AB+AB=A。例如,

用卡诺图进行数字逻辑化简 - ♂苹果 - 眼睛想旅行

根据定理AB+AB=A和相邻最小项的定义,两个相邻最小项可以合并为一个与项并消去一个变量。例如,4变量最小项ABCD和ABCD相邻,可以合并为ABD;ABCD和ABCD相邻,可以合并为ABD;而与项ABD和ABD又为相邻与项,故按同样道理可进一步将两个相邻与项合并为BD。

用卡诺图化简逻辑函数的基本原理就是把上述逻辑依据和图形特征结合起来,通过把卡诺图上表征相邻最小项的相邻小方格“圈”在一起进行合并,达到用一个简单“与”项代替若干最小项的目的。

通常把用来包围那些能由一个简单“与”项代替的若干最小项的“圈”称为卡诺圈。

三 逻辑函数在卡诺图上的表示

1.给定逻辑函数为标准“与-或”表达式

当逻辑函数为标准“与-或”表达式时,只需在卡诺图上找出和表达式中最小项对应的小方格填上1,其余小方格填上0,即可得到该函数的卡诺图。

例如,3变量函数F(A,B,C)=∑m(1,2,3,7)的卡诺图如图2所示。

用卡诺图进行数字逻辑化简 - ♂苹果 - 眼睛想旅行

图2   函数F(A,B,C)=∑m(1,2,3,7)的卡诺图

2.逻辑函数为一般“与-或”表达式

当逻辑函数为一般“与-或”表达式时,可根据“与”的公共性和“或”的叠加性作出相应卡诺图。

例如,4变量函数F(A,B,C,D)=AB+CD+A·BC的卡诺图如图3所示。

用卡诺图进行数字逻辑化简 - ♂苹果 - 眼睛想旅行

图3     函数F(A,B,C,D)=AB+CD+A·BC的卡诺图

填写该函数卡诺图时,只需在4变量卡诺图上依次找出和“与项”AB、CD、A·BC对应的小方格填上1,便可得到该函数的卡诺图。

当逻辑函数表达式为其他形式时,可将其变换成上述形式后再作卡诺图。

为了叙述的方便,通常将卡诺图上填1的小方格称为1方格,填0的小方格称为0方格。0方格有时用空格表示。

四 卡诺图上最小项的合并规律

卡诺图的一个重要特征是,它从图形上直观、清晰地反映了最小项的相邻关系。当一个函数用卡诺图表示后,究竟哪些最小项可以合并呢?下面以2、3、4变量卡诺图为例予以说明。

1.两个小方格相邻, 或处于某行(列)两端时,所代表的最小项可以合并,合并后可消去一个变量。

例如,图4给出了2、3、4变量卡诺图上两个相邻最小项合并的典型情况的。

用卡诺图进行数字逻辑化简 - ♂苹果 - 眼睛想旅行

图4 两个相邻最小项合并的情况

2.四个小方格组成一个大方格、或组成一行(列)、或处于相邻两行(列)的两端、或处于四角时,所的表的最小项可以合并,合并后可消去两个变量。

例如,图5给出了3、4变量卡诺图上四个相邻最小项合并的典型情况的。

用卡诺图进行数字逻辑化简 - ♂苹果 - 眼睛想旅行

用卡诺图进行数字逻辑化简 - ♂苹果 - 眼睛想旅行用卡诺图进行数字逻辑化简 - ♂苹果 - 眼睛想旅行

用卡诺图进行数字逻辑化简 - ♂苹果 - 眼睛想旅行

图5 四个相邻最小项合并的情况

3.八个小方格组成一个大方格、或组成相邻的两行(列)、或处于两个边行(列)时,所代表的最小项可以合并,合并后可消去三个变量。

例如,图6给出了3、4变量卡诺图上八个相邻最小项合并的典型情况的。

用卡诺图进行数字逻辑化简 - ♂苹果 - 眼睛想旅行

图6 八个相邻最小项合并的情况

至此,以3、4变量卡诺图为例,讨论了2,4,8个最小项的合并方法。依此类推,不难得出n个变量卡诺图中最小项的合并规律。

归纳起来,n个变量卡诺图中最小项的合并规律如下:

(1)卡诺圈中小方格的个数必须为2m个,m为小于或等于n的整数。

(2)卡诺圈中的2m个小方格有一定的排列规律,具体地说,它们含有m个不同变量,(n-m)个相同变量。

(3)卡诺圈中的2m个小方格对应的最小项可用(n-m)个变量的“与”项表示,该“与”项由这些最小项中的相同变量构成。

(4)当m=n时,卡诺圈包围了整个卡诺图,可用1表示,即n个变量的全部最小项之和为1。

五、卡诺图化简逻辑函数

1.几个定义

蕴涵项:在函数的“与-或”表达式中,每个“与”项被称为该函数的蕴涵项(Implicant)。

显然,在函数卡诺图中,任何一个1方格所对应的最小项或者卡诺圈中的2m个1方格所对应的“与”项都是函数的蕴涵项。

质蕴涵项:若函数的一个蕴涵项不是该函数中其他蕴涵项的子集,则此蕴涵项称为质蕴涵项(Prime Implicant),简称为质项。

显然,在函数卡诺图中,按照最小项合并规律,如果某个卡诺圈不可能被其他更大的卡诺圈包含,那么,该卡诺圈所对应的“与”项为质蕴涵项。

必要质蕴涵项:若函数的一个质蕴涵项包含有不被函数的其他任何质蕴涵项所包含的最小项,则此质蕴涵项被称为必要质蕴涵项(Essential Prime Implicant),简称为必要质项。

在函数卡诺图中,若某个卡诺圈包含了不可能被任何其他卡诺圈包含的1方格,那么,该卡诺圈所对应的“与”项为必要质蕴涵项。

2.求函数最简“与-或”表达式

(1)一般步骤:

第一步:作出函数的卡诺图。

第二步:在卡诺图上圈出函数的全部质蕴涵项。按照卡诺图上最小项的合并规律,对函数F卡诺图中的1方格画卡诺圈。为了圈出全部质蕴涵项,画卡诺圈时在满足合并规律的前题下应尽可能大,若卡诺圈不可能被更大的卡诺圈包围,则对应的“与”项为质蕴涵项。

第三步:从全部质蕴涵项中找出所有必要质蕴涵项。在卡诺图上只被一个卡诺圈包围的最小项被称为必要最小项,包含必要最小项的质蕴涵项即必要质蕴涵项。为了保证所得结果无一遗漏地覆盖函数的所有最小项,函数表达式中必须包含所有必要质蕴涵项。

第四步:求出函数的最简质蕴涵项集。若函数的所有必要质蕴涵项尚不能覆盖卡诺图上的所有1方格,则从剩余质蕴涵项中找出最简的所需质蕴涵项,使它和必要质蕴涵项一起构成函数的最小覆盖。

(3)举例

例用卡诺图化简逻辑函数F(A,B,C,D)=∑m(2,3,6,7,8,10,12) 。

解 根据卡诺图化简的步骤,该题化简过程如下:

图7

由图可知,该函数包含两个必要质蕴涵项,即AC和AC·D。在选取必要质蕴涵项之后,尚有最小项m10未被覆盖。为了覆盖最小项m10,可选质蕴涵项BCD或者AB·D,由于这两个质蕴涵项均由3个变量组成,故可任选其中之一作为所需质蕴涵项,即F的最简质蕴涵项集可为

{AC,AC·D,BCD}  或者  {AC,AC·D,AB·D}

因而,可求得函数F的最简“与-或”表达式为

F(A,B,C,D)=AC+AC·D+BCD  或者  F(A,B,C,D)=AC+AC·D+AB·D

这里,函数F的最简“与-或”式有两个,其复杂程度相同。由此可见,一个函数的最简“与-或”表达式不一定是唯一的!

归纳起来,卡诺图化简的原则是:

☆ 在覆盖函数中的所有最小项的前提下,卡诺圈的个数达到最少。

☆ 在满足合并规律的前题下卡诺圈应尽可能大。

☆ 根据合并的需要,每个最小项可以被多个卡诺圈包围。

3.求函数的最简“或-与”表达式

当需要求一个函数的最简“或-与”表达式时,可采用“两次取反法”。

具体如下:

☆ 先求出函数F的反函数F的最简“与-或”表达(合并卡诺图上的0方格);

☆ 然后对F的最简“与-或”表达式取反,从而得到函数F的最简“或-与”表达式。

例如, 用卡诺图求逻辑函数F(A,B,C,D)=∑m(3,4,6,7,11,12,13,14,15)的最简“或-与”表达式。

解 首先画出函数F的卡诺图如图2.13所示。

用卡诺图进行数字逻辑化简 - ♂苹果 - 眼睛想旅行

图8

图中,F的0方格即反函数F的1方格,它们代表F的各个最小项,将全部0方格合并就可得到反函数F的最简“与-或”表达式

F(A,B,C,D)=AB+CD+BD

再对上述函数式两边取反,即可求得函数的最简“或-与”表达式

卡诺图化简逻辑函数具有方便、直观、容易掌握等优点。但依然带有试凑性。尤其当变量个数大于6时,画图以及对图形的识别都变得相当复杂。

为了克服它的不足,引入了另一种化简方法--列表化简法。

欢迎大家去我的淘宝店坐坐!!(http://fengmm521.taobao.com/

用卡诺图进行数字逻辑化简相关推荐

  1. 数字电路之布尔代数与逻辑化简

    文章目录 思维导图 布尔运算 布尔代数定律 布尔代数常用基本法则 狄摩根定理 布尔表达式的标准形式 布尔表达式和真值表 卡诺图 布尔运算是逻辑门的基础,逻辑门和布尔代数的定律构成了数字电路的基础.本文 ...

  2. 电路模电数电课程中卡诺图知识点(包括化简原则和步骤)

    知识点: 高位写在前 偶数个则平分 奇数个则高位的那一组比低位的那一组少一个 注意相邻位只改变一个数字(00,01,11,10这样,千万不要把11和10顺序写反了) 图片说明: 卡诺图化简: 化简步骤 ...

  3. 卡诺图的最简或与式化简

    逻辑化简可以利用基本定律进行代数化简,也可以利用卡诺图进行化简,代数化简主要用的基本定律有: 交换律 分配律 结合律 01律 重叠律 摩根律 代数化简相对来说没有卡诺图化简直观, 卡诺图的经典用法是进 ...

  4. 数字逻辑计算机组成,数字逻辑设计与计算机组成pdf

    数字逻辑设计与计算机组成 内容简介 本书从简单的数字逻辑电路设计基础开始,由浅入深,讲解组合逻辑和时序逻辑电路的设计技术.计算机组成的基本原理和计算机体系结构的相关概念,后深入探讨了现代计算机系统如何 ...

  5. 象棋快棋赛电子裁判计时器的设计——《数字逻辑与数字系统设计》实验大作业设计报告

    数电Github资源 <数字逻辑与数字系统设计>实验大作业设计报告 实验题目 象棋快棋赛电子裁判计时器的设计 实验难度 ★★ 成员 姓名 班号 学号 1 郭茁宁 1837101 11837 ...

  6. 数字逻辑笔记7丨2.5逻辑函数卡诺图化简法

    卡诺图的构成 1.卡诺图的构成 一种图形化简法,在逻辑设计中广泛应用 卡诺图:一种平面方格图,每个小方格代表一个最小项,又叫"最小项方格图" 卡诺图可以视为真值表图形化的结果 n个 ...

  7. FPGA:逻辑函数的卡诺图化简法

    文章目录 最小项与最小项表达式 最小项的定义 最小项的性质 逻辑函数的最小项表达式 卡诺图化简法 用卡诺图表示逻辑函数 卡诺图的引出 两变量卡诺图 三变量卡诺图 四变量卡诺图 已知逻辑函数真值表,画卡 ...

  8. 数字逻辑代数基础——基本定理、公式与卡诺图化简法、格雷码、LSFR等

    复习一下数字电路,下次就省事直接看自己写的了. 目录 1.常用门电路图 2.逻辑代数的基本定理----化简时比较好用 3.化简逻辑函数时几个关键的公式(A'代表A的非) 4.格雷码与二进制的转换 5. ...

  9. 数字电路3(逻辑函数的卡诺图化简法)

    1.最小项的定义及其性质 2.逻辑函数的最小项表达式 3.用卡诺图表示逻辑函数 4.用卡诺图化简逻辑函数 5.含无关项的逻辑函数及其化简

最新文章

  1. bd2和mysql语法区别,经验:在MySQL数据库中,这4种方式可以避免重复的插入数据!...
  2. 小学六年级下册计算机计划,小学六年级科学下册教学计划(通用5篇)
  3. Android的NDK开发(3)————JNI数据类型的详解
  4. android finish()传参数,48. (android开发) activity间传递数据(打开浏览器、拨号盘、传参)...
  5. python内建函数测试对象身份_Python学习笔记 03 Python对象
  6. Atitit.每周计划日程表 流程表v3
  7. 软件易容术-----换肤
  8. vue的computed单向绑定(如淘宝的购物车中使用)
  9. GraphX中Pregel单源点最短路径(转)
  10. 《OpenGL ES 3.x游戏开发(下卷)》一导读
  11. UG12.0运动仿真分析基础到精通视频教程
  12. 记一次hive 报错NoViableAltException(-1@[215:51: ( KW_AS )?])
  13. 数据流图转换为软件结构图
  14. 微信小程序构建新闻列表
  15. 田野调查手记·浮山摩崖石刻(七)
  16. vue3中瀑布流插件 vue-masonry 的使用
  17. (转)PicGo+GitHub图床+微博图床
  18. 2020-09-07关皓
  19. 防拷贝加密U盘的功能有些
  20. 阿里巴巴云原生网关三位一体的选择与实践

热门文章

  1. 一些资源网站和有用的软件什么的
  2. 【Git】Git 与 SVN 的区别概述
  3. 从反脆弱角度说一说:技术系统高可用性策略
  4. 镜头上的字母 : (N,F),(W,T),(O,C)
  5. 汇川AC801 AM400 AM600程序 CODESYS平台 Ethercat带20个伺服
  6. python正则表达式提取电话号码区号_python中的正则表达式,用于从剪贴板中提取特定格式的电话号码...
  7. PHP动态网站程序设计pdf
  8. Android studio 系统存储数据SharedPreferences
  9. 短视频素材在哪找?3大素材库,3000+最火视频素材免费用
  10. 机器学习项目(一):泰坦尼克号乘客生存概率分析