下載/瀏覽

Download Report

Transcript 下載/瀏覽

組合邏輯
Chapter 4
4.1 簡介



數位系統的邏輯電路可能是組合的
(combinational) 或序向的 (sequential)。
組合電路所包含的邏輯閘,其輸出在任何時間
都是僅由目前輸入的組合所決定。
組合電路包含輸入變數、邏輯閘及輸出變數。
組合邏輯閘會對其輸入的信號值產生反應進而
產生輸出信號值,可將已知輸入資料的二元資
訊轉換成所需的輸出資料。
Digital Circuits
2
4.2 組合電路

數位系統的邏輯電路

序向電路



除了邏輯閘外還有儲存元件
它們的輸出,除了與當時的輸入有關外,還受儲存元件的
狀態所影響。因為儲存元件的狀態,乃是先前輸入的函數。
因此,序向電路的輸出,不僅由目前輸入值決定,還受過
去的輸入的影響,並且電路的行為是輸入及內部狀態時間
序列的函數。
Digital Circuits
3
4.2 組合電路

組合電路

對於 n 個輸入變數而言,將有 2 種可能的輸入組合。

標準組合電路
n


加法器 (adders)、減法器 (subtractors)、比較器
(comparators)、解碼器 (decoders)、編碼器 (encoders),以
及多工器 (multiplexers)。
中型積體 (MSI) 電路或標準晶胞 (standard cells)
Digital Circuits
4
4-3 分析步驟

組合電路的分析就是需要去決定該電路所執行的
函數。

分析的第一個步驟是要確認所給定的電路是組合電路而
不是序向電路。




不具有回授路徑或記憶元件
進行求取輸出布林函數或真值表。
設計驗證
解釋電路的操作
Digital Circuits
5
分析步驟

要從邏輯圖得到輸出的布林函數,則可以由以下
步驟來進行:




利用任意的符號 (但必須是有意義的名稱) 將所有閘輸出
標示為輸入變數的函數。對每一個閘輸出決定出布林函
數。
將已標示為輸入變數的函數之閘,以之前已標示的閘再
利用其他任意的符號加以標示,找出這些閘的布林函數。
重複在步驟2的過程直到得出電路的輸出為止。
利用先前定義的函數重複置換,則可以得到用輸入變數
的輸出布林函數。
Digital Circuits
6
分析步驟

直接從邏輯圖獲得真值表而不經由布林函數的推導,
其過程如下:
Digital Circuits
7

直接順向法
F2 = AB+AC+BC
T1 = A+B+C
T2 = ABC
T3 = F2'T1
F1 = T3+T2
Digital Circuits
8


F1 = T3+T2 = F2'T1+ABC
= (AB+AC+BC)'(A+B+C)+ABC
= (A'+B')(A'+C')(B'+C')(A+B+C)+ABC
= (A'+B'C')(AB'+AC'+BC'+B'C)+ABC
= A'BC'+A'B'C+AB'C'+ABC
全加器


F1:和
F2:進位
Digital Circuits
9

真值表
Digital Circuits
10
4-4 設計步驟

組合電路的設計過程包含下列各步驟:
組合電路的設計,係從設計目的規格的描述開始,而
結束於邏輯圖的完成,或是由邏輯圖獲得一組簡化的
布林函數。
1.由電路的規格,決定所需的輸入與輸出的個數,並且
對每一個輸入與輸出安排一個變數符號。
2.導出真值表並定義輸入與輸出間所需的關係。
3.對每一個輸出求出以輸入變數為函數之簡化的布林函
數。
4.畫出邏輯圖,並且證明 (以人工方式或模擬方式) 設計
的正確性。

Digital Circuits
11

功能(函數)描述


布林函數
HDL (硬體描述語言)




Verilog HDL
VHDL
Schematic entry
邏輯化簡





閘數
閘輸入數
傳播時間延遲
電路互連數目
各閘推動能力的限制
Digital Circuits
12
碼轉換的例子

BCD碼轉換成超3碼

真值表
Digital Circuits
13

卡諾圖
Digital Circuits
14

化簡後的函數


z = D'
y = CD +C'D'
x = B'C + B'D+BC'D'
w = A+BC+BD
另一種形式實現的電路

z = D'
y = CD +C'D' = CD + (C+D)'
x = B'C + B'D+BC'D‘ = B'(C+D) +B(C+D)'
w = A+BC+BD
Digital Circuits
15

邏輯圖
Digital Circuits
16
4-5 二進位加法器-減法器

半加法器




0 + 0 = 0 ; 0 + 1 = 1 ; 1 + 0 = 1 ; 1 + 1 = 10
兩個輸入變數: x, y
兩個輸入變數: C (進位), S (和)
真值表
Digital Circuits
17






S = x'y+xy'
C = xy
電路實現的彈性
S= x y
S = (x+y)(x'+y')
S' = xy+x'y'
S = (C+x'y')'
C = xy = (x'+y')'
Digital Circuits
18
Digital Circuits
19

全加法器


處理三個輸入位元算術和的組合電路
具有三個輸入位元



x, y:兩個有效位元
z:從前級較低有效位置送來的進位
兩個輸出位元: C, S
Digital Circuits
20
Digital Circuits
21


S = x'y'z+x'yz'+ xy'z'+xyz
C = xy + xz + yz
S = z (xy)
= z'(xy'+x'y)+z(xy'+x'y)'
= z'xy'+z'x'y+z((x'+y)(x+y'))
= xy'z'+x'yz'+xyz+x'y'z
C = z(xy'+x'y)+xy
= xy'z+x'yz+ xy
Digital Circuits
22

二進位加法器
Digital Circuits
23

進位傳播




正確的輸出總和在輸出端出現
最長傳播延遲時間是使得進位傳遞過全加法器所要
花的時間。(the worst case)
(A1,B1,C1) > C2 > C3 > C4 > (C5,S4)
> 8個閘階層
Digital Circuits
24

減少進位傳播延遲









採用較快速的邏輯閘
應用前瞻進位 邏輯 (carry lookahead (增加裝置的
複雜度,來減少進位延遲時間)
進位傳播 (carry propagate):Pi = AiBi
進位產生 (carry generate):Gi = AiBi
和:Si = PiCi
進位:Ci+1 = Gi+PiCi
C1 = G0+P0C0
C2 = G1+P1C1 = G1+P1(G0+P0C0)
= G1+P1G0+P1P0C0
C3 = G2+P2C2 = G2+P2G1+P2P1G0+ P2P1P0C0
Digital Circuits
25

邏輯圖
Digital Circuits
26

4位元前瞻進位加法器的電路

傳播延遲
Digital Circuits
27
二進位減法器


A  B = A+(B的2’s補數)
4-位元加法器-減法器

M=0, A+B; M=1, A+B’+1
Digital Circuits
28

溢位 (overflow)




保存數字的位元數是有限的
若是兩個同時是正數相加,得出一負數,則可能出
現溢位。
兩個同時是負數的數字,得出一正數,則可能出現
溢位。
V = 0,無溢位; V = 1,溢位
範例:
Digital Circuits
29
4-6 十進位加法器

兩個 BCD數相加



9 個輸入:兩個 BCD數與一個進位輸入
5個輸出:一個 BCD數與一個進位輸出
設計方法


真值表(含有29個entries)
利用二進位全加法器


和 <= 9 + 9 + 1 = 19
二進位碼 至 BCD碼轉換
Digital Circuits
30