对于任何一个逻辑函数的功能描述都可以作出真值表,根据真值表可以写出该函数的最小项之和及最大项之积的形式ABF000011101110最小项之和:最大项之积:真值表和逻辑函数的最小项、最大项之间存在一一对应关系 但是把真值表作为运算工具十分不便用图解化简法,化简逻辑函数方便简单F = 1 的输入变量组合有 AB = 01、10 两组F = 0 的输入变量组合有 AB = 00、11 两组从以上分析中可以看出: 如果把真值表按特定规律排列成方格图的形式,这种方格图称为卡诺图利用卡诺图可以方便地对逻辑函数进行化简通常称为图解法或卡诺图法3、 卡诺图小方格相邻数 = 变量数2、 每个相邻小方格彼此只允许一个变量不同通常采用格雷码排列保证逻辑相邻,几何位置相邻1、卡诺图构成2、卡诺图构图思想:1、 n 变量函数就有 2n 个小方格每个小方格相当于真值表中的一个最小项小方格的编号就是最小项的编号1 变量卡诺图 变量数 n = 1 在卡诺图上有 21 = 2 个小方格,对应m0、m1两个最小项0 表示 A 的反变量 1 表示 A 的原变量2 变量卡诺图 变量数 n = 2 在卡诺图上有 22 = 4 个小方格,对应m0、m1、m2、m3四个最小项。
每个小方格有二个相邻格:m0和m1、m2相邻 A B 0 0 0 1 1 1 1 0二变量格雷码排列: 任何相邻码组之间只有一个码元不同逻辑相邻,几何位置相邻ABC0000010110101101111011003 变量卡诺图 变量数 n = 3 在卡诺图上有 23 = 8 个小方格,对应八个最每个小方格有三个相邻格m0 和m1、m2、m4 相邻m1 和m0、m3、m5 相邻m2 和m0、m3、m6 相邻三变量格雷码排列顺序: 卡诺图小方格相邻数 = 变量数 小方格的编号就是最小项的编号 逻辑相邻,几何位置也相邻要求掌握格雷码排列规律4 变量卡诺图 变量数 n = 4 在卡诺图上有 24 = 16 个小方格,对应十六个最小项每个小方格有四个相邻格m0 和m1、m2、m4 、m8 相邻m5 和m1、m4、m7 、m13 相邻m9 和m1、m8、m11 、m13 相邻四变量格雷码排列:A0000000011111111B0000111111110000C0011110000111100D01100110011001105 变量卡诺图 变量数 n = 5 在卡诺图上有 25 = 32 个小方格,对应32个最小项。
每个小方格有5个相邻格m0和m1、m2、m4、m8 、及对称相 m16m5和m1、m4、m7、m13 、及对称相 m21m23和m19、m21、m22、m31 、及对称相 m7m27和m25、m26、m19、m31 、及对称相 m11找相邻格的方法: 先按四变找 再找对称相 随着输入变量的增加,小方格数以 2n 倍增加若 N=6 有 64个小方格,使卡诺图变得十分复杂,相邻关系难以寻找所以卡诺图一般多用于5变量以内 卡诺图的目的是用来化简逻辑函数,那么如何用卡诺图来表示逻辑函数?方法有四种:1、 真值表法 已知一个真值表,可直接填出卡诺图方法是:把真值表中输出为 1 的最小项,在的卡诺图对应小方格内填 1 ,把真值表中输出为 0 的最小项,在卡诺图对应小方格内填 0 例:已知真值表为ABCFm i0000m 00011m 10101m 20110m 31001m 41010m 51101m 61111m 7 填有1 的所有小方格的合成区域就是该函数的卡诺图例:画出四变量卡诺图,并填图: 将 F 中的所有最小项填在卡诺图的对应小方格内最小项填“1”,其余位置填“0”2、配项法(四变量函数) 首先通过配项法将非标准与或式变换为标准与或式。
即最小项之和的形式是 m13 和 m12 的公因子所以只要在 A=B=1 ,C=0 所对应的区域填1即可同理:在 A=0, B=D=1 所对应的区域填1 在 A=1,C=1 所对应的区域填13、直接观察法:(填公因子法)最大项和最小项互为反函数 因此:在卡诺图上最小项用“1”格表示,最大项用“0”格表示4、 将最小项之和形式化简为最大项之积形式: 任何一个逻辑函数不但可以表示成最小项之和的形式,也可以表示为最大项之积的形式 本例说明:任何一个逻辑函数,根据需要可以用“1”格表示,也可以用“0”格表示例:已知要求将F表示为最大项之积的形式 在三变量卡诺图中填“1”格表示最小项,其余填 “0”格表示最大项10101111“0”格表示最小项的非以四变量为例说明卡诺图的化简方法: 若规定:代表一个最小项的小方格叫做“0”维块 “0”维块: 表示四个变量一个也没有被消去0”维块相加 “1”维块 “2”维块“3”维块从上述分析中可以看出:二个“0”维块相加,可合并为一项,并消去一对有 0,1变化因子四个“0”维块相加,可合并为一项,并消去二对有 0,1变化因子八个“0”维块相加,可合并为一项,并消去三对有 0,1变化因子。
m0+m1m3+m2m4+m5m7+m6 将相邻“0”维块相加,可以将两项合并为一项,并消去一对因子相邻项2、画出表示该函数的卡诺图3、画合并圈 将相邻的“1”格按 2n 圈一组,直到所有“1”格全部被覆盖为止1、合并圈越大,与项中因子越少,与门的输入端越少2、合并圈个数越少,与项数目越少,与门个数越少3、由于 A+A=A,所以同一个“1”格可以圈多次4、每个合并圈中要有新的未被圈过的“1”格 卡诺图化简原则:4、将每个合并圈所表示的与项逻辑相加1、将函数化简为最小项之和的形式解:1、 正确填入四变量卡诺图ABCD=0000 处填 1ACD=010 处填 1ABC=011 处填 1ABD=011 处填 1ABC=111 处填 1ACD=110 处填 1ABCD=1001 处填 1112、 按 2n 圈一组原则画合并圈,合并圈越大越好 每个合并圈对应一个与项3、 将每个与项相加,得到化简后的函数 例1:化简1 111111解:本例说明:同一逻辑函数,可能有两种以上最简化简结果例2:化简 本题直接给出最小项之和地形式,因此,在卡诺图对应小方格处直接填“1”本例说明: 每一个合并圈要有新未被圈过的“1”格。
二维块BD中所有的”1”格均被其余合并圈所包围所以BD是冗余项,应取掉 解:题意要求将最小项之和化简为最大项之积的形式即由与或式求出或与式填“1”格,圈“0”格,例4:化简 F = m(0,2,3,5,7,8,10,11,13)为最简或与式 题意要求:将最大项之积化简为或与式最大项和最小项互为反函数最小项填“1”格,最大项填“0”格ABADACCDBD即:填“0”格,圈“0”格,例5:化简 F = M(3,5,7,9,1015) 为最简或与式为最简或与式及最简与或式解:1、将已知为或-与式的函数 F 填入卡诺图的简便办法是:等式两边求反,然后在卡诺图上填“0” 格,其余填“1”格 2、利用观察法,填“0”格,圈“0”格0000000011111111 3、最简与或式是填“1”格,圈“1”格,直接写出 F 的与-或式例6:化简(一)、与非逻辑形式(用与非门实现)1、填“1”格,圈“1”格,得出 F 与或式ABBCAC2、两次求反,一次反演得出与非与非式3、根据与非式,画出用与非门组成的 逻辑电路图 逻辑函数的形式是多种多样的,前面我们已经学过与或式、或与式,还有与非式、或非式、与或非三种表示形式。
现在讨论如何在卡诺图上实现这三种形式的化简例:已知根据电路要求,选择不同化简方式要求用与非门、或非门、与或非门实现ABCF(二)、或非逻辑形式(用或非门实现)1、填“1”格,圈“0”格2、等式两边求反,得出 F 或与式3、对 F 两次求反,一次反演得出或非或非式4、根据或非或非式,画出用或非门组成的逻辑电路图1111ABCF(三)、与或非逻辑形式(用与或非门实现)1、圈“0”格,2、等式两边求反,得出 F 与或非式3、根据与或非式,画出用与或非门 组成的 逻辑电路图1逻辑问题分为完全描述和非完全描述两种 在每一组输入变量的取值下,函数 F 都有确定得值,不是 0 就是 1 1、在输入变量的某些取值下,函数 F 取值是 0 是 1 都可以不影响电路的逻辑功能 2、输入变量受外界条件约束,某些输入组合不可能在输入端出现,不必考虑输出这些输入取值组合称为无效组合同无效输入组合相对应的最小项称为:无关项、任意项、约束项完全描述:非完全描述:A B C F0 0 0 00 0 1 10 1 0 11 0 0 1没操作乘法减法加法0 1 1 X1 0 1 X1 1 0 X1 1 1 X不允许 BC同时为 1,记作 BC=0不允许 AC同时为 1,记作 AC=0不允许 AB同时为 1,记作 AB=0不允许 ABC同时为 1,记作 ABC=0约束条件:BC+AC+AB+ABC=0通过配项展开为最小项之和形式: 从本例可以看出:将恒为 0 的最小项加入或不加入到 F 表达式,都不影响函数值。
因此:将无关最小项记做 x ,对函数化简有利当作 1 ,对化简没利当作 0 真值表:恒为 0 的最小项就是无关项解:依题意列真值表A B C D F0 0 0 0 00 0 0 1 00 0 1 0 00 0 1 1 00 1 0 0 00 1 0 1 10 1 1 0 10 1 1 1 11 0 0 0 11 0 0 1 11 0 1 0 X1 0 1 1 X1 1 0 0 X1 1 0 1 X1 1 1 0 X1 1 1 1 X由真值表写出 F 表达式: 例1:用 8421BCD码表示一位十进制数X,当x5时,输出 F = 1,否则输出 F = 0 ,求 F 的最简与或式不考虑无关项的化简考虑无关项的化简约束条件 解:AB = 0 表示 A 与 B 不能同时为 1, AB = 11(即 AB同时为1)所对应的最小项,就是无关项 例2:化简无关项 X 对化简有利当作 1 ,对化简无利当作0 前面所学的函数化简,均假定输入信号既提供原变量,又提供反变量在实际逻辑电路设计中,只有原变量输入,没有反变量输入因此在函数化简时采取适当方法就能得到只有原变量输入1、公式法:先介绍几个概念头部因子和尾部因子:一个乘积项可以写作:乘积项不带反号的部分称为头部。
每个乘积因子 a b c - - -称为头部因子乘积项带反号的部分称为尾部每个乘积因子,x y z, u v w 称为尾部因子例:头部因子尾部因子尾部代替因子例: 头部因子可以随意放入尾部因子,也可以从尾部因子中取走证明: 一个乘积项的尾部因子,可根据需要加以扩展,如果扩展变量是属于头部内的变量,则该乘积项的值不变扩展后的因子,称为原乘积项尾部因子的代替因子 即:尾部因子的反号可以任意伸长和缩短,伸长将头部因子 放进去,缩短将头部因子取出来 如果两个或两个以上乘积项的头部完全相同,则这几个乘机项可以合并为一个乘积项例:已知在输入没有反变量的条件下化简为与非与非表达式解:a、用卡诺图常规化简乘积项合并 共用:7个门,其中,3 个非门,4 个与非门 公式法化简的目的:寻找公共项 减少与非门数量只用4个与非门b、用公式法化简&ABCF2、禁止逻辑法先介绍一个名词:1重心:如:AB=11 ABC=111 ABCD=11111重心的特点: 凡合并圈包含 1 重心的与项不会含有反变量CABACBD禁止逻辑法的基本思想: 但这样的合并圈有可能把不属于原函数的某些最小项也圈进去了,要保证原函数功能不变,必须扣除这些不属于原函数的最小项。
在卡诺图上所有变量取值为1 的小方格称为 1 重心 保证输入端不会出现反变量,化简函数时必须包含 1 重心例:a、常规化简b、含1重心化简 假定:m7 = 。