基于數字電路中卡諾圖的應用研究
在數字電路中,卡諾圖是用最小項方格表示邏輯函數的方法,其是用圖形表示輸入變量與函數之間的邏輯關(guān)系,它用幾何位置上的相鄰,形象地表示了組成邏輯函數的各個(gè)最小項之間在邏輯上的相鄰性。初學(xué)者往往以為卡諾圖只是數字電路分析和設計中用以化簡(jiǎn)邏輯函數的一種工具。其實(shí)不然,實(shí)際上靈活運用卡諾圖,可以使邏輯電路的分析和設計過(guò)程大大地簡(jiǎn)化,讓一些難題迎刃而解。下面介紹卡諾圖在化簡(jiǎn)之外的幾點(diǎn)靈活運用。
1 卡諾圖的應用
1.1 利用卡諾圖結構幫助記憶格雷碼
格雷碼是一種常用的無(wú)權BCD碼,相鄰兩碼之間只有一位二進(jìn)制數碼不同。常用于模擬量的轉換中,當模擬量發(fā)生微小變化而可能引起數字量發(fā)生變化時(shí),格雷碼僅改變1位,這樣與其他碼同時(shí)改變兩位或多位的情況相比更為可靠,可減少出錯的可能性,提高電路的抗干擾能力,它是一種典型的可靠性代碼,這種碼制在數控裝置中有著(zhù)廣泛的應用。但由于這種編碼所具有的獨特性,實(shí)際應用中很難記憶。經(jīng)研究和探討,我們觀(guān)察到利用卡諾圖按照一定規律取值,可用于實(shí)現記憶格雷碼。這種獨特的記憶方式,可幫助學(xué)生方便、輕松地記住該編碼,并應用于實(shí)際中。
選用四變量卡諾圖并令:G3G2G1G0分別作為四位格雷碼的輸入變量。將變量G3G2作為高位,GlGO作為低位。畫(huà)出四變量卡諾圖。從四變量卡諾圖中我們可見(jiàn),卡諾圖中四變量若按箭頭所示的方向順序取值,其所取的值變化順序正好即為四位格雷碼的編碼表,如圖1格雷碼的卡諾圖表示法所示。十進(jìn)制數從0~15,對應四位格雷碼的輸入代碼依次分別為0000―0001―0011――1001一1000,如表l所示格雷嗎碼的編碼表。
1.2 卡諾圖在組合邏輯電路競爭冒險中的應用
競爭冒險,是數字電路中一種特有的現象。不同的門(mén)電路有著(zhù)不同的延遲時(shí)間,輸入信號經(jīng)過(guò)不同的途徑進(jìn)行傳輸,到達輸出端的時(shí)間有早有遲,狀態(tài)變化有先有后,存在時(shí)差。這種狀態(tài)變化存在時(shí)差的現象就叫做“競爭”。如果競爭結果是使穩態(tài)輸出的邏輯關(guān)系受到短暫破壞,出現不應有的尖峰脈沖,這種現象就叫做“冒險”。冒險可能使電路產(chǎn)生暫時(shí)或永久的邏輯錯誤。
在進(jìn)行邏輯電路設計時(shí),我們必須應發(fā)現和判別出產(chǎn)生競爭冒險的可能,并采取積極有效的措施將競爭冒險予以消除。判斷和消除競爭冒險的方法很多,最簡(jiǎn)便和最直觀(guān)的方法就是使用卡諾圖。
使用卡諾圖判斷一個(gè)組合邏輯電路是否存在著(zhù)競爭冒險的一般步驟是:首先畫(huà)出該電路邏輯函數的卡諾圖,然后在函數卡諾圖上畫(huà)出與表達式中所有乘積項相對應的卡諾圈,如果圖中有相切的卡諾圈,則該邏輯電路存在著(zhù)競爭冒險如圖2所示,所謂卡諾圈相切即兩個(gè)卡諾圈之間存在不被同一卡諾圈包含的相鄰最小項。
如果邏輯函數的卡諾圖中存在著(zhù)相切的卡諾圈,該邏輯電路就存在著(zhù)競爭冒險;那么,只要使函數的卡諾圖中消除相切的卡諾圈,即可消除競爭冒險現象。在卡諾圖上,加上一個(gè)與兩相切卡諾圈相交的一個(gè)圈(一項),破壞卡諾圈的單獨相切性。加上此圈后,邏輯函數多了一個(gè)冗余項,冗余項的加入并不改變原邏輯函數的邏輯值,但冗余項的加入卻可以有效地消除冒險。
例如圖3所示的卡諾圖中,有兩處存在卡諾圈相切現象,故其表示的邏輯函數式F=ABC十ABD+AD存在冒險??杉觾蓚€(gè)卡諾圈(虛線(xiàn)圈)破壞其相切性,也即增加兩個(gè)冗余項BCD和ACD,消除競爭冒險后,該邏輯函數的表達式如下所示:
由此可見(jiàn),使用卡諾圖判斷和消除數字電路中的競爭冒險,簡(jiǎn)便直觀(guān),易于操作。
1.3 用卡諾圖完成兩邏輯函數的邏輯運算
首先將邏輯函數F1和F2在同一張卡諾圖中表示出來(lái)。為區別起見(jiàn),將函數F1出現的l填在卡諾圖小方格的左上角,將另一函數F2出現的l填在卡諾圖小方格的左下角。
評論