四、卡诺图化简逻辑函数
1.几个定义
蕴涵项:在函数的“与-或”表达式中,每个“与”项被称为该函数的蕴涵项(Implicant)。
显然,在函数卡诺图中,任何一个1方格所对应的最小项或者卡诺圈中的2m个1方格所对应的“与”项都是函数的蕴涵项。
质蕴涵项:若函数的一个蕴涵项不是该函数中其他蕴涵项的子集,则此蕴涵项称为质蕴涵项(PrimeImplicant),简称为质项。
显然,在函数卡诺图中,按照最小项合并规律,如果某个卡诺圈不可能被其他更大的卡诺圈包含,那么,该卡诺圈所对应的“与”项为质蕴涵项。
必要质蕴涵项:若函数的一个质蕴涵项包含有不被函数的其他任何质蕴涵项所包含的最小项,则此质蕴涵项被称为必要质蕴涵项(EssentialPrimeImplicant),简称为必要质项。
在函数卡诺图中,若某个卡诺圈包含了不可能被任何其他卡诺圈包含的1方格,那么,该卡诺圈所对应的“与”项为必要质蕴涵项。
2.求函数最简“与-或”表达式
(1)一般步骤:
第一步:作出函数的卡诺图。
第二步:在卡诺图上圈出函数的全部质蕴涵项。按照卡诺图上最小项的合并规律,对函数F卡诺图中的1方格画卡诺圈。为了圈出全部质蕴涵项,画卡诺圈时在满足合并规律的前题下应尽可能大,若卡诺圈不可能被更大的卡诺圈包围,则对应的“与”项为质蕴涵项。
第三步:从全部质蕴涵项中找出所有必要质蕴涵项。在卡诺图上只被一个卡诺圈包围的最小项被称为必要最小项,包含必要最小项的质蕴涵项即必要质蕴涵项。为了保证所得结果无一遗漏地覆盖函数的所有最小项,函数表达式中必须包含所有必要质蕴涵项。
第四步:求出函数的最简质蕴涵项集。若函数的所有必要质蕴涵项尚不能覆盖卡诺图上的所有1方格,则从剩余质蕴涵项中找出最简的所需质蕴涵项,使它和必要质蕴涵项一起构成函数的最小覆盖。
(2)举例
例1用卡诺图化简逻辑函数F(A,B,C,D)=∑m(0,3,5,6,7,10,11,13,15)。
解根据卡诺图化简的步骤,该题化简过程如下:
该题中,5个必要质蕴涵项已将函数的全部最小项覆盖,故将各卡诺圈对应的与项相或即可得到函数F的最简“与-或”表达式为
F(A,B,C,D)=A·B·C·D+ABC+ABC+BD+CD
例2用卡诺图化简逻辑函数F(A,B,C,D)=∑m(2,3,6,7,8,10,12)。
解根据卡诺图化简的步骤,该题化简过程如下:
由图可知,该函数包含两个必要质蕴涵项,即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所示。
图中,F的0方格即反函数F的1方格,它们代表F的各个最小项,将全部0方格合并就可得到反函数F的最简“与-或”表达式
F(A,B,C,D)=AB+CD+BD
再对上述函数式两边取反,即可求得函数的最简“或-与”表达式
卡诺图化简逻辑函数具有方便、直观、容易掌握等优点。但依然带有试凑性。尤其当变量个数大于6时,画图以及对图形的识别都变得相当复杂。
评论
查看更多