李音 薛娓娓
(延安大學(xué)西安創(chuàng)新學(xué)院 陜西省西安市 710100)
在數(shù)字電子技術(shù)這門(mén)課程中,在開(kāi)始的邏輯代數(shù)基礎(chǔ)章節(jié)中,學(xué)習(xí)完數(shù)制、碼制、邏輯代數(shù)的基本運(yùn)算之后就要進(jìn)行公式法化簡(jiǎn)與卡諾圖化簡(jiǎn)的內(nèi)容了,作為基礎(chǔ)內(nèi)容存在于第一章節(jié),雖然是基礎(chǔ)內(nèi)容,但是卻是數(shù)字電路設(shè)計(jì)里面的一個(gè)主要部分,它奠定了邏輯電路設(shè)計(jì)思路的基礎(chǔ)。在這部分內(nèi)容的講述中,主要要跟學(xué)生說(shuō)清楚、講明白為什么要進(jìn)行化簡(jiǎn),目標(biāo)是什么樣的?;?jiǎn)是為了得到最簡(jiǎn)式,要根據(jù)最簡(jiǎn)式設(shè)計(jì)電路,這樣設(shè)計(jì)出來(lái)的電路才是最簡(jiǎn)單的。
在利用公式法化簡(jiǎn)之前,首先要對(duì)所有的基本公式、常用公式、基本定理進(jìn)行學(xué)習(xí),學(xué)習(xí)這部分內(nèi)容時(shí)要進(jìn)行分類(lèi)學(xué)習(xí),在邏輯代數(shù)中,有些公式是與普通代數(shù)是一樣的,很容易理解,例如:0?A=0,0+A=A,AB=BA,A+B=B+A,因?yàn)檫@些完全符合普通代數(shù)的乘法和加法。但是也有一些是很容易弄錯(cuò)的,例如,A?A=A , A+A=A,1+A=A,這些就和普通代數(shù)有著很大的區(qū)別,所以要提醒學(xué)生,在這個(gè)部分的學(xué)習(xí)過(guò)程中,必須注意與普通代數(shù)之間的區(qū)別,要提醒學(xué)生,邏輯代數(shù)只有:”0”和”1”,這樣比較好理解,提醒學(xué)生邏輯與和邏輯或的特點(diǎn),0 與任何值等于0,1 或任何值等于1。另外有些定理比較好推導(dǎo),和普通代數(shù)一樣例如A+AB=A,這種不需要記憶,現(xiàn)場(chǎng)推導(dǎo)出來(lái)就可以使用。但也有一些不易于推導(dǎo),例如還有多余項(xiàng)定理這種,就需要學(xué)生熟練,最好直接記下來(lái),直接使用。
公式法化簡(jiǎn)的思路是最終得到的化簡(jiǎn)式中項(xiàng)越少越好,每個(gè)項(xiàng)里面變量越少越好。這里只針對(duì)與或式。
上面這道例題屬于公式法化簡(jiǎn)的一種典型例題,這種使用公式法化簡(jiǎn)最好,這個(gè)做法現(xiàn)在最后兩項(xiàng)中,提取出,剩下1+A,1 或任何值等于1,所以接著最后在表達(dá)式里面找A 與,有A 的項(xiàng)直接可以消去,有的項(xiàng)直接消去就可以。
(1)在利用公式法進(jìn)行化簡(jiǎn)時(shí),邏輯代數(shù)中只有邏輯與和邏輯或,沒(méi)有除法也沒(méi)有減法,例如AB=AC,即B=C。還有A+B=A+C,即B=C,這兩個(gè)式子都是錯(cuò)誤命題,前一個(gè)用了除法,兩邊同時(shí)除以A,才可以得到B=C,第二個(gè)用了減法,兩邊同時(shí)減去A,得到B=C,可以給學(xué)生舉例像第一個(gè)式子中A=0,B=0,C=1所以AB=AC 成立,但是B 不等于C,第二個(gè)式子中A=1,B=0,C=1 所以A+B=A+C 成立,但是B 不等于C。
(2)公式法化簡(jiǎn)存在的問(wèn)題就是有時(shí)候沒(méi)有辦法很快的確定,我們得到的式子是不是最簡(jiǎn)式,那么公式法化簡(jiǎn)就可以彌補(bǔ)這樣的缺陷。
這種利用卡諾圖化簡(jiǎn)的依據(jù)就是相鄰的最小項(xiàng)可以合并,并消去不同的變量,那么我們就需要卡諾圖中所有對(duì)應(yīng)的最小項(xiàng)是邏輯相鄰的。圖1分別為二變量、三變量、四變量所對(duì)應(yīng)的最小項(xiàng)的卡諾圖。
圖1:二變量、三變量、四變量所對(duì)應(yīng)的最小項(xiàng)的卡諾圖
(1)如果已知表達(dá)式,要求利用卡諾圖化簡(jiǎn),首先把表達(dá)式寫(xiě)成最小項(xiàng)和的式子,注意變量都有哪些,按照缺什么補(bǔ)什么的辦法,使每一項(xiàng)都成為最小項(xiàng)。
上式中共有三項(xiàng),可以觀(guān)察出變量為A、B、C、D 四個(gè)變量,第一項(xiàng)已經(jīng)是最小項(xiàng),最小項(xiàng)就是要求每個(gè)變量都有,而且都是以變量或者反變量的形式出現(xiàn)并且與起來(lái)。第二項(xiàng)只有A、B、D 三個(gè)變量,缺C,給第二項(xiàng)與上,這樣就得到了兩項(xiàng),均為最小項(xiàng)。第三項(xiàng)只有A、C、D 三個(gè)變量,缺B,給第二項(xiàng)與上,這樣就得到了兩項(xiàng),均為最小項(xiàng)。最后根據(jù)每個(gè)最小項(xiàng)判斷都是哪個(gè)最小項(xiàng),m 的角碼是多少,原變量為“1”,反變量為“0”,對(duì)應(yīng)0101 轉(zhuǎn)換成十進(jìn)制為5,即是m5,對(duì)應(yīng)1010 轉(zhuǎn)換成十進(jìn)制為10,即是m10,對(duì)應(yīng),1000 轉(zhuǎn)換成十進(jìn)制為8,即是m8,對(duì)應(yīng),1111 轉(zhuǎn)換成十進(jìn)制為15,即是m15,對(duì)應(yīng)1011 轉(zhuǎn)換成十進(jìn)制為11,即是m11,這樣就得到上面的最終表達(dá)式。
(2)“填1”,按照卡諾圖中最小項(xiàng)的位置,對(duì)應(yīng)位置填1,得到卡諾圖2。
圖2:例題1 的卡諾圖
“圈圈”,規(guī)則:2n(1,2,4,8...)個(gè)1 圈起來(lái),1 均是是邏輯相鄰的關(guān)系,注意以橫豎中線(xiàn)對(duì)折,重合的部分均是邏輯相鄰;圈起來(lái)的圈為正方形或長(zhǎng)方形,注意邊邊角角的相鄰關(guān)系;每個(gè)1 都可以被重復(fù)圈;每個(gè)圈里面至少有一個(gè)1 沒(méi)有被其他圈圈過(guò);注意:圈數(shù)越少越好,則對(duì)應(yīng)的項(xiàng)越少,圈越大越好,每項(xiàng)對(duì)應(yīng)的變量數(shù)越少。
(3)寫(xiě)表達(dá)式。
每個(gè)圈對(duì)應(yīng)一個(gè)項(xiàng),最后把所有的項(xiàng)或起來(lái)就得到表達(dá)式了,方法是留下相同的變量,去掉不同的變量。
例1:
圖3中總共圈了兩個(gè)圈,其中四個(gè)1 被重復(fù)圈了,左側(cè)四個(gè)1 與右側(cè)四個(gè)1 是一個(gè)圈,注意這個(gè)是一個(gè)圈,以豎中線(xiàn)折疊具有相鄰性,所以是一個(gè)圈,對(duì)應(yīng)項(xiàng)為,因?yàn)锳、B、C、D 值中只有相同值D=0,其他A、B、C 值都不同,0 對(duì)應(yīng)反變量,所以為。對(duì)應(yīng)的下面8 個(gè)1 是一個(gè)圈,A、B、C、D 值中只有相同值A(chǔ)=1,其他B、C、D 值都不同,1 對(duì)應(yīng)原變量,所以為A。故得到
圖3:例題2 的卡諾圖
例2:如圖4,對(duì)卡諾圖進(jìn)行圈1,并寫(xiě)出最簡(jiǎn)式。
圖4:例題3 的卡諾圖
圖4(a)中有6 個(gè)1,四個(gè)1 不能圈,圈出來(lái)不是正方形,也不是長(zhǎng)方形,只能兩個(gè)1 圈,總共3 個(gè)圈,對(duì)應(yīng)的表達(dá)式為另外我們應(yīng)該注意到這個(gè)卡諾圖還有另一種圈法,但是還是3 個(gè)圈,每個(gè)圈有兩個(gè)1,所以就結(jié)果來(lái)看都是對(duì)的,而且電路簡(jiǎn)易程度是一樣的。
圖4(b)中有8 個(gè)1,只能兩個(gè)1 圈,總共4 個(gè)圈,對(duì)應(yīng)的表達(dá)式為另外和圖(a)一樣,這個(gè)卡諾圖也還有另一種圈法,但是還是4 個(gè)圈,每個(gè)圈有兩個(gè)1。由此可見(jiàn),有時(shí)候我們?cè)谶M(jìn)行化簡(jiǎn)時(shí)結(jié)果可能不一樣,但是都是正確的。
圖4(c)中有8 個(gè)1,總共3 個(gè)圈,四個(gè)1 圈,對(duì)應(yīng)的表達(dá)式為但是明顯這個(gè)結(jié)果是不對(duì)的,可以八個(gè)1 圈,通過(guò)表達(dá)式我們也可以發(fā)現(xiàn)有C 也有,相加是等于1 的,那么像這種,所有最小項(xiàng)都存在,加起來(lái)是等于1 的。
圖4(d)中有12 個(gè)1,公用四個(gè)1,八個(gè)1 圈,總共2 個(gè)圈,對(duì)應(yīng)的表達(dá)式為
從以上可以看出來(lái),卡諾圖圈法不是唯一的,最簡(jiǎn)式不是唯一的;另外在填1 時(shí),也可以根據(jù)表達(dá)式直接填1,例如表達(dá)式中有A,所有A=1 的格子都填1,像,所有A=1 且B=0 的格子都填1;最后圈1 時(shí)要注意邊邊角角的相鄰的1。
以上為公式法化簡(jiǎn)和卡諾圖化簡(jiǎn)需要注意的一些問(wèn)題,公式法化簡(jiǎn)適用于變量比較多時(shí)使用,由其是多余項(xiàng)定理的使用,但是缺點(diǎn)是無(wú)法確定是不是最簡(jiǎn)式,卡諾圖優(yōu)點(diǎn)是可以根據(jù)圈圈確定是最簡(jiǎn)式,但是存在當(dāng)變量太多,卡諾圖太復(fù)雜不易于圈圈的問(wèn)題。