數位IC/組合邏輯

數位電路介紹: 3之2

在本單元(數位電路第二章)中,我們將介紹數位IC及組合邏輯。

何謂數位IC?

IC一詞為"Integrated Circuit (積體電路)"的縮寫,數位IC則代表了任何由數位電路所整合的半導體晶片。數位IC有許多不同的類型,以下列出經常被使用於各種應用中的一些IC類型。

Microcomputers(微電腦):
能夠實現各類處理運算的IC
Memory(記憶體):
用來儲存資料的IC
Standard Logic ICs(標準邏輯IC):
能透過各種組合方式來達到特定功能的IC
Custom Logic ICs(客製化邏輯IC):
針對特定客戶的需要而設計完成的原始專屬電路

其中的標準邏輯IC,是在單一、小型、整合的封裝中,放入邏輯電路所需的基本元件和通用功能,這些IC是建構邏輯電路的核心元件。

本數位IC單元,將著重於此類型IC的討論。

標準邏輯IC: 數位電路的基礎

市面上大約有600種標準邏輯IC,從基本晶片一路到高功能的算術與邏輯單元。

這些IC又可分為兩種不同類型的技術:TTL和CMOS。

TTL ICs(電晶體-電晶體邏輯IC):
主要電路是由雙極性(bipolar)電晶體所構成,這類晶片工作於5V的電源電壓
CMOS ICs(互補金屬氧化物半導體IC):
主要電路是由成對的p型和n型MOSFET(金屬氧化物半導體場效應電晶體)構成,這類晶片可工作於很大的電源電壓範圍。

圖1:TTL IC

圖1:TTL IC

如果在設計中,需要多個數位IC之間進行信號傳遞,那麼設計人員就必須要了解產生H或L的邏輯條件,以及代表這些條件的電壓範圍。對應於邏輯條件的電壓範圍稱為邏輯電位(logic level)。這些相互傳遞信號的IC必須使用相同的邏輯電位;如果使用不同的電位,將導致傳遞失敗,甚至可能造成IC損壞。

傳統上,TTL IC採用的是以下的電位:

輸入信號
0 V到0.8 V為L; 2.0 V及以上為H
輸出信號
0 V到0.4 V為L; 2.4 V及以上為H

圖2:CMOS IC

圖2:CMOS IC

在進行設計時,TTL IC製造商必須讓其IC符合上述的TTL介面標準。由於這些數值目前已成為業界的標準值,因此使用TTL IC的邏輯電路設計人員在設計TTL IC間的連接時,完全無需擔心邏輯電位的問題。

CMOS IC的情況則有所不同,這類IC存在著許多具有不同邏輯電位的系列。此外,邏輯電位還會根據所提供的電源電壓而變化。這意味著設計人員在連接不同的CMOS IC時,必須留意到要使用一致的邏輯電位。

扇出(Fan-Out)的意義

在連接標準的邏輯IC時,必須注意避免將過多的IC連接到同一個輸出端上。

當使用TTL IC時,輸出電流會限制輸出端的IC連接數量。我們使用”扇出”一詞來代表一個輸出端可連接的最大IC數量。 請記住一點,TTL IC主要是由雙極性電晶體所組成,因此需要透過電流來進行開與關的切換動作。TTL IC的扇出值,就是其一個輸出端電流與每個輸入端所使用電流的比例值(見圖3)。如果超出扇出值時,將造成輸出端可能無法維持正確輸出邏輯電位的風險。

圖3:TTL IC的扇出

圖3:TTL IC的扇出

 

相對來說,CMOS IC由於流入輸入端的電流非常小,因此無法透過電流來決定扇出值。其取代的方式,是由負載電容值(load capacity)來決定扇出值(如圖4所示)。

CMOS IC規格書中所提供的負載電容值,是藉由量測傳輸延遲來取得的。當負載電容超過時,傳輸延遲可能會因而延長到足以導致誤動作發生的程度。

 

圖4:CMOS IC的扇出

圖4:CMOS IC的扇出

開汲極(Open Drain): 將多個輸出端接在一起

在開汲極的架構中,不像通用CMOS IC般在輸出級(圖A,左)存在著連接到VCC的MOSFET,其輸出端並不能自行拉高電位(圖A,右)。因此,其輸出端所呈現的,如非低阻抗即為高阻抗(也就是說,輸出腳與電路呈斷開關係,因而無法輸出電壓或電流)。

由於高阻抗狀態並不穩定(這是由於其輸出電位是不確定的),因此其輸出端需透過一外加的上拉電阻來連接到電源上,並固定於此高電位。

此處請留意,連接到上拉電阻的輸出端並不需要與IC的電源電壓處於相同的電壓,因而能藉此實現具有不同邏輯電位的IC之間的相互連接。

圖A:CMOS輸出與開汲極輸出

圖A:CMOS輸出與開汲極輸出

組合邏輯

組合邏輯指的是一種數位電路,其輸出為目前輸入信號的函數結果。相對之下,循序邏輯的輸出則不只是由目前的輸入狀態來決定,而還包括了其內部的記憶體電路和同步電路。

在本單元中,我們先來討論組合邏輯。

組合邏輯電路包含一系列的邏輯閘:AND、OR、NOT、XOR、及其它等(我們已在上一單元中介紹了邏輯閘)。只要將邏輯閘加以適當的組合,便能實現各種邏輯功能。

接下來我們就來看看常見的兩種類型組合邏輯:多工器和解碼器。

透過多工器來選擇輸出

多工器事實上就是一種信號切換器,用於從多個輸入信號中選擇其一做為輸出信號。它的動作方式類似於自動販賣機:按下眾多按鈕中的其中之一,所選的產品便會出現在機器的單一送出口。

我們可以用一系列的開關來說明多工器的動作。如圖5所示,Switch A和Switch B均由一組四個內部開關所組成。如果Switch A和Switch B都被設定為0,輸入0將會被連接到輸出,如圖中所示。換言之,輸入0上存在的信號將會被傳輸到輸出,而其它輸入則會被擋住。相同地,{A = 1且B = 0}會選擇輸入1來作為輸出; {A = 0且B = 1}會選擇輸入2;而{A = 1和B = 1}則會選擇輸入3。由此可看出,開關A和B實現了一個多工器,可用於選擇及傳輸四個輸入中的任何一者到輸出端。

圖5:由開關組成的多工器

圖5:由開關組成的多工器

圖6所示,是如何以組合邏輯來表示此多工器。在圖中可看出,多工器可完全由AND和OR閘構建出來。由AND部分做出的4組選擇結果,會藉由OR閘進一步縮小為1組。

圖6:用組合邏輯來表示多工器

圖6:用組合邏輯來表示多工器

解碼器: 對輸入值進行解碼

解碼器是一個根據輸入端邏輯狀態,將數個輸出中的其中一個輸出轉換為ON(高電位)的組合電路。圖7所示,則是以組合邏輯來表示的解碼器。
圖8為該解碼器的真值表,其中顯示了兩個輸入值會在四個可用的輸出線中擇一做為實際輸出。值得注意的是,如果我們將此輸入對視為一個二進位值,並將四條輸出線視為十進位值中的0、1、2、和3,我們就可稱此電路為一解碼器,因為它的功能相當於是輸入一個二進位值,並輸出一個十進位值。

圖7:用組合邏輯來表示解碼器

圖7:用組合邏輯來表示解碼器

輸入1 輸入0 輸出 3 輸出2 輸出1 輸出0
0 0 0 0 0 1
0 1 0 0 1 0
1 0 0 1 0 0
1 1 1 0 0 0

圖8:解碼器真值表

除了解碼器之外,組合邏輯電路還可用於建構比較器、全加器、半加器、乘法器,減法器、桶式移位器、以及其他功能。這些功能大多都可以僅使用上述類型的多工器和解碼器來加以實現。但如果單純只由這些元件來構建邏輯電路,可能會有電路冗餘問題,且還可能碰到各種其他問題。因此,這些電路必須加以簡化和壓縮。

本單元中我們討論了組合邏輯,在下一單元中,我們將接著介紹循序邏輯。

課程單元列表

  1. 基礎數位電路
  2. 數位IC / 組合邏輯
  3. 循序邏輯