1、什么是卡诺图?
前面已讲过,一个函数可以用表达式表示,也可以用真值表来描述,但如果用真值表来表示时,对函数进行化简很不直观,美国工程师卡诺(Karnaugh)提出了一种描述逻辑函数的特殊方法。在这个方格图中,每个小方格代表逻辑函数的一个最小项,而且几何相邻的小方格具有相邻性,即两个相邻小方格所代表的最小项仅一个变量取值不同,这种特殊的小方格图通常称之为卡诺图(K-Map)。
上图给出了2,3,4变量的卡诺图的构成,在前面我们曾讲过真值表与最小项之间的关系,从上图实际上相当于一个矩阵式的真值表,不同的是真值表输入变量的取值是从小到大的顺序排列,而卡诺图是循环码的排布规则。
2、卡诺图的填入
前面已提到了卡诺图与真值表之间的关系,由前面表达式与真值表、最大项表达式与真值表、最小项表达式与真值表之间的关系我们可以方便将其填入卡诺图中。 1.最小项表达式 因为构成函数的每一个最小项,其逻辑取值都是使其函数值为1的最小项,所以填入时,在构成函数的每个最小项相应的小方格中填上1,而其它方格填上0。 例 写出函数F(A,B,C,D)=∑m(1,3,6,7)对应的卡诺图。
2.最大项表达式 因为使函数值为0的那结最小项的下标与构成函数的最大项表达式中那些最大项下标相同,所以按这些最大项的下标向卡诺图相应的方格中填上0,其余方格上填上1。 例 写出函数F(A,B,C,D)=∏M(3,4,8,9,11,15)的卡诺图。
3.任意与或表达式 任意与或表达式对应的卡诺图的填入方法:首先分别将每个与项的原变量用1表示,反变量对应的变量用0表示,在卡诺图上找出交叉点,在其方格上填上1;其没有交叉点的方格上填上0。 例 写出函数F(A,B,C,D)=AB+BC+CD对应的卡诺图。
4.任意或与表达式 对于任意的或与表达式,只要当任意一项的或项为0时,函数的取值就为0,什么时候或项为0呢?我们只须将组成该或项的原变量对应的变量用0、反变量对应的变量用1代入,这时该函数就为0了。故写其对应卡诺图的方法是:首先将每个或项的原变量对应的变量用0、反变量对应的变量用1代入,在卡诺图中找出交叉点,在这些交叉点上填上0;然后在没有填上0的方格上填1即可。 例 写出函数对应的卡诺图。
3、卡诺图的化简依据
利用卡诺图化简函数的依据在卡诺图的构成特点中已讲到了,即卡诺图中每两个相邻小方格所代表的最小项只有一个变量不同,如果相邻的两个小方格填的是1,则利用旅客特点消去一个变量。
依此类推: ※4个有1的小方格构成的一个矩形可合并为一项,且消去2个变量; ※8个有1的小方格构成的一个矩形可合并为一项,且消去3个变量; ※16个有1的小方格构成的一个矩形可合并为一项,且消去4个变量。 上图列出了常见的相邻方格个数为2和4的情况。
4、卡诺图的化简步骤
用卡诺图化简的过程可分为三步: 1.首先将逻辑函数用卡诺图表示出来; 2.合并卡诺图中为1的最小项; 将所有相邻的1按2的整数次方个为1的方格为一组构成若干个矩形圈,这种圈称为卡诺圈,所有圈中必须至少有一个1方格没有被圈过,并所有的圈尽可能大。 3.写出最简的函数表达式。 例 化简函数F(A,B,C,D)=∑m(3,4,5,7,9,13,14,15)。
上图中有两种圈法,在图a中最大的圈中没有一个1没有被圈个,如果写出其表达式共有5项,而图b的圈法是正确的。其化简的表达式为:
例 化简函数F(A,B,C,D)=∑m(2,3,5,7,8,10,12,13)。
从上图上可以看出:图a,b的圈的个数相同,并且都没有重复,其结果都是4项,是哪一个对呢?答案是全对。对于函数的化简其结果不具有唯一性,函数表示的唯一性仅在最大项表达式或最小表达式才具有。 |