邏輯門(LogicGates)是集成電路設(shè)計的基本組件,通過晶體管或MOS管組成的簡單邏輯門,可以對輸入的電平(高或低)進(jìn)行一些簡單的邏輯運(yùn)算處理,而簡單的邏輯門可以組合成為更復(fù)雜的邏輯運(yùn)算,是超大規(guī)模電路集成設(shè)計的基礎(chǔ)。
最基本的邏輯門有三種,即“與”、“或”、“非”,其對應(yīng)的符號如下圖所示:
至于它們的邏輯作用這里不再列出了,免得大家說編劇我灌水,為了顯得我能勉強(qiáng)高逼格一點,我們仔細(xì)看看邏輯門芯片中有哪些信息值得我們關(guān)注,F(xiàn)ollow me!
如果你仔細(xì)觀察過74系列與、或、非邏輯器件數(shù)據(jù)手冊(datasheet)的邏輯原理圖(Logic Diagram),我們會發(fā)現(xiàn)上面三個門會是下圖那樣的:
我們利用以前教材上的知識來化簡一下這三個組合邏輯,如下所示:
果然還是“與”、“或”、“非”邏輯,有心人可能立馬就發(fā)現(xiàn)其中的奧秘:這些邏輯全都被表達(dá)成“與非”、“或非”!原來以前在學(xué)校做的那些將邏輯表達(dá)式化成“與非”、“或非”的題目在這里就有呀,真是學(xué)以致用呀,我太興奮了,我太有才了,我太…
打住,今天我來這不是讓你來做這些簡單的表達(dá)式化簡,而是想問你們兩個問題:
(1)為什么這么簡單且基本得不能再基本的邏輯運(yùn)算要做得這么復(fù)雜?或者換句話說,為什么學(xué)校的書本上有那么多將邏輯表達(dá)式化成“與非”、“或非”的題目?
(2)為什么插入那么多非門?好像不要錢似的!
這兩個問題涉及到集成電路的設(shè)計,我們首先來看看在CMOS集成電路設(shè)計中是如何將這三個邏輯設(shè)計出來的,如下圖所示的“非門”邏輯構(gòu)造:
上面帶圓圈的是PMOS晶體管,下面是NMOS晶體管,從開關(guān)的角度來看,PMOS管相當(dāng)于PNP三極管,輸入為“1”時截止,輸入為“0”時導(dǎo)通;而NMOS則相當(dāng)于NPN三極管,輸入為“1”時導(dǎo)通,輸入為“0”時截止(這個比喻可能不太合適,但你可以這么去理解這個開關(guān)行為,因為相對于MOS管,可能更多人對三極管更熟悉,如果不是的話,可以忽略這個比喻)。
當(dāng)輸入為“0”時,下面的NMOS截止,而上面的PMOS導(dǎo)通將輸出拉為高電平,即輸出“1”。當(dāng)輸入為“1”時,上面的PMOS截止,而下面的NMOS導(dǎo)通將輸出拉為低電平,即輸出“0”,很明顯,這就是個“非門”邏輯。
OK,我們再看看“與非門”邏輯的結(jié)構(gòu):
當(dāng)上圖中的任何一個輸入(A或B)為低時,都將有一只PMOS導(dǎo)通,從而將輸出Y拉高,因此該電路是“與非門”邏輯,那么“與門”邏輯就是在“與非門”后面加一級“非門”了,如下圖所示:
有些人就會叫起來:編劇你腦殘了,這不是亂蓋嗎?我下面設(shè)計的電路不是更省邏輯嗎?
你自己看看,只有當(dāng)輸入A與B都為高電平時,輸出Y才被上拉為高電平,而只要有任何一個輸入為低電平時,輸出Y就被拉為低電平,不是嗎?我太有才了!你們電子制作站的老師水平真是太差了!
但是,對MOS管有較深理解的人都會知道,NMOS可以高效傳輸?shù)碗娖?,而PMOS可以高效傳輸高電平,兩者配合可以達(dá)到軌對軌輸出,而相反卻不可以(會有損耗),因此你設(shè)計的邏輯電路從書本上看是合格的,但實際應(yīng)用中不會有這種電路。
這樣你發(fā)現(xiàn)了什么沒有?在CMOS集成電路設(shè)計中,構(gòu)建一個“與門”邏輯竟然比“與非門”邏輯還要多花費(fèi)兩個MOS晶體管,CMOS門在本質(zhì)上是反相位的,也就是說每一個基本的邏輯門都自帶了一個邏輯非,所以說,在學(xué)校里老師讓你將復(fù)雜的表達(dá)式化成“與非”或“或非”邏輯,不僅僅是讓你考試拿分的一道題,而是在CMOS集成電路設(shè)計當(dāng)中,用“與非”、“或門”這樣的設(shè)計可以充分地利用CMOS門本身的“邏輯非”。
這么一個“與門”邏輯與“與非門”邏輯之間的差距雖然僅有兩個MOS管,但是在成千上萬的大規(guī)模集成電路設(shè)計時(如奔騰處理器),省下來的面積就非常可觀了。
下面是“或非門”邏輯的結(jié)構(gòu),讀者有興趣可以推導(dǎo)一下
你可能認(rèn)為這只是巧合而已,那你可以看看更復(fù)雜的邏輯芯片的邏輯原理圖,大多數(shù)都是用“與非門”、“或非門”、“非門”,當(dāng)然,有些也不是,畢竟只是上層的邏輯原理框圖,但是底層的CMOS實現(xiàn)肯定是一樣的
這樣第一個問題就已經(jīng)解答了,那么第二個問題呢?首先要說的是:插入的非門肯定是要花錢的,但是既然這么做,就一定有道理。有人說輸入插入非門是為了整形,輸出插入非門是為了增強(qiáng)帶負(fù)載能力,難道“與非門”或“或非門”的帶負(fù)載能會比“非門”差?都是一樣的構(gòu)造,只有“非門”可以對輸入電平進(jìn)行整形?
其實插入“非門”的主要目的是為了提升速度,即優(yōu)化邏輯門的延時!蝦米?編劇你這次又被我抓到了吧?我插入兩個非門就多了兩級邏輯,不就更慢了嗎?地球人都知道呀!
But,我只想告訴你,這只是一般人的想法(我們是高逼格的人JJ),大多數(shù)人都會認(rèn)為每一級邏輯都有一個“門延時”,因此會通過計算總的邏輯級數(shù)來計算總的延時,也就是說,邏輯級數(shù)越少的電路就是速度最快的,然而,門延時實際上取決于電氣努力(這個不好解釋,知道這個名詞就行了),所以采用較少的邏輯級數(shù)往往會導(dǎo)致更大的延時(這有點類似時序邏輯的“流水線”結(jié)構(gòu))。
CMOS集成電路設(shè)計里有一個“最優(yōu)級數(shù)”的概念,不是這個專業(yè)的不需要深究,我們只舉個最簡單的例子就可以說明白這個問題,如下圖所示:
這三個“非門”邏輯當(dāng)中哪個延時最呢?你可能認(rèn)為是第一個,但實際上第二個方案是延時最小的,這就解釋了:為什么這些廠家都不要錢似的插入“非門”邏輯了吧?插入這么多的“非門”就是為了獲得更快的速度,然后賣個更好的價錢,正所謂:天下熙熙,皆為利來;天下攘攘,皆為利往,這個道理永遠(yuǎn)是正確的,在集成電路設(shè)計里也不例外。
-
集成電路
+關(guān)注
關(guān)注
5388文章
11554瀏覽量
361945 -
邏輯門
+關(guān)注
關(guān)注
1文章
142瀏覽量
24065 -
電平
+關(guān)注
關(guān)注
5文章
360瀏覽量
39914 -
MOS
+關(guān)注
關(guān)注
32文章
1271瀏覽量
93829
發(fā)布評論請先 登錄
相關(guān)推薦
評論