《卡诺图法化简ppt课件.ppt》由会员分享,可在线阅读,更多相关《卡诺图法化简ppt课件.ppt(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人第二章 逻辑代数和函数化简数字系统逻辑设计Digital System and Logic Design 主编:王维华、曲兆瑞山东大学出版社 主讲人:李 新 山东大学 计算机科学与技术学院计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人内容提要2.3 代数法化简逻辑函数 2.2 基本定律、公式和规则 2.1 逻辑代数和逻辑门 2.5 多输出函数的化简 2.4 卡诺图法化简逻
2、辑函数 2计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人2.4 逻辑函数的标准形式 最小项及最小项表达式最小项及最小项表达式 最大项最大项 卡诺图的结构卡诺图的结构 逻辑函数的卡诺图表示逻辑函数的卡诺图表示 用卡诺图法化简逻辑函数用卡诺图法化简逻辑函数3计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人逻辑函数的标准形式 有“积之和”与“和之积”两种基本表达形式 如 是“积之和”的形式,又称“与或”表
3、达式;而 则是“和之积”的形式,又称“或与”表达式。l 基本表达式形式不是唯一的 例如4计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人2.4.1 最小项及最小项表达式 1 最小项(minterm)定义 在一个具有n个变量的逻辑函数中,如果一个与项包含了所有n个的变量,而且每个变量都是以原变量或反变量的形式作为因子出现且仅出现一次,那么这样的与项就称为该逻辑函数的一个最小项。常用m表示最小项 对于n个变量的全部最小项共有2n个。例如:2个变量A、B的最小项5计算机科学与技术学院烧伤病人的治疗通常是
4、取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人 例如,在三变量的逻辑函数F(A、B、C)中,它们组成的八个乘积项即、都符合最小项的定义。因此,我们把这八个与项称为三变量逻辑函数F(A、B、C)的最小项。除此之外,还有、等与项,都不满足最小项的定义,所以,都不是三变量逻辑函数F(A、B、C)的最小项。6计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人 为了表达方便,人们通常用mi表示最小项,其下标i为最小项的编号。编号的方法是:最小项中的原
5、变量取1,反变量取0,则最小项取值为一组二进制数,其对应的十进制数便为该最小项的编号。如三变量最小项 对应的变量取值为100,它对应的十进制数为4,因此,最小项 的编号为m4。其余最小项的编号以此类推。值得注意的是,在规定n变量最小项的编号时,对变量的排列顺序是重要的。例如,把 记作m4。其中隐含了A是最高位,而C是最低位这一排列顺序。最小项编号7计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人A B CABC0 0 0 1 0 0 0 0 0 0 00 0 1 0 1 0 0 0 0 0 00
6、1 0 0 0 1 0 0 0 0 00 1 1 0 0 0 1 0 0 0 00 0 0 0 0 0 0 1 0 0 01 0 1 0 0 0 0 0 1 0 01 1 0 0 0 0 0 0 0 1 01 1 1 0 0 0 0 0 0 0 1最小项编号 m0m1m2m3m4m5m6m72 最小项的性质(1)对于任意一个最小项,有且仅有一组变量取值使其值为1,而其余各种变量取值均使它的值为0。推论:不同最小项,使其值为1的变量取值也不相同。(2)对于变量的任意一组取值,任意两个不同最小项的乘积均为0。(3)对于变量的任意一组取值,全体最小项的和恒为1。8计算机科学与技术学院烧伤病人的治疗通
7、常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人由最小项的逻辑或的形式构成的逻辑函数表达式称之为逻辑函数的最小项表达式,也称为标准与或表达式。如:=m6+m4+m3又记为:这是一个三变量逻辑函数,其变量按(A,B,C)排列,函数本身由3个最小项构成。上述表达式即为逻辑函数的最小项之和的标准形式。3)最小项表达式9计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人4 最大项最大项定义 在一个具有n变量的逻辑函数中,如果一个或项包含了所有n个
8、的变量,而且每个变量都是以原变量或反变量的形式作为一个因子仅出现一次,那么这样的或项就称为该逻辑函数的一个最大项。对于n个变量的全部最大项共有2n个。10计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人例如,在三变量的逻辑函数F(A、B、C)中,它们组成的八个和项即 都符合最大项的定义。因此,我们把这八个或项称为三变量逻辑函数F(A、B、C)的最大项。除此之外,还有、等或项,都不满足最大项的定义,所以,都不是三变量逻辑函数F(A、B、C)的最大项。11计算机科学与技术学院烧伤病人的治疗通常是取烧伤
9、病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人由最大项的逻辑与的形式所构成的逻辑函数表达式称之为逻辑函数的最大项之积的标准形式。如:=M1M3M4又记为:是一个三变量逻辑函数,其变量按(A,B,C)排列,函数本身由3个最大项构成。上述表达式即为逻辑函数的最大项之积的标准形式。)最大项之积的标准形式12计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人 将逻辑函数展开为最小项表达式(1)利用公式将函数展开为最小项表达式通过求解下面的例题来学习该方法
10、的具体应用。例例 将函数展开为最小项表达式。13计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人 解:将函数式变换为一般“与或”表达式 运用公式 变换为最小项之和的形式=m1+m3+m6+m7=6 7 1 314计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人 同样,我们通过例题来学习该方法的具体步骤。例例 将函数 展开为最小项之和的标准形式。(2)利用真值表展开为两种标准形式15计算机科学与技术学院
11、烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人 函数F的真值表A B C F A B C F0 0 0 1 0 00 0 1 1 0 10 1 0 1 1 00 1 1 1 1 1m0+m3+m4+m6由表可知:1001101016计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人 结论:利用真值表求最小项之和标准形式的方法:观察真值表,找出函数F为1的各项,作函数对应这些项的最小项,对于输入变量为1,则取输入变量本身,
12、若输入变量为0,则取其反变量,再取这些最小项之和,即为所求函数的最小项之和标准形式。A B C F A B C F0 0 0 1 0 00 0 1 1 0 10 1 0 1 1 00 1 1 1 1 110011010=m0+m3+m4+m617计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人l 用 代 数的 方 法 化 简 应 使 得 逻 辑 函 数 式包 含 的 项 数 以 及 变 量 数 最 少 为 原 则;l 对 于 化 简 的 结 果,尤 其 较 为 复 杂 的 结果,通 常难 于 判
13、断 是 否 最 简,因 此我们还常常使用卡诺图的方法来化简逻辑函数。18计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人2.4.2 卡诺图结构卡诺图是一种矩形方格图,图中的每个方格对应一个最小项,并且任意两个相邻方格所对应的最小项只有一个变量不同。卡诺图的每一个方块(最小项)代表一种输入组合,并且把对应的输入组合注明在阵列图的上方和左方。AB010 10111输入变量19计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一
14、想如何来治疗该病人最小项:输入变量的每一种组合。1 卡诺图的画法:(二输入变量)A B Y 0 0 1 0 1 0 1 0 1 1 1 0AB010 10110输出变量Y的值输入变量20计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人卡诺图的画法(三输入变量)逻辑相邻:相邻单元输入变量的取值只能有一位不同。01000111 10 ABC0 0 0 00 1 1 1输入变量输出变量Y的值A B C Y0 0 0 0 0 0 1 00 1 0 00 1 1 01 0 0 01 0 1 11 1 0 1
15、1 1 1 121计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人只有一位不同四输入变量卡诺图逻辑相邻22计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人有时为了方便,用二进制对应的十进制表示单元格的编号。单元格的值用函数式表示。F(A,B,C)=(1,2,4,7)ABC00 01 11 1001A B C 十进制数0 0 0 0 0 0 1 10 1 0 20 1 1 31 0 0 41 0 1 5
16、1 1 0 61 1 1 7ABC00 01 11 10010 1 0 1 1 0 1 0 23计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人ABCD00 01 11 1000011110四变量卡诺图单元格的编号 A B C D 0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 4 0 1 0 0 5 0 1 0 1 6 0 1 1 0 7 0 1 1 1 8 1 0 0 0 A B C D 9 1 0 0 1 10 1 0 1 0 11 1 0 1 1 12 1
17、1 0 0 13 1 1 0 1 14 1 1 1 0 15 1 1 1 1 24计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人3、真值表、卡诺图逻辑代数式方法:将真值表或卡诺图中为1的项相加,写成“与或式”。Y=AB+AB+AB 真值表 A B Y 0 0 1 0 1 1 1 0 1 1 1 0AB0 101011 1AB此逻辑代数式并非是最简单的形式,实际上此真值表是与非门的真值表,其逻辑代数式为Y=AB因此,有一个化简问题。ABAB26计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健
18、康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人ABC00 01111001卡诺图化简函数27计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人逻辑相邻逻辑相邻的项可以合并,消去一个因子若两个最小项中只有一个变量以原、反状态相区别,则称它们为逻辑相邻。28计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人ABC00 01111001AB?29计算机科学与技术学院
19、烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人ABC00 01111001ABBCF=AB+BC30计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人ABCD00 01 11 1000011110边角也相邻31计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人边角也相邻ABCD00 01 11 100001111032计算机科
20、学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人ABCD00 01 11 1000011110不是矩形33计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人利用卡诺图化简的规则:(1)相邻单元的个数是2N个,并组成矩形时,可以合并。ABCD00 01 11 1000011110AD34计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一
21、想如何来治疗该病人(2)先找面积尽量大的组合进行化简,可以 减少更多的因子。(3)各最小项可以重复使用。(4)所有的1都被圈过后,化简结束。(5)化简后的逻辑式是各化简项的逻辑和。35计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人例:化简F(A,B,C,D)=(0,2,3,5,6,8,9,10,11,12,13,14,15)ABCD00 01 11 1000011110A36计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学
22、们想一想如何来治疗该病人如何最简:圈的数目越少越简;圈内的最小项越多越简。特别注意:卡诺图中所有的 1 都必须圈到,不能合并的 1 必须单独画 圈。YABC0100 01 11 10111 11001 1 1 上两式的内容不相同,但函数值一定相同。YABC0100 01 11 10111 11001 1 1 Y1=B+A BC+ACY1=C+A+BC AB将Y1=AC+AC+BC+BC 化简为最简与或式。此例说明,一逻辑函数的化简结果可能不唯一。例:37计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该
23、病人Y2=例:将Y2=(m0 m2 m4 m6 m8 m15)化简为最简与或式。Y2=AD Y2=AD此例说明,为了使化简结果最简,可以重复利用最小项。=A+DY2ABCD000111100001 11 101111 1100 0011 11111 1 1 1Y2ABCD000111100001 11 10111100 001111例:用圈 0 法化简Y2。解:若卡诺图中1的数目远远大于0的数目,可用圈 0 的方法。A D+38计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人2.4.5 多变量函数
24、的卡诺图化简 多变量函数:多于4个变量的逻辑函数115变量函数F(ABCDE)的卡诺图39计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人2.4.5 多变量函数的卡诺图化简116变量函数F(ABCDEF)的卡诺图 相邻性不够直观 分组操作困难 6变量以上的卡诺图很少使用40计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人2.4.5 多变量函数的卡诺图化简 局部循环相邻 对称循环相邻1 111111 11 111 111 对称循环相邻41计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人内容提要2.3 代数法化简逻辑函数 2.2 基本定律、公式和规则 2.1 逻辑代数和逻辑门 2.5 多输出函数的化简 2.4 卡诺图法化简逻辑函数 42计算机科学与技术学院烧伤病人的治疗通常是取烧伤病人的健康皮肤进行自体移植,但对于大面积烧伤病人来讲,健康皮肤很有限,请同学们想一想如何来治疗该病人作业 练习二 9.(2)(3)(4)(6)10.(2)(4)(6)(8)(10)(12)(14)43