第 6 章 組合邏輯電路之設計及應用 6-1 組合邏輯電路之設計步驟 6-2 加法器及減法器 6-3 BCD加法器 6-4 解碼器及編碼器 ……………………………………………………………… 6-1 組合邏輯電路之設計步驟 6-2 加法器及減法器 6-3 BCD加法器 6-4 解碼器及編碼器 6-5 多工器及解多工器 6-6 比較器 6-7 PLD簡介 6-8 應用實例介紹
6-1 組合邏輯電路之設計步驟 組合邏輯電路的設計步驟,如下所示; 依題意決定輸入、輸出變數個數與名稱,以建立真值表。 6-1 組合邏輯電路之設計步驟 ………………………………………………………………………….… 組合邏輯電路的設計步驟,如下所示; 依題意決定輸入、輸出變數個數與名稱,以建立真值表。 根據真值表,寫出布林代數式,並化至最簡。 畫出組合邏輯電路。 節目錄
6-2 加法器及減法器 ………………………………………………………………………….… 一、加法器 半加器 半加器(Half Adder)簡稱 HA,能將單一位元之兩個二進位數相加的電路,具有二個輸入端(被加數、加數)、二個輸出端(和、進位)。 節目錄
若被加數與加數分別為 A 與 B,和為 S,進位為 C,真值表如下表。 (1)真值表 若被加數與加數分別為 A 與 B,和為 S,進位為 C,真值表如下表。 節目錄
(2)布林代數式 (3)電路:如下圖左所示。 (4)符號:如下圖右所示。 節目錄
全加器 全加器(Full Adder)簡稱 FA,能將單一位元之三個二進位數相加的電路具有三個輸入端(被加數、加數、前級進位),二個輸出端(和、進位)。 節目錄
若被加數、加數與前級進位分別為 Ai、Bi 與 Ci-1,和為 Si,進位為Ci,則真值表如下表所示。 (1)真值表 若被加數、加數與前級進位分別為 Ai、Bi 與 Ci-1,和為 Si,進位為Ci,則真值表如下表所示。 節目錄
(2)布林代數式 (3)電路:如下圖左所示。 (4)符號:如下圖右所示。 節目錄
並加器 (1)並加器之原理 全加器很少單獨使用,通常將多個全加器並列而以串接方式連接成的電路,即為並加器(Parallel Adder),簡稱 PA,可執行多個位元的二進位數加法運算,其原理如下圖所示,是將最低有效位元的 A1 與B1 經過全加器 FA1 相加後,和為 S1,其進位 C1 再與 A2 與 B2 經過全加器 FA2 相加後,和為 S2,以此類推,即可得到四個位元的總和 S4、S3、S2、S1 與最高位元的進位 C4。 節目錄
(2)並加器之結構(以四位元並加器為 例),如下圖所示。 (2)並加器之結構(以四位元並加器為 例),如下圖所示。 節目錄
7483 為一個四位元的並加器 IC,其外部 接腳示意圖如下圖所示。 (3)並加器之編號 7483 為一個四位元的並加器 IC,其外部 接腳示意圖如下圖所示。 節目錄
二、減法器 半減器 半減器(Half Subtractor)簡稱HS,能將單一位元之兩個二進數相減的電路,具有二個輸入端(被減數、減數)、二個輸出端(差、借位)。 節目錄
若被加數與加數分別為 A 與 B,差為D,借位為P,真值表如下表所示。 (1)真值表 若被加數與加數分別為 A 與 B,差為D,借位為P,真值表如下表所示。 (2)布林代數式 節目錄
(3)電路:如下圖所示。 (4)符號:如下圖所示。 節目錄
全減器 全減器(Full Subtractor)簡稱 FS,能將單一位元之三個二進位數相減的電路,具有三個輸入端(被減數、減數、後級借位)、二個輸出端(差、借位)。 (1)真值表 若被減數、減數與後級借位分別為 Ai、Bi 與 Pi-1,差為 Di,借位為Pi,當 Ai-Bi-Pi-1 之運算需借位時 Pi - 1,若不需要 借位,則 Pi - 0,且借位時 Ai 將加 2,而得 到如下表之結果。 節目錄
節目錄
(2)布林代數式 (3)電路:如下圖左所示。 (4)符號:如下圖右所示。 節目錄
1的補數與2的補數減法器 (1)1的補數減法器 結構(以四位元為例),如下圖所示。 節目錄
如上圖所示為四位元 1 的補數減法電路;其中 4 個反相器作用為將減數取其 1 的補數(即反相),成為 。然後利用全加器進行加法作用,即 (相當於做 A-B 的運算);若 C4 進位端有進位(C4=1),表示結果為正,則再執行端迴進位(EAC,End Around Carry)的動作,即將此進位加至最低有效位元(LSB),若 C4 進位端無進位,表示結果為負,須再取1 的補數,只要令 A 為 0,B 為前述計算結果,再次輸入上圖減法電路即可得到此補數運算結果。 節目錄
(2)2的補數減法器(含加法功能) 結構(以四位元為例),如下圖所示。 當SUB=1 時,經XOR 閘,取得 ,且C0=1,故FA1 產生加1 的動作,形成 取得減數之2 的補數 ,C4 進 位端捨去不用,電路較簡單,故一般計算 機均採用2 的補數加/減法電路。 節目錄
節目錄
6-3 BCD加法器 ………………………………………………………………………….… 一、BCD加法器之定義 BCD 碼即二進位十進碼,係以四個二進位元來表示一個十進位的數碼,在做兩個 BCD 碼相加時,當兩數之和大於 9時,須將其和做修正,修正方法為加上補償因數 6(01102),而執行 BCD 碼加法運算的電路,即稱為 BCD 加法器。 節目錄
二、BCD加法器電路與工作原理 節目錄
BCD 加法器主要由主加法器、進位偵測電路與校正加法器所組成,先藉由主加法器,將兩組 BCD 碼相加,若和超過 9(由兩個 OR 閘及一個 AND 閘偵測)時,將經由校正加法器加上 6(01102),加以修正,以取得正確之結果,若和小於或等於 9,則加 0000 即是正確結果。 節目錄
6-4 解碼器及編碼器 ………………………………………………………………………….… 一、解碼器 解碼器簡介 所謂解碼器(Decoder),乃是將電路系統中的二進位數碼,轉換為我們所熟悉習慣的數碼電路,亦即「解機器碼」之電路,主要由 AND 閘及 NOT 閘組成,通常解碼器具有 n 條輸入線、m 條輸出線,如下圖所示,輸出端受輸入端之組合限制,其關係為 m≤2n,若每一種輸入組合,都有其對應的輸出,亦即 m=2n, 節目錄
稱為全解碼器(Full Decoder),例如 IC 編號中,74139 所代表的 2 線對 4 線解碼器、74138 所代表的 3 線對 8 線解碼器、74154 所代表的 4 線對 16 線解碼器等,都是全解碼器,而若某些特定之輸入組合,並無任何輸出端相對應,亦即 m<2n,稱為部分解碼器(Partial Decoder)。 節目錄
BCD對十進位解碼器 BCD對十進位解碼器功能是將BCD碼由0000到1001轉換成0到9的十進位輸出,當輸入為0000時,D0端輸出為1,其餘均為0,輸入為0001時,D1輸出為1,其餘均為0,依此類推。常見之BCD對十進位解碼器IC為7442。 節目錄
BCD對七段顯示器解碼器 (1) 七段顯示器 在數位電路中常使用七段顯示器(7-segment display)來顯示數字。七段顯示器之結構如下圖所示,每段均為發光物質所構成,在一般電路中都以使用發光二極體 LED 較多,它可分為共陽極與共陰極兩種。 節目錄
共陰極式七段顯示器 將內部所有的LED 陰極均接在一起,如圖下 圖所示,COM 接地,當a、b、c、d、e、f、 g 接「1」,各段LED 均亮,若接「0」,則 各段LED 均暗。 節目錄
共陽極式七段顯示器 將內部所有LED 陽極均接在一起,如下圖 所示,COM 接+VCC,當a、b、c、d、e、 f、g 接「1」,各段LED 均暗,若接0」, 則各段LED 均亮。 節目錄
二、編碼器 解碼器簡介 所謂編碼器(Encoder),乃是將我們所熟悉習慣的數碼,轉換成適合電路處理的二進位數碼電路,亦即「編機器碼」之電路,其功能恰與解碼器相反,主要由 OR 閘組成,通常編碼器具有 n 條輸入線、m 條輸出線,如下圖所示,輸入端受輸出端之組合限制,其關係為 n 2m。 節目錄
矩陣編碼器 雖然現成的積體電路編碼器種類少,但有時線路上所用的編碼方式並無現成的積體電路可用。當然,我們可以向廠商訂製,但若數量不大就不划算了。因此我們可以自製簡單的矩陣編碼器(Matrix Encoder)。 優先編碼器 當一個具最高優先權的輸入線為觸發狀態,則任憑其他輸入線是否為被觸發狀態,其輸出均能使最高優先權之輸入線被編碼,具有這種功能的編碼器,稱為優先編碼器(Priority Encoder)。 節目錄
6-5 多工器及解多工器 ………………………………………………………………………….… 一、多工器 數位系統中,常需要將許多不同的輸入信號中,選取單一個而連接到輸出端上,這種能由多組輸入信號中,選擇一組由輸出端送出的邏輯電路,稱為多工器(Multiplexer,簡寫為 MUX),又稱資料選擇器(Data Selector),通常具有 n 條選擇線,2n 條輸入線,以及 1 條輸出線,如下圖所示。 節目錄
節目錄
多工器除具有資料選擇之功能外,還可以實現布林代數,2n–1線對1線多工器,有 n–1條選擇線,可用以表示n個變數的布林代數,其中n–1個變數接到選擇線,剩下的1個變數依狀態變化以0、1、變數本身、變數之反相等,接至各輸入線即可,故多工器用來實現布林代數,除了多工器本身外,只需再加上一個NOT閘,現在來說明其實現布林代數之步驟: 節目錄
利用執行表,求I0~I2n–1–1的輸入變數函數 利用卡諾圖,求布林代數之「1」集合 n變數布林代數,使用2n–1線對1線之多工器 利用執行表,求I0~I2n–1–1的輸入變數函數 (1)觀察每一垂直欄,其中有兩最小項都沒加 圈者,就在最底下一列加入對應之多工 器的輸入端為「0」。 節目錄
(2)觀察每一垂直欄,其中有兩最小項都加圈 者,就在最底下一列加入對應之多工器 的輸入端為「1」。 (2)觀察每一垂直欄,其中有兩最小項都加圈 者,就在最底下一列加入對應之多工器 的輸入端為「1」。 (3)如果在垂直欄中之最底端的最小項加圈 時,就在最底下一列加入對應之多工器 的輸入端為「變數本身」。 (4)如果在垂直欄中之最頂端的最小項加圈 時,就在最底下一列加入對應之多工器 的輸入端為「變數之反相」。 節目錄
二、解多工器 多工器能夠從多組信號中, 選擇其中的一組做為輸出, 而解多工器(Demultiplexer,簡寫為 DMUX)的功能剛好相反,可將一組信號傳送至多組輸出端中的其中一組,又稱資料分配器(Data Distributor),具有 n 條選擇線、1 條輸入線及 2n 條輸出線,如下圖所示。 節目錄
節目錄
6-6 比較器 ………………………………………………………………………….… 一、比較器簡介 比較器(Comparators)基本的功能是比較兩個數值是否相等,最簡單者為一位元比較器,只需要一個互斥或閘即可,然而基於需求,亦發展出具有較多功能的比較器,除了可以比較兩個數值是否相等,甚至可以在不相等情況下,判別出哪一個數值較大,哪一個數值較小。 節目錄
二、7485比較器IC 7485 為四位元比較器,其方塊圖如下圖 所示,輸入端共有兩組,其中一組為兩個比較的數值 A(A3、A2、A1、A0)與 B(B3、B2、B1、B0),另一組為串級輸入,則是用來擴展成更多位元的比較器,輸出端則是比較的結果,分別為 A>B、A=B、A<B。 節目錄
6-7 PLD簡介 ………………………………………………………………………….… 一、PLD定義 設計邏輯數位電路的傳統方法,是將簡化的布林代數式,使用基本邏輯閘IC 設計完成。雖然方便,然而當電路愈複雜時,必須使用愈多的 IC 來完成,造成電路體積龐大,組裝費時且不容易檢修。若電路設計有保密的必要時,也無法提供保密。基於上述考量,可以選擇使用可程式邏輯元件(Programmable Logic Device;簡稱 PLD),來設計邏輯數位電路。 節目錄
PLD 是讓使用者依照自己的設計方式來執行邏輯功能的數位積體電路。設計 PLD 時必須有 PLD 的組譯器與 PLD 的燒錄器等兩項不可或缺之基本工具。 可程式邏輯元件依其結構大小概可分為簡單型 PLD(Simple PLD,SPLD)、複雜型 PLD(Complex PLD,CPLD)及現場可程式閘陣列元件(Field ProgrammingGate Array,FPGA)等三種。 節目錄
簡單型可程式邏輯元件 此型 PLD 的內部就是一種二層的 AND-OR 邏輯陣列,AND 的輸入端或 OR 的輸入端具有可程式化的保險絲陣列,而某些 PLD 輸出部分還具有暫存器、輸出回饋(Feedback)及三態輸出等結構。簡單型可程式化邏輯元件 SPLD 包括 PROM、PLA、PAL、GAL 及 PEEL 等五種,其中有的只能規劃一次,如 PROM、PLA 及 PAL等;有的可紫外線清除,如 EPLD 等可重複燒錄的 EPLD;有的則是利用電氣清除,如 GAL 與 PEEL 等。 節目錄
PROM 應用範圍很廣泛,但缺點是輸入變數有所限制,輸入變數限定在 16個以下,且 PROM 資料通常只能規劃一次,並無法清除回復。 (1) 可程式唯讀記憶體 可程式唯讀記憶體(Programmable Read Only Memory;簡稱 PROM)是一種 AND 閘陣列固定,OR 閘陣列為可規劃的 PLD。 PROM 應用範圍很廣泛,但缺點是輸入變數有所限制,輸入變數限定在 16個以下,且 PROM 資料通常只能規劃一次,並無法清除回復。 節目錄
(2) 可程式邏輯陣列 為了克服 PROM 輸入變數被限制的問題, 所以製造出另一種PLD 架構稱為可程式邏輯陣列(Programmable Logic Array;簡稱PLA),PLA 是一種 AND 陣列與 OR 陣列均可規劃的 PLD。 PLA 解決了 PROM 變數限制的問題,提供了很大的變數空間,目前製造 PLA 的廠商都會提供編譯器來輔助設計,因此對於規劃設計有很大的幫助。 節目錄
(3) 可程式陣列邏輯 可程式陣列邏輯(Program-mable Array Logic;簡稱PLA),可解決PROM變數限制與PLA價格昂貴,規劃困難的問題。PAL將積之和中的AND陣列設計成可以規劃,而OR陣列是固定的,PAL的種類很多,是PLD產品應用最為廣泛的元件。 節目錄
(4) 可清除可程式邏輯元件 由於 PAL 只能燒錄一次,如果燒錄內容有錯或內容需要修改時,原來的 PAL 就無法使用。因此有廠商推出可清除可程式邏輯元件(Erasable Programmable Logic Device,簡稱 EPLD)。EPLD 可以在燒錄完成後,利用紫外線光照射約 20 分鐘將內容清除,清除後的 EPLD 可以再度進行燒錄。 節目錄
(5) 通用陣列邏輯 雖然 EPLD 比 PAL 方便許多,但清除內部資料要用紫外線且要等20 分鐘,也不是很方便,於是廠商以 EEPROM 的技術製成通用陣列邏輯(Generic Array Logic,簡稱 GAL)。GAL 可以直接利用電氣信號將內部資料清除,而且清除時間只要幾秒鐘即可。 節目錄
(6) 可程式電氣清除邏輯 可程式電氣清除邏輯(Programmable Electrically Erasable Logic,簡稱 PEEL)電氣清除型 PLD 內部結構與 GAL 大同小異,並沒有什麼不同,只是容量更大。 節目錄
PAL 或 GAL 的陣列所組成。是一種高整合性的邏輯元件,因此具有提升性能、增加可靠度、減少電路板面積及降低成本等優點。 複雜型可程式邏輯元件 複雜型可程式邏輯元件(Complex PLD,簡稱 CPLD)與 SPLD 一樣,都是以 AND-OR 邏輯陣列的架構為基礎的元件,是由數組類似 PAL 或 GAL 的陣列所組成。是一種高整合性的邏輯元件,因此具有提升性能、增加可靠度、減少電路板面積及降低成本等優點。 節目錄
元件,故無需專屬燒錄器。其設計架構,並非如 CPLD 是根據 AND-OR 陣列結構,而是根據一種稱為查詢表的記憶體類型而設計。 現場可程式閘陣列 PLD 中容量最高、最複雜的當屬現場可程式閘陣列(Field Programm able Gate Array,簡稱 FPGA)是一種可在電路板上直接規劃的 ISP 元件,故無需專屬燒錄器。其設計架構,並非如 CPLD 是根據 AND-OR 陣列結構,而是根據一種稱為查詢表的記憶體類型而設計。 節目錄
6-8 應用實例介紹 組合邏輯電路的設計步驟: 依題意決定輸入、輸出變數與名稱,以建立真值表。 根據真值表,寫出布林代數式,並化至最簡。 6-8 應用實例介紹 ………………………………………………………………………….… 組合邏輯電路的設計步驟: 依題意決定輸入、輸出變數與名稱,以建立真值表。 根據真值表,寫出布林代數式,並化至最簡。 畫出組合邏輯電路。 節目錄