摘 要 針對(duì)傳統(tǒng)卡諾圖化簡(jiǎn)邏輯函數(shù)存在的問(wèn)題,提出一種改進(jìn)的卡諾圖化簡(jiǎn)法,其改進(jìn)主要體現(xiàn)在卡諾圖的構(gòu)建、邏輯函數(shù)中最小項(xiàng)的標(biāo)示和卡諾圖的填寫等方面。利用改進(jìn)后的卡諾圖化簡(jiǎn)邏輯函數(shù),可使化簡(jiǎn)過(guò)程更加直觀、易懂,從而有利于改善分析效果,提高工作效率。
關(guān)鍵詞 邏輯函數(shù) 卡諾圖 化簡(jiǎn)
中圖分類號(hào):TB112 文獻(xiàn)標(biāo)識(shí)碼:A
0 前言
邏輯函數(shù)的化簡(jiǎn)有公式法、卡諾圖法和系統(tǒng)簡(jiǎn)化法。公式法是利用邏輯函數(shù)的基本定律和常用公式化簡(jiǎn)邏輯函數(shù),要求熟練掌握邏輯代數(shù)的基本公式,且化簡(jiǎn)后的表達(dá)式是否最簡(jiǎn)很難判斷;系統(tǒng)簡(jiǎn)化法主要針對(duì)多變量(5變量以上)的邏輯函數(shù),其化簡(jiǎn)過(guò)程復(fù)雜,需要借助計(jì)算機(jī)工具;卡諾圖法是由美國(guó)工程師卡諾(Karnaugh)提出的一種描述邏輯函數(shù)的特殊方法,這種方法是將個(gè)變量的邏輯函數(shù),按循環(huán)碼的規(guī)則來(lái)排列變量的取值組合,填入一個(gè)矩形或正方形的二維空間中,把矩形或正方形劃分成個(gè)小方格,這些小方格分別代表變量邏輯函數(shù)的個(gè)最小項(xiàng)(最大項(xiàng)),每個(gè)最小項(xiàng)(最大項(xiàng))占一格。卡諾圖法由于具有直觀、方便、無(wú)需記憶邏輯代數(shù)的基本公式,以及無(wú)需擔(dān)心化簡(jiǎn)后的表達(dá)式是否是最簡(jiǎn)等優(yōu)點(diǎn),成為廣大工程設(shè)計(jì)人員化簡(jiǎn)邏輯函數(shù)最常用的方法。
本文在傳統(tǒng)卡諾圖化簡(jiǎn)法的基礎(chǔ)上,給出一種改進(jìn)的卡諾圖化簡(jiǎn)法,利用這種方法,可使化簡(jiǎn)過(guò)程變得更加直觀、易懂,從而有利于改善分析效果,提高工作效率。
1 傳統(tǒng)的卡諾圖化簡(jiǎn)法
傳統(tǒng)的卡諾圖化簡(jiǎn),通常先將邏輯函數(shù)變換為最小項(xiàng)表達(dá)式,然后將卡諾圖中對(duì)應(yīng)最小項(xiàng)的小方格填“1”,其余小方格填“0”,圈“1”合并最小項(xiàng)得到最簡(jiǎn)與或式,圈“0”得到最簡(jiǎn)或與式。
以圈“1”得到最簡(jiǎn)與或式為例,考慮以下邏輯函數(shù)的簡(jiǎn)化:
= + + + + + + (1)
作出卡諾圖,如圖1所示:
按照傳統(tǒng)卡諾圖化簡(jiǎn)步驟,得到化簡(jiǎn)后的函數(shù)表達(dá)式:
= + + + = + + +
(2)
按照以上方法化簡(jiǎn),筆者在分析中發(fā)現(xiàn),主要存在以下幾個(gè)問(wèn)題:(1)首先必須正確填寫卡諾圖,即將邏輯函數(shù)中的所有最小項(xiàng)對(duì)應(yīng)到卡諾圖的小方格中,并在小方格中填上“1”,這就要求對(duì)用最小項(xiàng)表示(邏輯變量表示)的邏輯函數(shù)和用二進(jìn)制代碼(數(shù)字)標(biāo)示的卡諾圖之間的對(duì)應(yīng)關(guān)系要非常清楚,這實(shí)際上是比較困難的,而一旦填寫出錯(cuò),哪怕是其中的一個(gè)小方格填錯(cuò),則整個(gè)的化簡(jiǎn)結(jié)果就會(huì)出錯(cuò)。(2)填寫后的卡諾圖不便檢查。要正確地復(fù)查哪些最小項(xiàng)已填入,哪些還沒填入,或者是按照填寫的“1”反過(guò)來(lái)檢查函數(shù)中的最小項(xiàng),由于卡諾圖中的小方格填寫的均為“1”,對(duì)照起來(lái)容易混淆。
針對(duì)這些問(wèn)題,本文提出一種經(jīng)過(guò)改進(jìn)的卡諾圖化簡(jiǎn)法。
2 改進(jìn)的卡諾圖化簡(jiǎn)法
仍以式(1)的函數(shù)化簡(jiǎn)為例,改進(jìn)后的卡諾圖如圖2所示:
與圖1的卡諾圖比較,主要有以下改進(jìn):
2.1 卡諾圖的構(gòu)建
在卡諾圖軸線位置的標(biāo)記,由原卡諾圖僅標(biāo)示二進(jìn)制代碼改為在二進(jìn)制代碼旁邊加小括號(hào),括號(hào)內(nèi)標(biāo)出變量的對(duì)應(yīng)組合,這樣就使得由邏輯函數(shù)填寫卡諾圖時(shí),最小項(xiàng)的位置對(duì)應(yīng)更加清晰;
2.2 函數(shù)中各最小項(xiàng)的標(biāo)示
將函數(shù)中的每個(gè)最小項(xiàng)分配一個(gè)小寫字母來(lái)表示,從a到g分別表示最小項(xiàng)到,字母的順序與函數(shù)中最小項(xiàng)由前到后的排列一致。將函數(shù)F改成如下形式:
(3)
卡諾圖的填寫,在填寫卡諾圖時(shí),最小項(xiàng)對(duì)應(yīng)的小方格不再填寫“1”,而是填寫為該最小項(xiàng)對(duì)應(yīng)的小寫字母。
若邏輯函數(shù)中包含有無(wú)關(guān)項(xiàng),對(duì)無(wú)關(guān)項(xiàng)可用一希臘字母,如:,等表示,以區(qū)別于最小項(xiàng)表示所用的英語(yǔ)字母。假設(shè)式(1)中邏輯函數(shù)F包含兩個(gè)無(wú)關(guān)項(xiàng) 和 ,可作出卡諾圖(圖3):
化簡(jiǎn)后的邏輯函數(shù)為:
= + + + = + + + (4)
3 結(jié)論
本文針對(duì)傳統(tǒng)卡諾圖法化簡(jiǎn)邏輯函數(shù)存在的問(wèn)題,以將函數(shù)化簡(jiǎn)為標(biāo)準(zhǔn)與或式為例,從卡諾圖的構(gòu)建、邏輯函數(shù)的標(biāo)示兩方面入手,給出了一種改進(jìn)的卡諾圖化簡(jiǎn)法,該方法對(duì)于用“圈0法”將函數(shù)化簡(jiǎn)為標(biāo)準(zhǔn)或與式同樣適用。從實(shí)際效果看,利用改進(jìn)的卡諾圖化簡(jiǎn)邏輯函數(shù),可使卡諾圖的標(biāo)示更加直觀、易懂,有利于改善分析效果,提高工作效率。
參考文獻(xiàn)
[1] 王毓銀.數(shù)字電路邏輯設(shè)計(jì)(第三版).北京:高等教育出版社,1999.
[2] 閻石.數(shù)字電子技術(shù)基礎(chǔ)(第三版).北京:高等教育出版社,1998.
[3] 康華光.電子技術(shù)基礎(chǔ)(數(shù)字部分).第四版.北京:高等教育出版社,2000.
[4] Donald L.Dietmeyer.Logic design of digital systems, Allyn and Bacon press,1988.