论文部分内容阅读
摘 要: 数字电路中经常会遇到多变量逻辑函数,卡诺图化简方法是我们经常用的一种直观、简单的方法。在此主要针对多变量逻辑函数的卡诺图化简方法进行分析探讨,起到一个抛砖引玉的作用,也为了让卡诺图化简方法能够得到更加广泛的运用。
关键字: 逻辑函数化简;多变量逻辑函数;方法技巧探究
【中图分类号】 G40-011 【文献标识码】 B
【文章编号】 2236-1879(2017)15-0026-02
在数字逻辑电路的分析和设计过程中,对于逻辑函数的化简是非常重要的一个环节。常见的卡诺图化简方法一般只介绍到四个变量的情况,如果变量的数量增加到5个或者5个以上的时候,那么卡诺图的方格数目也随之增多间接的复杂化了输入变量在取值之间相邻的关系,这就导致了后期的作图和填写数据都变得非常繁琐,从某种程度上来说这也制约了卡诺图化简法的推广。所以,应该采用恰当的方法去尽量用比较少变量的卡诺图去表示多变量的逻輯函数,让多变量逻辑函数的卡诺图化简法变得更加方便简单,将对数字逻辑电路的设计和研究起到非常积极的作用。
一、卡诺图化简和代数法化简的特点
在数字电路的设计工作中,电路的整体稳定性受到了逻辑函数表达式复杂程度、市场竞争力及成本高低的直接影响。具备复杂逻辑函数表达式的实际电路一般都是成本比较高,但是稳定性却比较差市场的整体竞争力也不是很强。所以在数字电路整体的设计工作中化简逻辑函数始终是一项非常重要的工作。目前在业界对待逻辑函数主要用的就是代数法化简和卡诺图法化简,前者要求在使用的时候必须对公式记忆非常清楚以及对公式的运用技巧也非常的熟练,并且在化简之后能否真正的实现最简还需要具备一定的判断力。而后者卡诺图化简法却相对来说显得非常直观、简洁,在现实中也得到了非常广泛的运用[1]。
从某种意义上来说卡诺图实际上就是一种真值表的变形,一个多变量逻辑函数的真值表有多少行那么对应的卡诺图就有多少个方格。但是又有不同之处,真值表中的最小项一般都是按照二进制的加法排列的,而在卡诺图中的每一项却是按照相邻性的特点排列的。用卡诺图在合并最小项的时候一般也需要注意找出所有的相邻的最小项,通常都是通过画圈的方式,这样就保障了逻辑函数化简到最简;在这个过程中也应该尽量的将圈画的尽可能的大,这样就会消去更多的变量;同时圈的个数要尽可能的少,避免后面化简后的逻辑函数与项变多;同时不能漏下取值为1的所有最小项。
二、卡诺图化简多变量逻辑函数的运用
针对5个或者5个以上的变量卡诺图化简法可以参考以下几种有效运用方法。
1.降维卡诺图化简法化简多变量逻辑函数。
其实在卡诺图中的每一个方格都是逻辑函数中的一个最小项,在4个或者4个以下变量的逻辑函数化简时用这种全变量的卡诺图就显得非常方便。因为函数中的变量数量和卡诺图的方格数直接相关,对于多变量函数来说,如果卡诺图的变量数比函数的变量数少的时候,卡诺图的方格数就会随着减少,这非常有利于卡诺图的化简。而这种减少了变量数的卡诺图其实它的每一个方格就是一个部分化简的积项。
例如:画出Y=C++BC+C++ABC+AB的降维卡诺图。因此此函数中有5个逻辑变量,属于多变量逻辑函数,A、B、C在每一项中都出现过,因此可以将其作为降维卡诺图的变量,而另外的D、E作为降维变量,其图如下所示:
在降维卡诺图中和C的对应表格中应该填入“与”项的剩余变量,而在AC和A的对应格中就是,在B中的为0,其他的为1,这样就完成了整个卡诺图的填写。
又如已知如下的逻辑函数请画出其降维卡诺图。
Y=CD+D+D+AD+BD+F+AD+BD+BD
通过观察发现该多变量逻辑函数一共包括了6个变量,因此考虑选择A、B、C、D作为降维卡诺图的变量,将E、F当为降维变量,经过运算整理得到如下的降维卡诺图。
AB\\CD00011110AB\\CD00011110
000+11+0
0101+
+1+
+0
1101+
+1+
+0
10F1+F1+FF
经过
运算000110
010110
110110
10F11F
通过上面的两个例子可以得出填写降维卡诺图的规则是:第一要合理选择需要消除的降维变量,然后画出经过降维后的卡诺图;第二就是在逻辑函数的“与”项表格中应该填写1;逻辑函数的“与”项一般都含有降维的卡诺图变量和降维变量,前者在对应的降维图方格填写维变量的“与”项组合;后者就在所有的降维图方格填写“与”组合;第三就是如果不具备以上两点那么就在表格中写“0”。最后将经过运算的卡诺图整理,就会得到该多变量逻辑函数的降维卡诺图。
2.对折卡诺图化简法化简多变量逻辑函数。
由于卡诺图的变量取值一般都是安装格雷码的顺序排列,即相邻的两个方格中肯定会有一个变量是互补关系。所以一般格雷码的取值都是以镜像为对称轴,将卡诺图对折这样合并以后就会消去一些互补的变量,同时会分出两个小的区域,继续按照格雷码取值的镜像对折,这样经过多次的对折就会消掉互补的变量,最终达到想要化简的目的。
3.分幅化卡诺图化简法化简多变量逻辑函数。
对于4个变量的逻辑函数其卡诺图的化简方法人们大多都已经熟练掌握运用了,所以在将多变量逻辑函数的卡诺图安装互补变量分成两幅或者四幅的卡诺图,先通过简化四变量的卡诺图,然后再按互补变量进行两图的重叠,如果能够完全重合那么久消去互补变量,否则就必须保留该变量。
例如:化简Y=+D+AC+AD+ABC+C
可以按照逻辑函数的32个最小项方格进行划分两幅四变量的卡诺图如下所示:
的卡诺图合并后为,而两个图中的AD都已经完全重叠,因此可以消去E和 ,化简得出AD,最后的化简结果就是Y=+AD 。
同样的道理,如果遇到6个变量(比如A、B、C、D、E、F)的逻辑函数,就需要考虑将64个方格分成四幅四变量的卡诺图(比如、F、E、EF),这样就可以让相邻的两幅都有一个变量可以互补,经过四变量卡诺图的化简就将和F重叠,将EF和E重叠,得出结果后再进行重叠就可以化简结果。具体的操作为首先将原来的逻辑函数进行分幅,填写分幅的卡诺图;其次是化简分幅后的卡诺图,消去互补的变量,保留不重合变量;最后就是将多次重叠后的结果写出一个最简的表达式即可[2]。
综上所述,多变量逻辑函数的卡诺图化简法的方法有很多,但是万变不离其宗,其本质还是利用了卡诺图中逻辑变量取值相邻性,这样使得卡诺图的面积缩小消去了互补的变量最终达到化简的目的。通过上述几种多变量逻辑函数的化简对比,分幅法和对折法虽然运用比较简单,但是画图的工作量就比较大;降维法只需画出卡诺图即可,选择也比较灵活。但是每种方法都有其规律性,我们必须对各种方法都融会贯通,这样才能在面对数字逻辑电路中出现的多变量逻辑函数从容面对,用比较方便的方法对其化简,以此完成简化电路的目的。
参考文献
[1] 张辉, 李竹, Zhang Hui, Li Zhu - 《电脑与电信》2015年10期
[2] 高青,赵文艺. 多变量逻辑函数的卡诺图化简方法[J]. 电脑知识与技术,2014,10(11):2622-2626.
作者简介:伍保红,女(1985.4—)贵州普安,助教,硕士,研究方向:嵌入式系统软件开发 计算机科学与技术。
关键字: 逻辑函数化简;多变量逻辑函数;方法技巧探究
【中图分类号】 G40-011 【文献标识码】 B
【文章编号】 2236-1879(2017)15-0026-02
在数字逻辑电路的分析和设计过程中,对于逻辑函数的化简是非常重要的一个环节。常见的卡诺图化简方法一般只介绍到四个变量的情况,如果变量的数量增加到5个或者5个以上的时候,那么卡诺图的方格数目也随之增多间接的复杂化了输入变量在取值之间相邻的关系,这就导致了后期的作图和填写数据都变得非常繁琐,从某种程度上来说这也制约了卡诺图化简法的推广。所以,应该采用恰当的方法去尽量用比较少变量的卡诺图去表示多变量的逻輯函数,让多变量逻辑函数的卡诺图化简法变得更加方便简单,将对数字逻辑电路的设计和研究起到非常积极的作用。
一、卡诺图化简和代数法化简的特点
在数字电路的设计工作中,电路的整体稳定性受到了逻辑函数表达式复杂程度、市场竞争力及成本高低的直接影响。具备复杂逻辑函数表达式的实际电路一般都是成本比较高,但是稳定性却比较差市场的整体竞争力也不是很强。所以在数字电路整体的设计工作中化简逻辑函数始终是一项非常重要的工作。目前在业界对待逻辑函数主要用的就是代数法化简和卡诺图法化简,前者要求在使用的时候必须对公式记忆非常清楚以及对公式的运用技巧也非常的熟练,并且在化简之后能否真正的实现最简还需要具备一定的判断力。而后者卡诺图化简法却相对来说显得非常直观、简洁,在现实中也得到了非常广泛的运用[1]。
从某种意义上来说卡诺图实际上就是一种真值表的变形,一个多变量逻辑函数的真值表有多少行那么对应的卡诺图就有多少个方格。但是又有不同之处,真值表中的最小项一般都是按照二进制的加法排列的,而在卡诺图中的每一项却是按照相邻性的特点排列的。用卡诺图在合并最小项的时候一般也需要注意找出所有的相邻的最小项,通常都是通过画圈的方式,这样就保障了逻辑函数化简到最简;在这个过程中也应该尽量的将圈画的尽可能的大,这样就会消去更多的变量;同时圈的个数要尽可能的少,避免后面化简后的逻辑函数与项变多;同时不能漏下取值为1的所有最小项。
二、卡诺图化简多变量逻辑函数的运用
针对5个或者5个以上的变量卡诺图化简法可以参考以下几种有效运用方法。
1.降维卡诺图化简法化简多变量逻辑函数。
其实在卡诺图中的每一个方格都是逻辑函数中的一个最小项,在4个或者4个以下变量的逻辑函数化简时用这种全变量的卡诺图就显得非常方便。因为函数中的变量数量和卡诺图的方格数直接相关,对于多变量函数来说,如果卡诺图的变量数比函数的变量数少的时候,卡诺图的方格数就会随着减少,这非常有利于卡诺图的化简。而这种减少了变量数的卡诺图其实它的每一个方格就是一个部分化简的积项。
例如:画出Y=C++BC+C++ABC+AB的降维卡诺图。因此此函数中有5个逻辑变量,属于多变量逻辑函数,A、B、C在每一项中都出现过,因此可以将其作为降维卡诺图的变量,而另外的D、E作为降维变量,其图如下所示:
在降维卡诺图中和C的对应表格中应该填入“与”项的剩余变量,而在AC和A的对应格中就是,在B中的为0,其他的为1,这样就完成了整个卡诺图的填写。
又如已知如下的逻辑函数请画出其降维卡诺图。
Y=CD+D+D+AD+BD+F+AD+BD+BD
通过观察发现该多变量逻辑函数一共包括了6个变量,因此考虑选择A、B、C、D作为降维卡诺图的变量,将E、F当为降维变量,经过运算整理得到如下的降维卡诺图。
AB\\CD00011110AB\\CD00011110
000+11+0
0101+
+1+
+0
1101+
+1+
+0
10F1+F1+FF
经过
运算000110
010110
110110
10F11F
通过上面的两个例子可以得出填写降维卡诺图的规则是:第一要合理选择需要消除的降维变量,然后画出经过降维后的卡诺图;第二就是在逻辑函数的“与”项表格中应该填写1;逻辑函数的“与”项一般都含有降维的卡诺图变量和降维变量,前者在对应的降维图方格填写维变量的“与”项组合;后者就在所有的降维图方格填写“与”组合;第三就是如果不具备以上两点那么就在表格中写“0”。最后将经过运算的卡诺图整理,就会得到该多变量逻辑函数的降维卡诺图。
2.对折卡诺图化简法化简多变量逻辑函数。
由于卡诺图的变量取值一般都是安装格雷码的顺序排列,即相邻的两个方格中肯定会有一个变量是互补关系。所以一般格雷码的取值都是以镜像为对称轴,将卡诺图对折这样合并以后就会消去一些互补的变量,同时会分出两个小的区域,继续按照格雷码取值的镜像对折,这样经过多次的对折就会消掉互补的变量,最终达到想要化简的目的。
3.分幅化卡诺图化简法化简多变量逻辑函数。
对于4个变量的逻辑函数其卡诺图的化简方法人们大多都已经熟练掌握运用了,所以在将多变量逻辑函数的卡诺图安装互补变量分成两幅或者四幅的卡诺图,先通过简化四变量的卡诺图,然后再按互补变量进行两图的重叠,如果能够完全重合那么久消去互补变量,否则就必须保留该变量。
例如:化简Y=+D+AC+AD+ABC+C
可以按照逻辑函数的32个最小项方格进行划分两幅四变量的卡诺图如下所示:
的卡诺图合并后为,而两个图中的AD都已经完全重叠,因此可以消去E和 ,化简得出AD,最后的化简结果就是Y=+AD 。
同样的道理,如果遇到6个变量(比如A、B、C、D、E、F)的逻辑函数,就需要考虑将64个方格分成四幅四变量的卡诺图(比如、F、E、EF),这样就可以让相邻的两幅都有一个变量可以互补,经过四变量卡诺图的化简就将和F重叠,将EF和E重叠,得出结果后再进行重叠就可以化简结果。具体的操作为首先将原来的逻辑函数进行分幅,填写分幅的卡诺图;其次是化简分幅后的卡诺图,消去互补的变量,保留不重合变量;最后就是将多次重叠后的结果写出一个最简的表达式即可[2]。
综上所述,多变量逻辑函数的卡诺图化简法的方法有很多,但是万变不离其宗,其本质还是利用了卡诺图中逻辑变量取值相邻性,这样使得卡诺图的面积缩小消去了互补的变量最终达到化简的目的。通过上述几种多变量逻辑函数的化简对比,分幅法和对折法虽然运用比较简单,但是画图的工作量就比较大;降维法只需画出卡诺图即可,选择也比较灵活。但是每种方法都有其规律性,我们必须对各种方法都融会贯通,这样才能在面对数字逻辑电路中出现的多变量逻辑函数从容面对,用比较方便的方法对其化简,以此完成简化电路的目的。
参考文献
[1] 张辉, 李竹, Zhang Hui, Li Zhu - 《电脑与电信》2015年10期
[2] 高青,赵文艺. 多变量逻辑函数的卡诺图化简方法[J]. 电脑知识与技术,2014,10(11):2622-2626.
作者简介:伍保红,女(1985.4—)贵州普安,助教,硕士,研究方向:嵌入式系统软件开发 计算机科学与技术。