一、第摩根定理與閘門的通用性
文章推薦指數: 80 %
若將OR Gate改為AND Gate,而AND Gate改為OR Gate,則可在閘門之所有的腳(不論 ... 圖4-22的電路稱為Latch電路,在此只討論邏輯閘的轉換技術,而有關Latch電路的原理 ...
第五節:邏輯閘的通用性和變換性
1.2.3.4.5.摘要.習題
小節內容
一、第摩根定理與閘門的通用性
二、第摩根定理與閘門的互換性
三、第摩根定理的應用
四、SOP與NAND閘,POS與NOR閘之關係
五、萬用閘門電路分析
一、第摩根定理與閘門的通用性
第摩根定理,以閘門的角度,也就是以圖形的角度來看如下:
我們稍加探討,可知A與B信號先經閘門合成為一整體信號後,由於輸出有-NOT閘(圓泡)因此造成了整體信號的Bar,也就是說整體的Bar是閘門中輸出部份之圓泡所代表的NOT所造成的,簡言之整體的Bar即代表了輸出的NOT(圓泡),而輸出的NOT(圓泡)就代表了整體的Bar。
另外,個別的Bar則是A與B信號在合成為一整體信號前就分別先經過輸入端的NOT閘(圓泡)所造成的,也就是說個別的Bar是閘門中輸入部份之圓泡所代表的NOT,而輸入的NOT(圓泡)就代表了個別的Bar。
整體的Bar=輸出腳的NOT
個別的Bar=輸入腳的NOT
由此就可瞭解第摩根定理亦可說是一個說明輸出端的NOT與輸入端的NOT之間關係的定理:
將〝+〞改為〝‧〞而〝‧〞改為〝+〞,代表了將ORGate改為AND
Gate,而ANDGate則改為ORGate,將整體的Bar打斷成為個別的Bar而分別加到各變數,代表了將閘門輸出端的NOT(圓泡)取消轉而在閘門的各輸入端加上NOT
閘(圓泡),也就是說,以閘門圖上的意義言,可視第摩根定理為把ORGate改為ANDGate,而ANDGate改為ORGate,就可將輸出的NOT
Gate(圓泡)取消,而將各輸入端都加上NOTGate。
上述的說法,可方便解釋變為或變為,但反過來就不易解釋了,
因為及都沒有輸出的NOT閘,因此有必要更進一步來瞭解第摩根定理。
下面的說法來自我的好友彭淇湘老師,他在這方面的專精,提供許多寶貴的概念,這裡特地拿來取代前述的說法,其結果是相同的。
若將OR
Gate改為ANDGate,而ANDGate改為ORGate,則可在閘門之所有的腳(不論為輸入腳或輸出腳)上,各加上一個NOT
Gate(圓泡)。
這種說法,使用起來就自由多了。
圖4-15第摩根定理在閘門圖上的變化與意義
實用上多一道消掉NOT的手續也是麻煩的,考慮到若腳上原有NOT,則再加NOT,將會使兩個NOT消去,而成為沒有NOT,而若腳上原來沒有NOT,則加上
NOT後會成為有NOT,如此上述說法更簡化成更實用的說法,其實這也就是希望讀者最終能瞭解第摩根定理在閘門圖上的意義;此更實用的說法就是若將OR
Gate改為ANDGate,而ANDGate改為ORGate,則不論輸入腳或輸出腳,原來有NOT(圓泡)的改為沒有NOT,原來沒有NOT的改為有NOT。
圖4-16第摩根定理在閘門圖上的實用方法
【例4-17】:請將下圖4-17的閘門圖,做第摩根定理的變換
解:
【例4-18】:請將圖4-18的閘門圖,做第摩根定理的變換。
解:
為了方便我們將閘門予以編號
(a)僅對Gate1做第摩根變換
(b)僅對Gate2做第摩根變換
(c)僅對Gate3做第摩根變換
(d)對Gate1,2做第摩根變換
(e)對Gate2,3做第摩根變換
(f)對Gate1,3做第摩根變換
(g)對Gate1,2,3做第摩根變換
※請特別注意第摩根變換帶給一個電路的多面貌性,讓你能在諸多的變化中選擇一個最適合你的電路來使用,如此才不至於入寶山空手而回。
附帶一提的是在第摩根變換時,常要伴隨著使用消去NOT(圓泡)及移動NOT(圓泡)的技術,前者較無問題,兩個連續的NOT
可消去,一般都可瞭解(因為倒相再倒相等於沒有倒相),而後者移動圓泡(NOT)則在此稍加討論。
(1)圓泡(NOT閘)在沒有岔路的線上移動時,不論往前或往後移動均不影響整個電路的功能,一般併入閘門之輸入或輸出腳的NOT
Gate是以圓泡來表示,(即將NOTGate的符號中省去三角形只留圓泡),因為閘門已規範表明了其信號流程的方向,若並非靠併在閘門而單獨使用時,則應使用NOT
閘符號,其方向要符合信號傳送方向。
圖4-19圓泡在沒有岔路的線上移動
(2)移動圓泡時,若遇有二條以上岔路時,若要將圓泡移動至超過分岔點時,必須將圓泡「分散」到各岔路上,也就是每條分岔線上都要有一個圓泡。
其他規則與沒有分岔路時一樣如圖4-27所示。
圖4-20圓泡在二條以上的岔路移動
原理參考圖4-21:
圖4-21圖4-20的原理參考圖
【例4-19】:將圖4-22之NOT(圓泡)移動,並將可消去之NOT抵消,移動NOT前請先將兩NOR閘做第摩根變換。
圖4-22
解:
(1)先做第摩根變換
(2)消去NOT
(3)移動AND閘之圓泡(※有經岔路)
(4)消去NOT
圖4-22的電路稱為Latch電路,在此只討論邏輯閘的轉換技術,而有關Latch電路的原理在第七章順序邏輯的應用再詳細介紹。
(3)圓泡可分散到各岔路,當然也可由各岔路「收歛」回來,可將各岔路上的圓泡(每岔路一圓泡)收歛回分岔點前,成為一個圓泡。
此圓泡的收歛,經常可使我們少用幾個NOT
閘,可不要輕視!
【例4-20】:請將圖4-23之NOT閘,以圓泡收斂之方式降到最少量。
圖4-23
解:
;
二、第摩根定理與閘門的互換性
使用第摩根定理時我們可將公式的左式與右式互換,因此,第摩根定理可做一些互換的工作。
我們已經學會第摩根變換,將之運用於各基本閘門,即可做閘門的互換(並非閘門的取代,閘門的取代,將在稍後介紹)。
在介紹閘門互換前,我們先來瞭解一些基礎觀念。
(a)
在正邏輯中是以1代表「有」,0代表「無」為基本,再延伸為1代表「高電位」,0代表「低電位」;而負邏輯則是以0代表「有」,1代表「無」為基本,再延伸為0代表「高電位」,1代表「低電位」。
(b)
由於正邏輯是以1代表「有」,負邏輯是以0代表「有」,因此正邏輯中,閘門的輸入端是以1代表「有激發信號輸入」或者說「有信號輸入」,而輸出端亦是以1代表「有激發信號輸出」或者說「有信號輸出」,而負邏輯中則是以0代表有信號輸入或有信號輸出,1代表沒有信號輸入或沒有信號輸出。
(c)
我們使用的閘門符號,是採用美軍所發展出來的閘門符號,在這套符號中,為了區別正負邏輯,所以在閘門的輸入端或輪出端加上一個圓泡(Bubble)以代表為採用負邏輯,而正邏輯則不加圓泡。
因此在純負邏輯系統中,閘門之輸入輸出端均會有圓泡記號,純正邏輯系統中,則均無圓泡記號,而混合系統(正、負邏輯混合使用)中,則有些輸入端輸出端有圓泡記號,有些則無。
(d)
由於正邏輯較符合人類習慣,使用正邏輯的人日益增多,而形成主流,殊少人使用負邏輯,所以,時至今日若未特別申明,則會被當作使用正邏輯,因此使用負邏輯必須特別申明,否則會引起誤會。
(e)
正邏輯與負邏輯習慣正好相反,也就是倒相,因此若以正邏輯的角度來看待負邏輯的圓泡時,只要將圓泡視為NOT閘即可,如此就可溝通正負邏輯,這也就是將圓泡視為NOT
Gate的原因。
另外,由於有NOT閘之故,使得電路在低電位時有動作,所以用正邏輯的角度來看時,可以認為圓泡是代表電路為低電位動作。
瞭解上述所言,我們就可開始進行第摩根定理做閘門的互換了。
(一)閘門的互換:
1.
AND閘
(1)
右邊的閘門,可稱為具倒相輸入的NOR閘或稱倒相輸入NOR閘。
由此可知,正邏輯中的AND閘與倒相輸入NOR閘可互換。
(2)
以正負邏輯的觀點看,正邏輯的AND與負邏輯的OR可互換。
2.
OR閘
(1)
正邏輯中的OR閘與倒相輸入NAND閘可互換。
(2)
正邏輯的OR閘與負邏輯的AND閘可互換。
3.
NAND閘
(1)
正邏輯中的NAND閘與倒相輸入OR閘可互換。
(2)
正邏輯的NAND閘與負邏輯的NOR閘可互換。
4.
NOR閘
(1)
正邏輯中的NOR閘與倒相輸入AND閘可互換。
(2)
正邏輯的NOR閘與負邏輯的NAND閘可互換。
由此可知第摩根定理能做正負邏輯間閘門互換的橋樑,也是具倒相輸入的閘門與一般閘門間互換的橋樑。
基本上第摩根定理使用〝+〞與〝‧〞運算,不涉及〝〞(互斥或)與〝⊙〞(互斥及)運算,不過針對與⊙運算亦有類似第摩根定理的關係如下:
(互斥及閘可與互斥反或閘互換)
(互斥或閘可與互斥反及閘互換)
【例4-22】:請證明
解:
由於
而
【例4-23】:請證明
解:
由於
而
【例4-24】:請證明
解:
(1)
(2)
(二)布林函數的互換:
第摩根定理可協助我們做布林函數的互換,記得先前所提到的積之和(SOP)與和之積(POS)以及積之和的標準式(SSOP)與和之積的標準式(SPOS)嗎?我們曾提及布林代數的函數式子,其表示方式基本上有積之和(SOP)及和之積(POS)兩種型式,而SOP中又包含積之和的標準式(SSOP),POS中包含和之積的標準式(SPOS)。
我們先研究SSOP與SPOS之間的互換,不過一樣先要有一些基礎的認識:
1.
SSOP是用「輸入變數的積」為項所得之和的函數,各項的變數不可有缺且依序,且各項(最小項)之編號依輸入變數順序及有無取補數
(Bar)而定,沒有Bar→1,有Bar→0。
SSOP由每一項(最小項)以為集合體表示,而每一個包含在函數F內的最小項,就對應於真值表中輸出為1的項,換言之,將真值表中輸出為0的項,以集合而成的函數為,也就是F的互補函數。
2.
SPOS是用「輸入變數的和」為各項所得之積的函數,各項的變數不可缺且依序,而各項(最大項)之編號,依輸入變數順序及有無取補數(Bar)而定,沒有Bar
→0,有Bar→1,SPOS由每一個項(最大項)以Π為集合體表示,而每一個包含在函數F內的最大項就對應於真值表中輸出為0的項,換言之,將真值表中輸出為1的項以Π集合而成的函數為,也就是F的互補函數。
現在就用F(A,B,C)=(3,5,6,7)來舉例說明第摩根定理如何協助函數之互換。
以較簡單的式子重新再描述如下:
整理後可得:
F(A,B,C)=(3,5,6,7)=Π(0,1,2,4
)
(A,B,C)=(0,1,2,4)=Π(3,5,6,7)
由上述基礎之(1)、(2)項亦可得相同之結果。
再加以整理後,使用第摩根定理來做SSOP與SPOS間的函數互換,就可以根據較快的
下列規則來做:
(1)
變換函數,主要是更動兩樣東西,其中一樣為Π及Σ,也就是將Σ改為Π,而Π改為Σ,另一樣是更改數字組也就是原有的數字就不用,改用未使用過的數字。
(2)
只改變Π,Σ或只改變其所含數字組,則所得的函數為原函數的互補函數。
(3)
同時改變Π,Σ與所含數字組,則所得之函數仍為原函數,為相同函數。
【例4-25】:請求出F(X,Y,Z)=Σ(1,3,5,7)
解:
(X,Y,Z)=Π(1,3,5,7)或Σ(0,2,4,6)
【例4-26】:下列四個函數
解:
【例4-27】:將SPOS式
(1)Y之SSOP式(2)之SSOP式(3)之SPOS式求出。
解:
接下來看看非標準式的SOP與POS間的函數變換一般可透過兩種方法來完成。
(1)
先將SOP或POS化為SOP之標準式SSOP或POS之標準式SPOS,再透過前述SSOP與SPOS之溝通來完成彼此的互動。
SOP←→SSOP←→SPOS←→POS
(2)
則為較佳之法(其實與(1)法是相同,只是方式不同)就是透過卡諾圖來溝通,先將SOP或POS填入卡諾圖(相當於SOP或POS化為SSOP與SPOS),再依卡諾圖之最大項或最小項,來轉換為SOP或POS(相當於SSOP或SPOS化為SOP或POS)。
因此建議採(2)法,使用時記得下列原則;
a.
原函數式填入卡諾圖時,若原函數式為SOP,則與此函數所含最小項編號相對應的卡諾圖格子上,應填入1,若原函數式為POS時,則與此函數所有最大項編號相對應的卡諾圖格上,應填入0。
b.
將卡諾圖中標示1的格子圈出,以0代表變數有Bar,1代表變數沒有Bar,寫出之SOP式即為原函數之SOP式。
而將卡諾圖中標示0的格子圈出,以1代表變數有Bar,0代表變數沒有Bar,寫出之POS式即為原函數之POS式。
c.
將卡諾圖中,標示0的格子圈出,以0代表變數有Bar,1代表變數沒有Bar寫出之SOP式為與原函數互補之函數的SOP式。
而將卡諾圖中標示1的格子圈出,以1代表變數有Bar,0代表變數沒有Bar
寫出之POS式為與原函數互補之函數的POS式。
【例4-28】:若,請變換出
(1)F之POS式(2)之SOP式(3)之POS式。
解:
先將原函數填入卡諾圖
(1)F之POS式
(2)之SOP式
(3)之POS式
【例4-29】:若,請變換出
(1)F之SOP式(2)之SOP式(3)之POS式。
解:
原函數填入卡諾圖
(1)F之SOP式
(2)之SOP式
(3)之POS式
三、第摩根定理的應用
第摩根定理可協助我們做一些工作,這些工作也就是第摩根定理的應用,事實上,在前面就已經介紹了一些基本的應用,包括了(1)如何將整體的Bar打斷,(2)如何運用到閘門的互換,(3)溝通正負邏輯,(4)溝通倒相輸入閘與一般閘門,(5)使電路多面貌性,(6)SSOP與
SPOS間的溝通互換,(7)一般SOP式與POS之溝通互換,(8)函數與其互補函數間之變換等等。
底下將繼續介紹一些第摩根定理的應用。
(一)閘門的取代:
NOT閘只有單一輸入,無法取代二輸入需求的閘,AND,OR閘則無法做出NOT的效果,因而NOT、AND,OR閘均無法用來取代其他的閘門,而NAND,NOR則可用來取代其他的閘門,也就是說,任何其他閘門均由NAND或NOR閘來取代是可行的,閘門的取代有其重要性與必要性,因為閘門的取代可避免對一些閘門的依賴度,避免閘門的浪費閒置,並可使得使用的閘門一致而降低成本。
NAND及NOR閘因可取代其他閘門,因此常被稱為萬用閘門,或者稱為可執行閘門。
1.
用NAND來取代其他閘
(1)
NAND取代NOT:
圖4-25NAND取代NOT
(2)
NAND取代AND:
圖4-26NAND取代AND
(3)
NAND取代OR:
圖4-27NAND取代OR
(4)
NAND取代NOR:
圖4-28NAND取代NOR
2.
用NOR來取代其他閘門
(1)
NOR取代NOT:
圖4-29NOR取代NOT
(2)
NOR取代AND:
圖4-30NOR取代AND
(3)
NOR取代OR:
圖4-31NOR取代OR
(4)
NOR取代NAND:
圖4-32NOR取代NAND
(二)使用第摩根定理來將電路全以NAND或NOR來完成
電路全用NAND,NOR完成,可減少閘門種類,可能有助於降低成本,其做法有二種,其中第一種方法是利用上述閘門取代的方法,凡是看到不是NAND(或NOR)的閘就以NAND閘去取代,就像積木一樣,一塊一塊的取代,最後再將NOT(圓泡)消除。
【例4-30】:將圖4-33之電路全部用NAND閘完成。
圖4-33
解:
另一種方法其實跟第一種方法是相同的意思,只是手法上較輕鬆些,因此建議使用,此法將只相差NOT的閘門視為同型閘門,例如:NAND與AND可視為同類型閘門,因它們只差別在有沒有
NOT;另外,NOR與OR為同型閘門,而AND與OR閘則非同型閘,不同型不是只有相差NOT而已。
另外NAND與NOR也為不同型的閘門,也就是基本上以〝‧〞與〝+〞來區分閘門的類型。
我們先將型不同的閘做第摩根定理變換,而型相同的不做第摩根定理變換,然後才刪掉(抵銷)或移動NOT來完成。
注意,最後的NOT要以NAND或NOR取代。
【例4-31】:請用上述方法重做例4-30之工作。
解:
四、SOP與NAND閘,POS與NOR閘之關係
基本上SOP式為積之和,變數是先〝‧〞後再〝+〞,因此以閘門而言,常構成AND-OR(先AND後OR)之結構。
若將後面之OR做第摩根變換,並將其輸入腳之NOT往AND輸出腳移動,則成為兩層NAND電路
(NAND-NAND),因此SOP式適合用NAND閘來完成。
圖4-34SOP與NAND閘
同理POS式為和之積,變數是先〝+〞再〝‧〞,因此以閘門而言,常構成OR-AND(先OR再AND)之結構,若將後面之AND做第摩根變換,並將其輸入腳之NOT往OR輸出腳移動,則成為兩層NOR電路
(NOR-NOR),因此POS式適合用NOR閘來完成。
圖4-35POS與NOR閘
藉著NOR閘←→POS式←→SOP式←→NAND閘
只要能用NAND閘做出的電路就可以用NOR閘來做出,反之亦然,因此採取那一種電路是看該電路是以NAND還是NOR做出較廉價方便。
各位應加強SOP與POS之溝通能力,而不能一味的只使用SOP(可惜一般的人對POS很不熟悉,失去了另一半的世界)
五、萬用閘門電路分析:
由於使用萬用閘門NAND與NOR來完成實際的電路,會如本章之最後章節所提的有許多好處,因此一般人常遇到全為NAND與NOR的電路,但在分析電路NAND,NOR時卻會造成較為麻煩的狀況,例如下圖:
圖4-36全為NAND閘的電路
依照典型的分析是先依閘門電路將Y式寫出如下
由於NAND與NOR之輸出均有NOT,愈多層(愈多級)的NAND與NOR電路,將造成式子Y有一層又一層的Bar,當然,利用第摩根定理,可以將這些Bar打斷如下:
但總是麻煩不方便,同樣是應用第摩根定理,我們可在寫出Y式子前;就先對一些閘門做第摩根變換,讓其全成為AND或OR,後再寫出
Y式。
其做法如下:
1.
先將各閘門定階,最靠近輸出(Y)的NAND或NOR閘定為第1階,而將信號送給第1階閘門的為第2階,傳送信號給第2階閘門的為第3階,……依此類推。
圖4-37全為NAND閘的電路分析(一)
※注意不可由最前之輸入端開始定階,否則遇偶數層時會殘留一個輸出之倒相,無法消去整體的Bar,或造成變化的規則無法一致之缺點。
2.
由於不希望有整體的Bar,因此變換閘門時應去除所有的閘門輸出腳之NOT,故應選在奇數階的閘做第摩根定理變換,再抵消NOT。
圖4-38全為NAND閘的電路分析(二)
3.
經上面過程處理後,整個電路成為AND或OR閘,輸出不再有倒相,就不會有一層又一層的Bar(輸入的NOT,為個別的Bar,無妨)
,由此可得下列幾個重要的認識:
a.
奇數階的閘門做第摩根定理變換後,奇數階閘門原有之輸出NOT會消掉,而同時偶數階閘門的輸出NOT必與奇數階閘門變換後的輸入端之NOT互相抵消,因此偶數階閘門,不需第摩根變換亦會將輸出端之NOT抵消,因此只要奇數階閘門做第摩根變換即可,偶數階不可做變換。
例如上圖變換閘門1,就可把閘門1及2輸出之NOT去掉,而變換閘門3亦可把閘門3與4之輸出NOT消掉。
b.
由於奇數階要做第摩根變換而偶數階不做,因此若奇數階為NAND時就可把該閘門視為OR,(消掉NOT了)而為NOR時就可把該閘門視為AND(消掉NOT了),至於偶數階的閘若為NAND則視為AND,若為
NOR則視為OR。
以另一角度視之,奇數階經變換,其型一定要改變再加上去掉輸出之NOT,因此NAND→OR而NOR→AND,而偶數階未變換,型相同但去掉輸出之NOT,因此NAND→AND,而NOR→OR,因此可得下列規則:
(1)
奇數階要變,故NAND→OR,NOR→AND(或說不要管NAND,NOR
輸出之倒相將之視為AND,OR,並將型改變,即AND→OR,OR→AND)
(2)
偶數階不變,故NAND→AND,NOR→OR(或說不要管NAND,NOR
輸出之倒相將之視為AND,OR,型不改變即AND→AND,OR→OR)。
c.
由於偶數階未經變換,因此送到偶數階之信號不需做任何處理,也就是以原變數輸入,但奇數階由於經變換,變數輸入之腳將有NOT產生,將此輸入變數取補數即可。
簡言之,依下列規則即可完成:
(1)
由最終輸出端開始定階,記得奇數階變偶數階不變的原則。
(2)
忽略NAND,NOR輸出端之NOT,將其視為AND,OR。
(3)
將規則2所得奇數階之AND變為OR,OR變為AND,但偶數階不變。
(4)
由外直接輸入閘門之變數(由外界直接送入電路之輸入變數),若是輸入至奇數階閘門則要變也就是要加Bar,而輸入到偶數階者則不需改變,由閘門傳送到另一閘門的信號,在整體變換時已整體處理過,不必再考量其是否要加Bar,只要注意信號由外界直接輸入時的進入點是否為奇數階閘即可。
因此我們可以一步就完成前例的工作
其中C,E為外界直接由奇數階輸入的信號故要加Bar,NAND,NOR混合電路,亦可適用此規則,再看一個例子:
【例4-32】:請寫出圖4-39之布林代數式。
(不必化簡)
解:
先定階
※圖中之「視同」表示以全體考量而言,讓信號「視同」……而非以單獨之閘來考量。
【例4-33】:請直接寫出圖4-40的Y式(不必化簡)。
圖4-40
解:
【例4-34】:請直接寫出圖4-41的Y式(不必化簡)。
圖4-41
解:
此題電路的閘門有變階的現象,也就是同一個閘門是奇數階也是偶數階的現象。
其中GateA為第1階無問題,而GateB送信號到GateA故為第2階亦無問題,但Gate
C一方面送信號給GateA,應算為第2階,可是GateC也送信號給GateB應算第3階,如此GateC就有變階現象,也就是Gate
C為第2階也為第3階,如果都是偶數階,或都是奇數階,就沒問題,因為做法均同,但在這種情形若為當第2階(偶數階)就不變,而當第3階(奇數階)就要變,是不一樣的,怎麼辦呢?
答案是隨信號的流程來決定其為第幾階,當GateC送信號給GateB時,以第3階來處理Gate
C,而當GateC送信號給GateA時,以第2階來處理GateC即可。
因此
【例4-35】:請以傳統方式求出上例電路之Y,並比較何種方法較方便?
解:
當然可看出此法較慢,尤其NAND,NOR閘愈多時,傳統方法就愈不方便,可知第摩根定理可協助我們快速的求出代數式(不含整體
Bar的式子)
【例4-36】:求圖4-42Y之式子(不必化簡,但只能有個別變數的Bar)
圖4-42
解:
【例4-37】:求圖4-43Y之式子(不必化簡,但只能有個別變數的Bar)
圖4-43
解:
本章的最後一部份,我們以一個二輸入的互斥或閘電路來說明第摩根定理提供給電路的多變化性,同時也可瞭解到第摩根定理看似不起眼的定理,為何受到吾人的重視!
我們利用第摩根定理的變化及一些布林代數的公式將原來之式4-1變化為式4-2,4-3,4-4等,展現多變化的一面,我們可為每一個式子繪出對應的電路圖。
圖4-44XOR閘
多一種變化就多一個選擇,就更有機會挑出一個更廉價而具一樣功能的電路,圖4-52就是將原始的XOR電路變化而得的電路。
式4-1之電路須使用NOT×2,AND
×2,OR×1計3顆IC,式4-2之電路須使用NOT×2,OR×2,NAND×1,計3顆IC。
同理,式4-3之電路須3顆IC,式6-4之電路亦須3顆IC。
因此採用式4-1~式4-4來製作XOR電路,基本上成本是相同的,但能力較強的工程師會發展出更多的電路變化,使更具有降低成本的可能,前述式4-1發展到式4-4時,並未將所有可能的變化變出來(變化太多了),亦可如下變化:
而得式4-5、式4-6、式4-7、式4-8等,對應之電路圖如圖4-45所示。
圖4-45XNOR閘
由圖4-45可知,式4-5之電路須使用NAND×3,NOT×2計2顆IC,式4-6之電路須用NOR×3,NOT
×3計2顆IC,式4-7用NAND×3,NOT×3計2顆IC,式4-8為NOR×3,NOT×2計2顆IC,可見多些變化後,有較大的機會,減低成本,圖4-45之電路均只需2顆IC即可,而圖4-44之電路同樣是XOR,卻要用3顆IC,這當然是第摩根定理變換所帶來的好處,或許你不太喜歡代數式,那你也可用閘門的變換(圖的變換)來做,同樣是第摩根定理用式子或用圖形變化均可,例如,式4-1之圖,將三個Gate都做變換,就可得式4-2之圖。
圖4-46式4-1轉換成為式4-2
而式4-3之圖,將三個Gate都做變換,就可得式4-4之圖。
但式4-2之圖就無法用此法變為式4-3之圖,這是由於式4-2變化到式4-3用的是一般布林代數中的展開(分配律)而不是使用第摩根定理變化出來的。
由此可知,雖然第摩根定理很好用,但也必須靠布林代數中,其他公式的變化來支援;才能發揮其最大的功能,只靠第摩根定理變化就受到限制了,因此主帥、大將及兵士缺一不可。
圖4-45電路較圖4-44電路成本較低的原因,是圖4-45之電路儘量採用同種(NAND或NOR)閘門,如果你不喜歡在式子上變化,你仍可以在圖上變化,將圖4-44之各電路用第摩根定理變換成圖4-45之各種電路(只需將最靠輸出的閘門做第摩根變換再處理NOT即可)。
圖4-47(式4-1)~(式4-4)轉換成為(式4-5)~(式4-8)
式4-5與式4-8使用的閘門數較少,因此優於式4-6與4-7,但圖4-47中之式4-5電路與式4-8電路不是最佳之選擇,因為將其中之NOT以NAND或NOR來代替,就可全部變為由NAND閘或全部由NOR閘所構成,如圖4-48所示。
圖4-48XOR閘
圖4-48之電路,不論用NAND或NOR都是用5個閘,相當於2顆IC,而圖4-45電路也是用2顆IC(尤其是式4-5、式4-8),但其成本與利益卻不同(請注意:只是將NOT用NAND或NOR來代替,卻使優劣有差)。
以圖4-47(a)與圖4-48之式4-5電路為例,其實兩者相差甚微,只是圖4-48(a)是將圖4-45之式4-5電路中之NOT以NAND
×3,NOT×2,相當於2顆IC,以IC數來看成本應是一樣,但在大量生產時,圖4-48(a)電路,將優於圖4-45(a)電路,請看下列理由:
(1)
在大量生產下,圖4-48(a)之作法是儘量用NAND,所構之IC均為NAND,品種單一數量也大,所謂買得愈多折扣愈多,因此每顆IC將稍低於一般價格。
(每顆省1元,則一百萬個將省下一百萬元。
)
(2)
IC種類單純數量較多集中,在缺貨時較容易掌控貨源(材料商不願失去大客戶,會盡量調貨給大客戶),生產線較不容易受材料缺貨風暴影響而停擺,以致違約賠償。
(3)
每顆IC均相同為NAND,在生產線上即使兩IC對調裝配,也不會出問題(但一為NOT,一為NAND之IC時,即不可對調),有助於提高生產線之速度及降低不良率(時間及金錢)。
(4)
生產一定要備有備份材料,一般若備份太少怕臨場有意外問題時無法應付,但備料太多則生產完後,如不能消化過剩之備料將形成資金的積壓,甚而影響資金的週轉,不利經營甚至造成呆料。
而全用NAND則剩下之備份材料立刻可投入下次的生產,不致積壓而成呆料(NAND可代用任何Gate)。
(5)
IC種類單純物料管理簡單,必為複雜的物料請專人管理而增加人事支出,且物料種類簡單易於掌握。
基於實際成本的考量,你一定可體會,儘量用NAND或NOR閘來取代其它閘門,使得閘門種類愈少通常愈佳。
若在取代中順便減少使用的閘門數,使之維持在關鍵數之下,則可避免多用一個IC,但是即使無法減低IC數,仍可儘量用NAND或NOR來取代,俾在有形或無形中得到好處增強競爭力。
以我們提的互斥或閘電路而言,只會一個基本電路的工程師實力等級最差,而能夠將之發展成多個電路來加以選擇,則等級就高一些了。
所以,能做到圖4-44只用2顆IC的水準,其等級能力就更高了,而更高級能力更強的,就須有成本概念,發展到圖4-48電路,便可大幅降低有形、無形的成本了。
然而,最高級的工程師不僅僅對第摩根定理變化能熟悉掌握,瞭如指掌,會切斷Bar,也會將Bar接回,並且對於所有布林代數的運用亦非常熟練。
他所設計出來的NOR電路如下,使用了4顆NAND,恰好維持在關鍵數之內,只需用到一顆IC(由三顆IC降低為一顆IC,夠厲害吧!),且全數用NAND或NOR,不但有形的成本大幅減少,無形的利益也絲毫不浪費,具備了這些優點,誰還能設計電路比他好呢!記住:式子最簡單不代表成本最便宜。
式4-9之圖如圖4-49所示。
圖4-49XOR閘
【例4-38】:證明圖4-49為NOR。
解:
Top
延伸文章資訊
- 1組合邏輯
3-6 二進制轉BCD 碼數碼轉換器. 3-7 動動腦組合邏輯練習 ... gate)、或閘(OR gate)、反閘(NOT gate)、反及閘(NAND gate)、反或閘(NOR gate)...
- 2只使用NAND或NOR Gate實現邏輯函數- 電子技術設計
- 3數位邏輯學-第六章
萬用閘NAND GATE互換的應用-1. p7-1.GIF (4135 bytes). 全是NAND GATE之電路,可用AND-OR方式取代. 應用第摩根定律. p7-2.GIF (797 b...
- 4第三章3-1 圖示法
例題3-10利用NAND閘完成布林函數. ∑. = )7,5,4,3,2,1(. ) ... 多階AND - OR電路轉換成多階. NAND閘之轉換步驟. ✶將所有的AND閘使用AND-inve...
- 5反及閘- 維基百科,自由的百科全書
反及閘(英語:NAND gate)是數位邏輯中實現邏輯與非的邏輯閘。若輸入均為高電平(1),則輸出為低電平(0);若輸入中至少有一個為低電平(0),則輸出為高電平(1) ...