【摘要】高職院校邏輯函數(shù)化簡的教學(xué),是個難點(diǎn)。如果在教學(xué)中注意循循善誘,引導(dǎo)學(xué)生積極參與適時總結(jié),將會收到滿意的教學(xué)效果。
【關(guān)鍵詞】常用運(yùn)算律;一題多解;卡諾圖
邏輯函數(shù)化簡的意義是節(jié)省集成電路數(shù)目,焊接點(diǎn)減少,還可大大提高電路的可靠性。
在實(shí)際問題中,往往首先將電路化簡成最簡與或式,用代數(shù)法化簡的過程中,還常用到普通代數(shù)的提取公因式法、分組法、去括號法等,有時還根據(jù)需要利用公式進(jìn)行添加項(xiàng)后,再進(jìn)行分組化簡。在邏輯運(yùn)算基本公式中,我們應(yīng)當(dāng)牢記以下幾個常用結(jié)論。
①零律1+A=1,O·A=O。
②冪等律A+A=A,A·A=A。
③排中律和矛盾律。
④D·摩根律。
⑤兩個吸收律A+AB=A+B,AB+AC+BC=AB+AC。
例化簡F=AB+C+ACD+BCD
解一F=AB+C+C(A+B)D(提取公因式)
=AB+C+(A+B)D(吸收律)
=AB+ABD+C(反演律)
=AB+D+C(吸收律)
解二F=(AB+ACD+BCD)+BCD+C(吸收律)
=AB+CD+C(提取公因式)
=AB+D+C(吸收律)
解三F=AB+(C+ACD)+(C+BCD)
=AB+C+AD+C+BD(吸收律)
=(AB+AD+BD)+C+BD(吸收律)
=AB+AD+D+C(提取公因式)
=AB+D+C(提取公因式)
由上述例題看出,代數(shù)法化簡邏輯函數(shù),既需要牢記一些公式,又帶有技巧性,掌握起來比較困難,但作為數(shù)字電路化簡的一個基本工具,還是應(yīng)該掌握一些常用的代數(shù)化簡法。對多變量函數(shù)的化簡,相對代數(shù)化簡法,卡諾圖法要容易得多。
我們知道,凡兩個邏輯相鄰項(xiàng)可合并成一項(xiàng),按照這個規(guī)律,可以把邏輯函數(shù)中的各個最小項(xiàng)用圖形表示出來,這種圖就叫卡諾圖。需要強(qiáng)調(diào)的是,為了符合相鄰原則,兩個邏輯變元(或其否定)的乘積的排列順序必須是00、01、11、10,這樣排列就保證了縱橫相鄰小方格里的最小項(xiàng)都是相鄰的。
因?yàn)榭ㄖZ圖的每一個小方格都唯一地對應(yīng)一個最小項(xiàng),所以要用卡諾圖來表示某邏輯函數(shù),應(yīng)該先將函數(shù)表達(dá)式化成最小項(xiàng)之和(主析取范式)。這比較麻煩。如果函數(shù)表達(dá)式已經(jīng)是析取范式,則可以快速填寫卡諾圖。
例填寫函數(shù)F=A·B+AC+BC+B·C·D的卡諾圖。
解由變量及知道,這是一個四變元函數(shù)。
由第一項(xiàng)A·B知道,它與C、D無關(guān),可以寫作A·Bxx,在對應(yīng)A·B=00的所有小格內(nèi)(第一行四個小方格)填入1。由第二項(xiàng)AC知道,它與B、D無關(guān),可以寫作A×c×,即在所有既符合A=1又符合C=1的格內(nèi)填入1即可,即在下邊兩行(11、10行)符合A=1,右邊兩列(11、10列)符合C=1,因而應(yīng)在右下角這兩行和兩列交叉的四個格內(nèi)填入1。
由第三項(xiàng)BC知道,它與A、D無關(guān),可以寫作×BC×,在既符合B=1(01、11兩行)又符合C=1(11、10兩列)的交叉方格內(nèi)填入1即可。由第四項(xiàng)B·C·D知道,它與A無關(guān),可以寫作×B·C·D,在卡諾圖中0000格和1000格內(nèi)填入1即可。至此可得到函數(shù)F的卡諾圖。剩下未填入1的格內(nèi)應(yīng)為。,這里省去是為了使卡諾圖更加清晰。
用卡諾圖化簡邏輯函數(shù)的一般步驟:
①確定變元的個數(shù),畫出相應(yīng)的卡諾圖,并把函數(shù)F表達(dá)式中的相應(yīng)項(xiàng)填入1,其余小方格內(nèi)填入?;蛘呤∪ゲ惶睢?/p>
②對卡諾圖中有“1”的方格畫相鄰區(qū)域圈,畫圈時要按2、4、8、16格為單位,遵循的原則是:圈越大越好,這樣各與項(xiàng)中所含變元就越少;圈的總數(shù)越少越好,與項(xiàng)的項(xiàng)數(shù)就越少。
③將每個圈中的公有變元因子找出來,得到對應(yīng)的“與”項(xiàng),并把各個圈得到的與項(xiàng)相加(或)起來,便得到化簡后的最簡與或表達(dá)式(主析取范式)。
具體操作時,要特別注意四角相鄰、左列與右列相鄰、頂行與底行相鄰。首先將與其他任何“1”方格都不相鄰的孤立“1”方格單獨(dú)圈出來;其次找出那些僅與另一個“1”方格唯一相鄰的"1”方格,將它們兩兩相圈組成含有兩個“1”方格的相鄰區(qū)域;最后,再依次將含有四個“1”方格、八個“1”方格的相鄰區(qū)域畫出來。
在畫相鄰區(qū)域時,有些“1”方格可以被多個圈公用,這種區(qū)域間的重疊現(xiàn)象是允許的,但每個圈中必須含有至少一個新“1”,即別的圈中都未包含進(jìn)去的1。這樣做,就可以避免在化簡后的函數(shù)中出現(xiàn)多余項(xiàng),使化簡后的與或表達(dá)式為最簡形式(主析取范式)。 例化簡F=∑(0,1,2,3,4,5,6,8,9,10,11,12,13,14)
解這是個四變元函數(shù),其卡諾圖如圖所示。可畫出三個圈分別如圖(a)、(b)、(c)所示,仔細(xì)檢查,每個圈中都包含有至少一個其他兩個圈未包括進(jìn)去的新1,故沒有多余的圈。
圖(a)圈中八個最小項(xiàng)的公共部分為D;圖(b)圈中八個最小項(xiàng)的公共部分為C;圖(c)圈中八個最小項(xiàng)的公共部分為B,因而該函數(shù)化簡結(jié)果為F=B+C+D。
參考文獻(xiàn):
[1]王信峰.計(jì)算機(jī)數(shù)學(xué)基礎(chǔ)[M].高等教育出版社,2009.
[2]許智勇.如何讓高職數(shù)學(xué)課生動起來[J].河南教育旬刊,2011(6).