在逻辑电路的设计中,同一种逻辑功能可以用不同的逻辑电路来实现,有的简单,有的复杂。逻辑函数的化简,不仅有利于简化电路结构,节省器材,同时还可以提高整个电路的可靠性。另外,对于现有逻辑电路的分析,用最简逻辑式便于分析电路的逻辑功能。因此,如何将逻辑函数式变换为最简式就显得非常重要。下面介绍两种逻辑函数的化简方法。
1.应用逻辑代数运算法则化简
(1)并项法
利用公式A+=1、AB+A=A 可以将两项并为一项,并可消去B和 两个因子。如:
(2)吸收法
利用公式A+AB=A,将AB项消去,即消去多余因子。如:
利用公式A+B=A+B,可消去多余因子。如:
(3)拆项法
利用A+=1,将式中某一项乘以A+,然后拆成两项,再分别与其他项合并,以得到更简单的结果。如:
(4)添项法
利用公式A+A=A,可以在函数式中重复或多次写入某一项,使总项数增多,再合并化简。如:
在化简逻辑函数时,往往是上述几种方法的综合灵活运用,没有固定的步骤,有很大的技巧性。关键在于熟练掌握逻辑代数的基本定律和常用公式。
例7-4 应用逻辑代数运算法则化简下列逻辑式
解 利用公式D+=1,把AD 和A 合并得A。
利用公式A+AB=A,把含A 这个因子的全部乘积项消去。
利用公式A+B=A+B,可以消去上式C中的因子。利用加零项的方法,加E 可以进一步化简。
利用“非-非”律和摩根定律,,则可以进一步化简得
例7-5 化简逻辑函数F=ABC+ABD+B+CD+B。
解 F=ABC+B+CD+B(AD+)
利用公式A+B=A+B可以消去AD 中的D:
利用摩根定律可得
2.应用卡诺图化简逻辑函数
对于逻辑函数的化简,除了前面介绍的应用逻辑代数的公式进行化简以外,还有一种通过表格的形式表示逻辑函数进而化简逻辑函数的方法——卡诺图法。它是1953年由美国工程师卡诺首先提出的。用卡诺图法不仅可以把逻辑函数表示出来,更重要的是为化简逻辑函数提供了新的途径。
(1)最小项
最小项是满足下列条件的“与”项:
1)各项都含有所有输入变量,每个变量是它的一个因子。
2)各项中每个因子以原变量(A,B,C,…)的形式或以反变量(,,,…)的形式出现一次。
如三变量的全部最小项为,C,BC,B,A,AC,AB,ABC。可见n 个变量有2n 种组合,最小项就有2n 个。同一个逻辑函数能用多个不同的逻辑式来表达,但是由最小项组成的“与或”逻辑式则是唯一的。
(2)卡诺图
所谓卡诺图就是与变量的最小项对应的按一定规则排列的方格图,每一小方格填入一个最小项。实际上卡诺图就是输入变量按行列排列的真值表。n 个逻辑变量的卡诺图也相应有2n 个小方格。图7-26分别为二变量、三变量和四变量卡诺图。在卡诺图的行和列分别标出变量及其状态。
变量状态的排列次序是00,01,11,10,而不是二进制递增的次序00,01,10,11。这样排列是为了使任意两个相邻最小项之间只有一个变量改变,称为按循环码排列。小方格也可用二进制数对应的十进制数编号,变量的最小项用m0,m1,m2,…来编号。四变量卡诺图的最小项编号见图7-26c。
图7-26 卡诺图
(3)应用卡诺图化简逻辑函数
应用卡诺图化简逻辑函数时,先将逻辑式中的最小项(或逻辑真值表中取值为1的最小项)分别用1填入相应的小方格内。如果逻辑式中的最小项不全,则填写0或空着不填。如果逻辑式不是由最小项构成,一般应先化为最小项(或列其逻辑真值表),也可按例7-10的方法填写。
应用卡诺图化简逻辑函数时,应了解下列几点:
1)将取值为1的相邻小方格圈在一起,相邻小方格包括最上行与最下行及最左列与最右列同列或同行两端的两个小方格,称为逻辑相邻。(www.daowen.com)
所圈取值为1的相邻小方格的个数应为2n(n=0,1,2,3,…)个,即1,2,4,8,…,不允许3,6,10,12等。
2)圈的个数应最少,圈内小方格个数应尽可能多。每圈一个新圈时,必须包含至少一个未被圈过的取值为1的小方格;每一个取值为1的小方格可被圈多次,但不能遗漏。
3)按照循环码排列变量取值时,相邻小方格中最小项之间只有一个变量取值不同,因此,相邻的两项可合并为一项,消去一个因子;相邻的四项可合并为一项,消去两个因子;依此类推,相邻的2n 项可合并为一项,消去n 个因子。
4)将合并的结果相加,即为所求的最简“与或”式。
5)最小圈可只含一个小方格,不能化简。若卡诺图中取值为1的小方格都互不相邻,则相应的逻辑表达式就已经是最简式。
由此可见,用卡诺图化简,就是保留一个圈内最小项的相同变量,除去不同的变量。
例7-6 化简F=A++A。
解 先通过添项,将上式化成最小项和的形式:
然后填入卡诺图,将相邻的两个1圈在一起合并最小项,由图7-27卡诺图可得最简“与或”表达式为
图7-27 例7-6图
例7-7 应用卡诺图化简F=ABC+AB+BC+AC。
解 将逻辑表达式填入卡诺图,如图7-28所示。将相邻的两个1圈在一起,合并最小项,可得最简的“与或”表达式为
图7-28 例7-7图
F=AB+BC+CA
例7-8 应用卡诺图化简。
解 将上式填入卡诺图,如图7-29所示,图中除1和3方格相邻外,4和6方格也是相邻的,因此可圈在一起,消去变量B,而保留C和A,最简的“与或”式为
图7-29 例7-8图
例7-9 应用卡诺图化简F=C+BC+A+AC+ABC+AB。
解 (1)如图7-30所示,将取值为1的方格圈成两个圈,可得
图7-30 例7-9图
F=A+C
(2)也可将取值为0的两个方格圈成一个圈,消去变量B,可得
可见,如果卡诺图中取值为0的方格数比取值为1的方格数少得多时,圈0更为简便。
例7-10 应用卡诺图化简F=++BC+B。
解 首先画出四变量的卡诺图(见图7-31),在将逻辑式以1填入卡诺图时,可以像例7-6那样,先将原逻辑式通过添项写成最小项表达式,再填入卡诺图,也可以直接填入。在本例中,各项均不是最小项,因此每一项都不只对应一个方格。如 项,应在含有 的所有小方格内都填入1(与其他变量取何值无关),即图中上面八个小方格。含有的小方格有最上面四个,已含在 内。同理,可在含有BC 和B 所对应的方格内也填入1。而后圈成两个圈,相邻项合并,得到最简的“与或”式为
图7-31 例7-10图
例7-11 化简F=+B+ABD+A+BCD+ABCD+BD+C+AC
=∑(0,4,13,8,7,15,5,2,10)
解 将上式填入图7-32卡诺图,0号、2号、8号和10号方格相邻,可圈为一组,消去两个变量A 和C,保留;5号、7号、13号、15号方格相邻圈为一组,消去A 和C保留BD;4号和5号合并消去D 保留B。由此可得化简后的逻辑式为
图7-32 例7-11图
还可以将0号和4号方格圈为一组,则可得出另一结果:
这说明逻辑函数的最简“与或”式不是唯一的。
[思考题]
1.什么是逻辑表达式的“与或”表达式? 什么是“与非-与非”表达式? 二者怎样进行转换?
2.怎样将逻辑表达式转换成真值表? 真值表又如何转换成逻辑表达式?
3.什么是最小项? 逻辑相邻的含义是什么?
4.怎样理解逻辑真值表与卡诺图的一一对应关系?
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。