电子常识
卡诺图是逻辑函数的一种图形表示。一个逻辑函数的卡诺图就是将此函数的最小项表达式中的各最小项相应地填入一个方格图内,此方格图称为卡诺图。卡诺图的构造特点使卡诺图具有一个重要性质:可以从图形上直观地找出相邻最小项。两个相邻最小项可以合并为一个与项并消去一个变量。
卡诺图中最小项的排列方案不是唯一的,变量的坐标值0表示相应变量的反变量,1表示相应变量的原变量,变量的取值变化规律按“循环码”变化[1]。各小方格依变量顺序取坐标值,所得二进制数对应的十进制数即相应最小项的下标i。
在五变量卡诺图中,为了方便省略了符号“m”,直接标出m的下标i。
归纳起来,卡诺图在构造上具有以下两个特点:
☆n个变量的卡诺图由2^n个小方格组成,每个小方格代表一个最小项;
☆卡诺图上处在相邻、相对、相重位置的小方格所代表的最小项为相邻最小项。
可以从图形上直观地找出相邻最小项。两个相邻最小项可以合并为一个与项并消去一个变量。
卡诺图的构造特点使卡诺图具有一个重要性质:可以从图形上直观地找出相邻最小项合并。合并的理论依据是并项定理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.6所示。
图2.6函数F(A,B,C)=∑m(1,2,3,7)的卡诺图
2.逻辑函数为一般“与-或”表达式
当逻辑函数为一般“与-或”表达式时,可根据“与”的公共性和“或”的叠加性作出相应卡诺图。
例如,4变量函数F(A,B,C,D)=AB+CD+A·BC的卡诺图如图2.7所示。
图2.7函数F(A,B,C,D)=AB+CD+A·BC的卡诺图
填写该函数卡诺图时,只需在4变量卡诺图上依次找出和“与项”AB、CD、A·BC对应的小方格填上1,便可得到该函数的卡诺图。
当逻辑函数表达式为其他形式时,可将其变换成上述形式后再作卡诺图。
为了叙述的方便,通常将卡诺图上填1的小方格称为1方格,填0的小方格称为0方格。0方格有时用空格表示。
蕴涵项:在函数的“与-或”表达式中,每个“与”项被称为该函数的蕴涵项(Implicant)。
显然,在函数卡诺图中,任何一个1方格所对应的最小项或者卡诺圈中的2m个1方格所对应的“与”项都是函数的蕴涵项。
质蕴涵项:若函数的一个蕴涵项不是该函数中其他蕴涵项的子集,则此蕴涵项称为质蕴涵项(PrimeImplicant),简称为质项。
显然,在函数卡诺图中,按照最小项合并规律,如果某个卡诺圈不可能被其他更大的卡诺圈包含,那么,该卡诺圈所对应的“与”项为质蕴涵项。
必要质蕴涵项:若函数的一个质蕴涵项包含有不被函数的其他任何质蕴涵项所包含的最小项,则此质蕴涵项被称为必要质蕴涵项(EssentialPrimeImplicant),简称为必要质项。
在函数卡诺图中,若某个卡诺圈包含了不可能被任何其他卡诺圈包含的1方格,那么,该卡诺圈所对应的“与”项为必要质蕴涵项。
(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时,画图以及对图形的识别都变得相当复杂。
全部0条评论
快来发表一下你的评论吧 !