王 輝 ,倪 春
(合肥師范學(xué)院安徽省微波與通信工程技術(shù)研究中心,安徽合肥230601)
“數(shù)字電子技術(shù)基礎(chǔ)”課程是高等學(xué)校電子電氣類專業(yè)必修的基礎(chǔ)課,在教學(xué)計(jì)劃中占有十分重要的地位。而卡諾圖在該課程中應(yīng)用廣泛,是化簡(jiǎn)邏輯函數(shù)、分析和設(shè)計(jì)數(shù)字邏輯電路的重要工具,所以熟練掌握卡諾圖及其應(yīng)用方法對(duì)“數(shù)字電子技術(shù)基礎(chǔ)”課程的學(xué)習(xí)大有裨益。1953年,美國(guó)Bell Laboratories工程師莫里斯·卡諾(Maurice Karnaugh)在維奇圖的基礎(chǔ)上提出了卡諾圖[1-2]的概念??ㄖZ圖作為一種描述邏輯函數(shù)的特殊方法,它將邏輯函數(shù)的邏輯變量分成兩組,每一組變量取值組合按循環(huán)碼的規(guī)則排列構(gòu)成方格圖,圖中的每一個(gè)方格對(duì)應(yīng)著邏輯變量的一個(gè)最小項(xiàng)。卡諾圖作為真值表的一種變形畫法,它具有以下特點(diǎn)[3]:(1)n變量邏輯函數(shù)對(duì)應(yīng)的卡諾圖具有2n個(gè)方格,與其全部最小項(xiàng)數(shù)相一致;(2)卡諾圖中任意幾何位置相鄰的兩個(gè)最小項(xiàng)(被稱為幾何相鄰,又分為相接相鄰、相對(duì)相鄰、相重相鄰3種情況),在邏輯上也是相鄰的,反之亦然,即實(shí)現(xiàn)了幾何相鄰和邏輯相鄰的一致性??ㄖZ圖的這些特點(diǎn),使得卡諾圖廣泛應(yīng)用于邏輯函數(shù)化簡(jiǎn)、數(shù)字邏輯電路的分析和設(shè)計(jì)過(guò)程中[4-6]。
在“數(shù)字電子技術(shù)基礎(chǔ)”課程的教學(xué)實(shí)踐過(guò)程中發(fā)現(xiàn),對(duì)于時(shí)序邏輯電路的狀態(tài)分析,特別是異步時(shí)序邏輯電路的狀態(tài)分析是很多學(xué)生的盲點(diǎn),因?yàn)閭鹘y(tǒng)方法處理起來(lái)繁雜,特別是異步時(shí)序邏輯電路涉及時(shí)鐘不同步問(wèn)題,容易出錯(cuò),很難掌握。針對(duì)該問(wèn)題,文章基于卡諾圖對(duì)該部分教學(xué)方法進(jìn)行了一些改進(jìn),有效降低了時(shí)序邏輯電路分析問(wèn)題的難度,特別是異步時(shí)序邏輯電路的分析難度。文章首先對(duì)卡諾圖在同步時(shí)序邏輯電路中的應(yīng)用[7-8]做一些總結(jié)和探討,采用不同的分析思路,然后將其應(yīng)用到異步時(shí)序邏輯電路的分析中,最后將卡諾圖用到降維圖法的教學(xué)中。
通過(guò)時(shí)序邏輯電路的狀態(tài)分析[9-10]可以確定給定邏輯電路的邏輯功能,同時(shí)也為設(shè)計(jì)時(shí)序邏輯電路奠定了重要基礎(chǔ)。盡管時(shí)序邏輯電路根據(jù)其時(shí)鐘不同又有同步和異步之分,但是分析過(guò)程基本一致,按照?qǐng)D1所示過(guò)程進(jìn)行。下面對(duì)由狀態(tài)方程得出狀態(tài)轉(zhuǎn)移表這一難點(diǎn)過(guò)程進(jìn)行分析。一般情況下,這一過(guò)程的計(jì)算是將現(xiàn)態(tài)逐個(gè)代入到狀態(tài)方程中計(jì)算得到次態(tài),如果狀態(tài)方程比較復(fù)雜,計(jì)算量就較大,特別針對(duì)異步時(shí)序邏輯電路,時(shí)鐘不同步,分析更困難?;诳ㄖZ圖的方法可有效降低計(jì)算復(fù)雜度,提升計(jì)算效率。
圖1 時(shí)序邏輯電路分析步驟
例1假設(shè)某一同步時(shí)序邏輯電路具有狀態(tài)方程如(1)式,求其對(duì)應(yīng)的狀態(tài)轉(zhuǎn)移表。
解 畫出3變量Q1Q2Q3現(xiàn)態(tài)卡諾圖,如圖2(a)所示,方格外的序列是現(xiàn)態(tài),方格內(nèi)對(duì)應(yīng)的是次態(tài)。對(duì)于的計(jì)算,一般方法需要將8種現(xiàn)態(tài)組合帶入狀態(tài)方程計(jì)算,此處為提升計(jì)算效率對(duì)Q1狀態(tài)方程分情況計(jì)算。觀察方程形式,將分0和1兩種情況:
(a)當(dāng)=0時(shí),對(duì)應(yīng)次態(tài)卡諾圖的左半邊4個(gè)方格方程第2項(xiàng)為0,所以為與項(xiàng)等于1的概率是最小的,只有當(dāng)取值為10的時(shí)候所以左半邊4個(gè)方格只有當(dāng)取值為010的時(shí)候,其余等于1,填入卡諾圖相應(yīng)位置如圖2(b)所示;
(b)當(dāng)=1時(shí),對(duì)應(yīng)次態(tài)卡諾圖的右半邊4當(dāng),所以右半邊4個(gè)方格只有當(dāng)取值為100的時(shí)候,,其余等于0,填入卡諾圖相應(yīng)位置如圖2(c)所示;
對(duì)Q2狀態(tài)方程進(jìn)行化簡(jiǎn)變換得分以下兩種情況:
(c)當(dāng)時(shí),對(duì)應(yīng)次態(tài)卡諾圖的上面一行4個(gè)方格,此時(shí)和項(xiàng)等于0的概率是最小的,只有當(dāng)00的時(shí)候,所以上面一行4個(gè)方格只有當(dāng)取值為000的時(shí)候
其余等于1,填入卡諾圖相應(yīng)位置如圖2(d)所示;
(d)當(dāng)時(shí),對(duì)應(yīng)下面一行4個(gè)方格,此時(shí)所以下面一行4個(gè)方格相應(yīng)位置都填0,如圖2(e)所示;
同樣分析計(jì)算,最終得到狀態(tài)轉(zhuǎn)移卡諾圖如圖2(f)所示。
圖2 同步時(shí)序邏輯電路狀態(tài)轉(zhuǎn)移分析
由上述分析發(fā)現(xiàn),該分析方法思路清晰、簡(jiǎn)潔,只需要將一張卡諾圖逐步按計(jì)算填充即可,而且一次可填充多個(gè)網(wǎng)格。若用一般方法計(jì)算(1)式的3變量次態(tài)需要計(jì)算24次,而現(xiàn)在只需要計(jì)算6次,有效提升了計(jì)算速度和計(jì)算效率。需要注意的是此處得到的計(jì)算次數(shù)僅針對(duì)(1)式,如果狀態(tài)方程更復(fù)雜,計(jì)算次數(shù)會(huì)有不同,即使如此,該方法針對(duì)復(fù)雜的狀態(tài)方程次態(tài)的計(jì)算,仍然可提升計(jì)算速度和計(jì)算效率。
例2假設(shè)某一異步時(shí)序邏輯電路具有狀態(tài)方程如(2)式,求其對(duì)應(yīng)的狀態(tài)轉(zhuǎn)移表。
解 對(duì)于異步時(shí)序邏輯電路,因?yàn)楦鳡顟B(tài)方程時(shí)鐘不同,特別是在時(shí)鐘函數(shù)復(fù)雜的情況下,分析狀態(tài)轉(zhuǎn)移相當(dāng)困難,是教學(xué)中的一個(gè)重難點(diǎn)。將上面同步時(shí)序邏輯電路的分析思路應(yīng)用于分析異步時(shí)序邏輯電路,注意此處重點(diǎn)強(qiáng)調(diào)對(duì)時(shí)鐘函數(shù)的分析。
(a)Q1觸發(fā)沿為CP下降沿,當(dāng)=0,只有取值為01的時(shí)候所以左半邊4個(gè)方格只有當(dāng)取值為001的時(shí)候,=0,其余等于1,填入卡諾圖相應(yīng)位置;當(dāng)=1時(shí),對(duì)應(yīng)次態(tài)卡諾圖的右半邊4個(gè)方格,≡0,所以相應(yīng)位置都填0,如圖3(a)所示;
(b)Q2的觸發(fā)沿為Q1的下降沿,從圖3(a)中找出Q1現(xiàn)態(tài)為1次態(tài)為0對(duì)應(yīng)的方格,如圖3(a)箭頭所示。在箭頭所示方格,Q2被觸發(fā),滿足方程=,其余方格保持不變即=,如圖3(b)所示;
(c)Q3的觸發(fā)沿為·CP+的下降沿,由(2)式可知,CP變化可能同時(shí)觸發(fā)Q1、Q3,而Q2只有在Q1發(fā)生變化的情況下才有可能被觸發(fā),而Q2變化又有可能再次導(dǎo)致Q3被觸發(fā)。根據(jù)以上分析,當(dāng)取值為01時(shí),Q3的觸發(fā)沿為CP的下降沿,對(duì)應(yīng)的方格標(biāo)出箭頭,如圖3(b)所示;而在下一個(gè)CP脈沖到來(lái)之前,如果Q2出現(xiàn)了下降沿,那么Q3又被觸發(fā),對(duì)應(yīng)方格標(biāo)出箭頭,如圖3(c)所示。圖3(b),3(c)中箭頭所在網(wǎng)格Q3被觸發(fā),即其余網(wǎng)格保持不變,最終結(jié)果如圖3(d)所示。
由以上分析可知,該分析思路大大降低了異步時(shí)序邏輯電路的分析難度,即使對(duì)于時(shí)鐘較復(fù)雜的情況,分析計(jì)算思路也較清晰,利用一張卡諾圖逐步計(jì)算填充,避免了繁雜的分析計(jì)算,大大簡(jiǎn)化了分析計(jì)算過(guò)程。
圖3 異步時(shí)序邏輯電路狀態(tài)轉(zhuǎn)移分析
在利用數(shù)據(jù)選擇器實(shí)現(xiàn)組合邏輯函數(shù)的過(guò)程中,如果組合邏輯函數(shù)的變量數(shù)大于數(shù)據(jù)選擇器的地址端的個(gè)數(shù),那么就需要利用降維圖法。文獻(xiàn)[3]中對(duì)降維過(guò)程的描述:設(shè)記圖變量為x,對(duì)于原卡諾圖中,當(dāng)x=0時(shí),原圖單元值為F;當(dāng)x=1時(shí),原圖單元值為G,則在新的降維圖中對(duì)應(yīng)的降維圖單元中填入子函數(shù)xˉF+xG,其中F和G可以是0、1或某一變量,也可以是某一函數(shù)。這樣的描述很拗口也不直觀,對(duì)剛接觸該方法的學(xué)生來(lái)說(shuō)理解起來(lái)相當(dāng)困難,計(jì)算起來(lái)也不方便。根據(jù)該知識(shí)點(diǎn)在實(shí)際教學(xué)過(guò)程的經(jīng)驗(yàn),處理如下:
新降維圖中每個(gè)方格對(duì)應(yīng)原卡諾圖中的兩個(gè)方格,如果這兩方格中函數(shù)值都為F,那么新降維圖中該方格里填F;如果這兩方格函數(shù)值不同,那么變化順序和記圖變量變化一致的時(shí)候填記圖變量的原變量,相反的時(shí)候填記圖變量的反變量。
下面以4變量卡諾圖降維成3變量降維圖為例說(shuō)明。如圖4所示,以邏輯變量D為記圖變量,則4變量卡諾圖中的上面兩行對(duì)應(yīng)3變量降維圖的上面一行,4變量卡諾圖中的下面兩行對(duì)應(yīng)3變量降維圖的下面一行。根據(jù)前面介紹的方法,可以方便地得到3變量降維圖,其對(duì)應(yīng)的各種不同情況,在圖4中用①②③④標(biāo)識(shí)出來(lái)。①、②為原圖中值相同的情況,則降維圖中對(duì)應(yīng)的方格值也一樣;③為變化順序一致的結(jié)果,④為變化順序相反的結(jié)果。
圖4 降維過(guò)程
卡諾圖貫穿整個(gè)“數(shù)字電子技術(shù)基礎(chǔ)”課程,合理巧妙地利用卡諾圖不僅可以快速降維,還能夠簡(jiǎn)化對(duì)時(shí)序邏輯電路的分析,特別是大大降低了對(duì)異步時(shí)序邏輯電路的處理難度,只需要一張卡諾圖,逐步分析計(jì)算填充,一次可填充多個(gè)網(wǎng)格,不僅思路清晰,而且降低了計(jì)算復(fù)雜度,有效提高了計(jì)算效率??ㄖZ圖的應(yīng)用廣泛,文章僅通過(guò)舉例詳細(xì)闡述了卡諾圖在降維圖法以及時(shí)序邏輯電路分析中的應(yīng)用,能夠有效提升教學(xué)效果。
[1]KARNAUGH M.The map method for synthesis of combinational logic circuits[J].Transactions of American Institute of Electrical Engineers,1953,72(9):593–599.
[2]閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,1998:28-31.
[3]王毓銀.數(shù)字電路邏輯設(shè)計(jì)[M].北京:高等教育出版社,2005:31-34.
[4]薛俏.卡諾圖在“數(shù)字邏輯電路”教學(xué)中的應(yīng)用[J].遼寧科技大學(xué)學(xué)報(bào),2012,35(6):618-622.
[5]錢萌.卡諾圖的一圖多用[J].安慶師范學(xué)院學(xué)報(bào)(自然科學(xué)版),1999,5(3):53-55.
[6]何金保,駱再飛,諸葛霞.卡諾圖在時(shí)序邏輯電路設(shè)計(jì)中的應(yīng)用[J].寧波工程學(xué)院學(xué)報(bào),2016,28(2):1-4.
[7]康華光.電子技術(shù)基礎(chǔ)(數(shù)字部分)[M].北京:高等教育出版社,2014:282-286.
[8]胡長(zhǎng)林.用卡諾圖分析時(shí)序邏輯電路[J].電工教學(xué),1992,15(2):32-34.
[9]唐昌凡.時(shí)序邏輯電路分析方法剖析[J].四川師范學(xué)院學(xué)報(bào)(自然科學(xué)版),1995,16(3):237-240.
[10]夏強(qiáng)勝,李娟.卡諾圖在時(shí)序邏輯電路自啟動(dòng)教學(xué)中的應(yīng)用[J].安慶師范學(xué)院學(xué)報(bào)(自然科學(xué)版),2013,19(2):128-130.