林志程
(湖南廣播電視大學(xué),湖南長沙 410004)
數(shù)字電路課程中卡諾圖法的探討
林志程*
(湖南廣播電視大學(xué),湖南長沙 410004)
卡諾圖在邏輯函數(shù)化簡、運(yùn)算以及數(shù)字電路的應(yīng)用中有著廣泛的用途。本文介紹了如何運(yùn)用卡諾圖對邏輯函數(shù)進(jìn)行運(yùn)算,以及在利用數(shù)據(jù)選擇器實(shí)現(xiàn)邏輯函數(shù)的電路中,如何巧妙地運(yùn)用卡諾圖進(jìn)行化簡,得到最優(yōu)方案,以達(dá)到事半功倍的效果,并介紹了幾種特殊邏輯函數(shù)卡諾圖的應(yīng)用。
邏輯函數(shù);邏輯運(yùn)算;數(shù)字電路;卡諾圖
在數(shù)字電路的分析和設(shè)計(jì)中,通常要對邏輯函數(shù)進(jìn)行化簡。一般情況下,有兩種方法對邏輯函數(shù)進(jìn)行化簡:代數(shù)法和卡諾圖法。代數(shù)法是運(yùn)用邏輯代數(shù)的定理和公式對邏輯函數(shù)進(jìn)行化簡,這種方法復(fù)雜且效率低;卡諾圖法是利用卡諾圖對邏輯函數(shù)進(jìn)行化簡,它簡單易行,是研究數(shù)字邏輯電路的一個(gè)非常重要的工具。本文介紹了運(yùn)用卡諾圖對邏輯函數(shù)進(jìn)行運(yùn)算、卡諾圖在組合邏輯電路設(shè)計(jì)中的特殊應(yīng)用,以及特殊邏輯函數(shù)的卡諾圖化簡,這些方法簡單、易行,很有實(shí)用價(jià)值。
邏輯函數(shù)的運(yùn)算包括與、或、非三種基本運(yùn)算,另外還有兩種常用的邏輯運(yùn)算:異或和同或。同或就是異或的非,這里我們只討論異或運(yùn)算,同或可以通過異或求反得到。如果我們運(yùn)用卡諾圖對較復(fù)雜的邏輯函數(shù)進(jìn)行運(yùn)算并進(jìn)行化簡,將非常簡便。
邏輯函數(shù)進(jìn)行非運(yùn)算即為求反函數(shù)。在卡諾圖中只要將原函數(shù)卡諾圖中 0和 1的位置對調(diào),即得到原函數(shù)的反函數(shù),圖中若有約束項(xiàng)則其位置不變,仍為約束項(xiàng);兩個(gè)邏輯函數(shù)進(jìn)行運(yùn)算時(shí),首先要看參與運(yùn)算的邏輯函數(shù)變量數(shù)是否相同,若不同,則應(yīng)將變量少的邏輯函數(shù)用擴(kuò)展律變成與另一邏輯函數(shù)相同的變量數(shù),再分別畫出各邏輯函數(shù)的卡諾圖,然后將各卡諾圖中編號相同的方格,按圖 1-圖 3所示的運(yùn)算規(guī)則進(jìn)行運(yùn)算,則可求出運(yùn)算后所得邏輯函數(shù)。
圖中 Ф表示約束項(xiàng);以圖 1與運(yùn)算規(guī)則為例:
0·0=0,0·1=0,0·Ф=0;
1·0=0,1·1=1,1·Ф=Ф;
Ф·0=0,Ф·1=Ф,Ф·Ф=Ф。
例 1:已知函數(shù) F1(A,B,C,D)=∑m(0,1,2,3,6,8)+∑d(11,12,13,14,15)
求函數(shù) F1·F2、F1+F2、F1⊕ F2
解:此題若用代數(shù)法進(jìn)行求解,將會很復(fù)雜。用卡諾圖進(jìn)行求解首先畫出 F1、F2的卡諾圖,如圖 4、圖 5所示。根據(jù)卡諾圖與、或、異或的運(yùn)算規(guī)則,分別對 F1、F2中編號相同的方格運(yùn)算可得圖 6-圖 8所示 F1·F2、F1+F2、F1⊕ F2的卡諾圖,通過化簡可得它們的表達(dá)式:
在組合邏輯電路應(yīng)用中,常用數(shù)據(jù)選擇器來實(shí)現(xiàn)函數(shù)。對于具有約束項(xiàng)的邏輯函數(shù),用數(shù)據(jù)選擇器實(shí)現(xiàn),關(guān)鍵在于約束項(xiàng)的處理。具有相同變量的邏輯函數(shù),其約束項(xiàng)越多,電路可選方案越多,方案篩選就越復(fù)雜。目前,高等學(xué)校的“數(shù)字電子技術(shù)”或“數(shù)字邏輯”教材中對這類問題的解決,通常采用降維圖法和分離變量法,這兩種方法都很煩瑣。這里我們介紹一種簡單、便利的方法——卡諾圖單向化簡法。
例 2:用 4選 1數(shù)據(jù)選擇器實(shí)現(xiàn)函數(shù)
F=∑m(2,4,5,7,10,13)+∑d(0,3,8,9,14)該函數(shù)有 5個(gè)約束項(xiàng),如果采用“降維圖法”進(jìn)行設(shè)計(jì),為求得最佳設(shè)計(jì)方案,必須對 5個(gè)約束項(xiàng)分別作“0”或“1”處理,這樣就會產(chǎn)生多達(dá) 32種選擇方案。每種方案需作 3張卡諾圖或降維圖,以便求出最優(yōu)方案,其煩瑣程度可想而知。
如果采用“分離變量法”進(jìn)行設(shè)計(jì),雖然可以避免作很多卡諾圖的困擾,但是為求尋最佳方案,多次試探是必不可少的。因?yàn)樵摲椒ǖ睦碚撘罁?jù)是將欲實(shí)現(xiàn)的邏輯函數(shù)表達(dá)式與數(shù)據(jù)選擇器標(biāo)準(zhǔn)輸出表達(dá)式進(jìn)行比較,從而確定數(shù)據(jù)選擇器地址變量、數(shù)據(jù)輸入端變量。因此,在進(jìn)行變量分離時(shí),其約束項(xiàng)的值亦需事先設(shè)定。這就給最優(yōu)方案的篩選增加了很大難度。首先,我們來看一種比較常見的情況,假設(shè)所有的約束項(xiàng)均為“0”時(shí),函數(shù) F成為:
可見,實(shí)現(xiàn)該方案需一塊 4選 1數(shù)據(jù)選擇器、2個(gè)與門和一個(gè)或門。
如果再想尋求更佳的方案,不但要重新設(shè)定約束項(xiàng)的取值,還要認(rèn)真研究哪些變量為最佳分離變量。對于任意一個(gè)具有多個(gè)約束條件的邏輯函數(shù),不難想象究竟需要多少次試探。
下面我們介紹用卡諾圖單向化簡法來解決如何用 4選 1數(shù)據(jù)選擇器實(shí)現(xiàn)函數(shù) F。首先畫出函數(shù) F的卡諾圖。圖 9中,我們選 A、B作為地址碼,C、D作為數(shù)據(jù)輸入,采用卡諾圖“行”向化簡,函數(shù) F化簡為:
圖10中,我們選 C、D作為地址碼,A、B作為數(shù)據(jù)輸入,采用卡諾圖“列”向化簡,函數(shù) F化簡為:
由上可看出,C、D作為地址碼,A、B作為數(shù)據(jù)輸入時(shí),得到的結(jié)果更簡單,即第二種方案應(yīng)該是最優(yōu)的。在這個(gè)方案中,我們把約束項(xiàng) (8,9,14)作“0”處理,而約束項(xiàng) (0,3)作“1”處理,從而得出了最優(yōu)方案。顯然,這種方法既簡單又快捷。
一般情況下,用卡諾圖化簡邏輯函數(shù),只能對相鄰項(xiàng)進(jìn)行合并。但對于有些特殊的邏輯函數(shù),可利用圖 11-圖 13幾種特殊卡諾圖進(jìn)行化簡,非常方便。
例 3:化簡邏輯函數(shù) F=∑m(1,2,4,7,8,11,13,14)。
解:畫出 F的卡諾圖如圖 13所示。雖然該函數(shù)中各最小項(xiàng)兩兩都互不相鄰,但我們利用特殊函數(shù)卡諾圖很容易得到:
F=A⊕ B⊕ C⊕ D
卡諾圖的妙用還有很多。這里主要介紹了利用卡諾圖進(jìn)行邏輯函數(shù)運(yùn)算、卡諾圖在組合邏輯電路設(shè)計(jì)中的特殊應(yīng)用以及特殊邏輯函數(shù)的卡諾圖化簡,這些方法準(zhǔn)確、快捷,比代數(shù)法等其它方法更直觀、簡單,且不容易出錯(cuò),值得推廣。
[1]李妍,姜俐俠.數(shù)字電子技術(shù)[M].大連:大連理工大學(xué)出版社,2009.
[2]W illian Kleitz.數(shù)字電子技術(shù) [M].北京:科學(xué)出版社,2008.
[3]徐煜.數(shù)字電子技術(shù)與邏輯設(shè)計(jì)教程 (第三版)[M].北京:電子工業(yè)出版社,2008.
[4]宋學(xué)軍.數(shù)字電子技術(shù)[M].北京:科學(xué)出版社,2007.
[5]彭仁修.電子技術(shù)基礎(chǔ)[M].武漢:華中科技大學(xué)出版社,2004.
On the KarnaughMap in the D igital Circuit Course
L IN Zhi-cheng
Karnaugh map iswidely used in the simplification and operation of logical function and the application of digital circuit.This paper explains how to use karnaugh to operate the logical function and to simplify to get the bestpattern in the process of the realizing the circuit of logical function with the help of data selector.In the meanwhile,this paper also discusses the application of several special logical funcition karnaugh maps.
logical function,logical operation,digital circuit,karnaugh map
TN79-4
A
1009-5152(2011)02-0067-03
2011-03-09
林志程 (1965- ),男,湖南廣播電視大學(xué)高級實(shí)驗(yàn)師。