1.52k likes | 2.89k Views
數位邏輯 -使用 Verilog 設計. 第 3 章 實作技術 Implementation Technology. 3.1 電晶體開關 3.2 NMOS 邏輯閘 3.3 CMOS 邏輯閘 3.4 負向邏輯系統 3.5 標準晶片 3.6 可程式邏輯元件. 3.7 客製晶片、標準單元與邏輯閘陣列 3.8 實用方面 3.9 傳輸閘 3.10 SPLD 、 CPLD 與 FPGA 的實作細節 3.11 結語. 目錄. 介紹.
E N D
數位邏輯-使用Verilog設計 第3章 實作技術 Implementation Technology
3.1 電晶體開關 3.2 NMOS邏輯閘 3.3 CMOS邏輯閘 3.4 負向邏輯系統 3.5 標準晶片 3.6 可程式邏輯元件 3.7 客製晶片、標準單元與邏輯閘陣列 3.8 實用方面 3.9 傳輸閘 3.10 SPLD、CPLD與FPGA的實作細節 3.11 結語 目錄
介紹 • 以電壓值表示兩個邏輯值最明顯的方法是定義定限(threshold) 電壓,低於此門檻的電壓以一個邏輯值表示,高於此門檻的電壓則對應到另一個邏輯值。 • 通常邏輯0以低電壓表示,邏輯1以高電壓表示。這稱為正向邏輯(positive logic)系統。另一個選擇,也就是以低電壓代表邏輯1,以高電壓代表邏輯0,則稱為負向邏輯(negative logic)系統。 • 使用正向邏輯系統,邏輯0和1可以簡單地稱為『低值』和『高值』。 • 為了實作定限電壓的觀念,我們定義了低電壓和高電壓的範圍,如圖3.1所示。圖中有可存在於此電路的最小電壓VSS,以及最大電壓VDD。
3.1 電晶體開關Transistor Switch • 以邏輯訊號x控制的開關如圖3.2a所示。 • 當x為低值則開關為開路,當x為高值則開關為閉路。用來實作簡單開關的最普遍電晶體型態為金屬氧化半導體場效電晶體(metal oxide semiconductor field-effect transistor, MOSFET)。 • 有兩種不同類型的MOSFET,n-通道(n-channel) 簡稱為NMOS,以及p-通道(p-channel) 以PMOS表示。
圖3.2b為NMOS電晶體的圖形符號,有四個電子終端,分別為源極(souce)、汲極(drain)、閘極(gate) 以及基底 (substrate)。 • 若VG為低值,則源極和汲極之間沒有連接,我們稱之為非導通(turned off)。 • 若VG為高值,則電晶體為導通(turned on),如同閉路開關,連接源極和汲極。 • 當NMOS電晶體為導通時,其汲極被拉低(pull down) 至Gnd,當PMOS電晶體為導通時,其汲極被拉高(pull up) 至VDD。
3.2 NMOS邏輯閘NMOS Logic Gates • 如何將NMOS和PMOS電晶體組合在現今普遍的技術,稱為互補性MOS (complementary MOS),或稱為CMOS。 • NOT邏輯閘另一個常用的名字是反向器(inverter)。
3.3 CMOS邏輯閘CMOS Logic Gates • 在NMOS電路中,藉由NMOS電晶體和作為電阻的拉高元件,可以實現邏輯電路。我們將涉及NMOS電晶體的電路稱為拉低網路(pull-down network, PDN)。 • CMOS電路的觀念是將拉高元件以PMOS電晶體建構的拉高網路(pull-up network, PUN) 取代,使得函數由PDN和PUN網路所組成,互為互補。 • PDN與PUN有同樣數目的電晶體,因此互為對偶(dual)。
關鍵點是當輸入為低值或高值時,CMOS反向器中沒有電流流動。關鍵點是當輸入為低值或高值時,CMOS反向器中沒有電流流動。 • 這對所有CMOS電路都成立。沒有電流流動,因此在穩態時沒有功率消耗。 • 這個特性使得CMOS成為現今建構邏輯電路最普遍的技術。 • 因為PUN是由PMOS電晶體所組成,當控制(閘極)輸入設為0時被導通,若xi = 0則此輸入變數xi將電晶體導通。根據迪摩根定理,我們得到 • 因此當輸入x1或x2為0時f = 1,表示PUN必須有兩個PMOS電晶體並聯。PDN必須實作f的互補,即
當x1和x2皆為1時 ,所以PDN必須有兩個NMOS電晶體串聯。當x1和x2皆為1時 ,所以PDN必須有兩個NMOS電晶體串聯。 • CMOS NOR邏輯閘電路可由定義下列NOR運算的邏輯表示式得到 • 因為只有當x1和x2皆為0時f = 1,因此PUN必須有兩個PMOS電晶體串聯。實現 的PDN有兩個NMOS電晶體並聯,產生圖3.14的電路。
CMOS AND邏輯閘是在NAND邏輯閘之後接上反向器,如圖3.15所示。同樣的,OR邏輯閘是在NOR邏輯閘之後接上NOT邏輯閘。 • 上述得到CMOS電路的流程可以應用在更一般性的邏輯函數,以創造複雜邏輯閘(complex gate)。
範例3.1 • 考慮下列函數 • 因為所有變數都以互補形式出現,我們可以直接得到PUN。先將x2和x3控制的PMOS電晶體串聯,再與x1所控制的PMOS電晶體並聯。 • 此式給定的PDN為x2和x3控制的NMOS電晶體先並聯,再與x1控制的NMOS電晶體串聯。電路如圖3.16所示。
範例3.2 • 考慮下列函數 • 然後 • 這些表示式直接產生圖3.17的電路。 • 圖3.16和3.17的電路顯示,有可能以電晶體(做為開關)的串聯和並聯組合,實作極為複雜的邏輯函數,而不必以完整AND(以圖3.15的架構)或OR邏輯閘串聯或並聯。
3.3.1 邏輯閘電路的速度Speed of Logic Gate Circuits • 真實的電晶體開關在打開時有顯著的電阻。 • 電晶體電路也包含電容,為製造流程所產生的副作用。 • 這些因素影響訊號值傳遞經過邏輯閘所需的時間。
3.4 負向邏輯系統Negative Logic System • 依照慣例以較高的電壓值代表邏輯1,較低的電壓值代表邏輯0。 • 此慣例稱為正向邏輯系統,是目前實際應用上最普遍的。 • 讓我們重新考慮圖3.13的CMOS電路,重製於圖3.18a。圖中的 (b) 部分為電路的真值表,但表中顯示的是電壓值而不是邏輯值。
圖3.19a說明正向邏輯表示法,也就是L = 0且H = 1。相反的表示法如圖3.19b所示。圖3.19b為NOR邏輯閘的邏輯閘符號,有小三角形在邏輯閘的終端表示使用負向邏輯。 • 電壓值的真值表如圖3.20a所示。使用正向邏輯系統,此電路代表AND邏輯閘,如圖3.20b所示。但是若使用負向邏輯系統,則此電路表示OR邏輯閘,如圖3.20c所示。 • 在單一電路中混合使用正向和負向邏輯,稱為混合邏輯系統 (mixed logic system)。
3.5.1 7400系列標準晶片7400-Series Standard Chips • 一直到1980年代中期,廣為使用的方法是將許多晶片連接起來,而每一個晶片只包含少數邏輯閘。 • 為此,有各式各樣的晶片搭配,內有不同種類的邏輯閘。 • 它們就是7400系列元件,因為晶片編號都以數字74開頭。 • 7400系列的例子如圖3.21所示。圖中 (a) 部分為此晶片的包裝,稱為DIP (dual-inline package)。圖中 (b) 部分為7404晶片,包含六個NOT邏輯閘。晶片的外部連接稱為接腳(pin或lead)。
7400系列晶片是由許多積體電路製造商,依據一致的規格以標準形式製造。 • 74LS00是以電晶體-電晶體邏輯 (transistor- transistor logic, TTL) 技術所製成,而74HC00是以CMOS技術所製成。通常來說,目前最普遍使用的是CMOS元件。 • 用來實作此函數的三個7400系列晶片如圖3.22所示。
由於其邏輯容量低,目前在實用上很少使用標準晶片,除了一個例外。現在許多產品包括內含緩衝器(buffer)的標準晶片。由於其邏輯容量低,目前在實用上很少使用標準晶片,除了一個例外。現在許多產品包括內含緩衝器(buffer)的標準晶片。 • 緩衝器是通常用來改進電路速度的邏輯電路。緩衝器晶片的例子如圖3.23所示。 • 此為74244晶片,由八個三態緩衝器(tri-state buffer) 所組成。 • 這些晶片有許多不同種類的包裝,最普遍的是SOIC (small-outline integrated circuit) 包裝。
最早期製造的晶片,例如7400系列晶片,只由少數邏輯閘所組成。用來製造這些晶片的技術稱為小型積體(small-scale integration, SSI)。 • 包含更多邏輯電路的晶片,通常是10到100個邏輯閘,稱為中型積體(medium-scale integration, MSI)。 • 今日大部分的積體電路包含數千或數百萬個電晶體。不論其確切大小,這些大型晶片稱為超大型積體(very large scale integration, VLSI)。
3.6 可程式邏輯元件Programmable Logic Devices • 每個7400系列元件所提供的功能是固定的,無法修改以符合特殊設計狀況。除此之外,受限於每個晶片只包含少數的邏輯閘,用這些晶片來建構大型電路是相當沒有效率的。我們可以製造包含較多邏輯電路,而且架構非固定的晶片。這種晶片在1970年代首度出現,稱為可程式邏輯元件(programmable logic device, PLD)。 • PLD是用來實作邏輯電路的一般性晶片。它包含許多邏輯電路元件,可以不同的方式實作。PLD可以視為包含邏輯閘和可程式開關的『黑盒子 (black box)』,如圖3.24所示。可程式開關可將PLD內部的邏輯閘連接起來,實作出任何所需的電路。
3.6.1 可程式邏輯陣列Programmable Logic Array (PLA) • 有些種類的PLD是市面上買得到的。首先研發出來的是可程式邏輯陣列(programmable logic array, PLA)。PLA的一般性架構如圖3.25所示。 • PLA的輸入經過一組緩衝器(提供每個輸入的真值與互補值)到電路區塊,稱為AND平面(plane),或是AND陣列(array)。 • 其中的每一項都可以設定成實作的任意AND函數。這些乘積項作為OR平面(plane) 的輸入,產生了輸出。
小型PLA更細節的電路圖如圖3.26所示,其中PLA有三個輸入,四個乘積項,兩個輸出。 • 雖然圖3.26清楚描述PLA的函數架構,這種畫法對大型電路來說相當不合適。 • 因此,我們習慣上以圖3.27的方式來表示。每個AND邏輯閘畫成單一水平線連接到AND邏輯閘符號。 • 圖3.27為實作圖3.26乘積項所需的可程式連接。 • 圖3.27說明了產生圖3.26中函數f1與f2的可程式連接。