‧‧1
第 五 章
5-5 試設計一組合邏輯電路,以比較
x
x
4x
3x
2x
1 與y
y
4y
3y
2y
1 之 4 位元二進位 數,當 xy 時,輸出為邏輯 1,而當當 x y 時,輸出為邏輯 0。解: 使用 XOR 閘可用來判斷兩個 2 進位數是否相等 ( 若 2 位元之二進位數相等,則 輸出為邏輯 1;若 2 位元之二進位數不等,則輸出為邏輯 0),故可使用 4 個 2 輸 入之 XOR 與 AND 閘來實現本題邏輯電路,如下圖所示。
x1
y1
x2
y2
x3
y3
x4
y4
f
5-6 試使用全加法器、基本邏輯閘與兩個選擇變數 S2 與 S1,以設計可產生下表之算 術運算之邏輯電路。
S2 S1
C
in 0C
in 1 0 0f
a
b f
a
b
1 0 1f
a1f
a
1 0f
a
b f
a
b
1 1 1f
a f
a1解: 首先藉由兩個選擇變數 S2 與 S1,用來控制輸入變數 b,以求取題意之功能的組 合邏輯電路,如下所示。
S2 S1 輸 出 f
0 0 b
0 1 1 1 0 b
1 1 0
b S1
S2
f
‧‧2
接著利用上面所得之組合邏輯,即可求得題意之算術用算電路,如下圖所示。
b S1
S2
全加法器a Cin
x
y Co
Ci
S f
Cout
5-11 試繪出 4 位元並行加法器 (4-bits Parallel Adder) 之邏輯電路圖,並說明此電路 進行 6 加 9 之算術運算過程 ( 請在邏輯電路上標示出每個邏輯閘輸入與輸出端 之邏輯值 )。
解: 假設被加數 xx4x3x2x10110(6)10,而加數yy4y3y2y11001(9)10,則可將 4 位 元並行加法器進行 6 加 9 之算術運算過程,如下圖所示。
y1
x1
C0
S1 S2 S3 S4
x2 y2 x3 y3 x4 y4
C4
FA
x y
S
Ci Co FA
x y
S
Ci FA
x y
S
Ci FA
x y
S Ci
C3
C2
C1
Co Co
Co
0 1
1 1
1 0 0
0
0 0
1 1 1 1
5-12 試說明使用並行加法器來執行兩個 n 位元之二進位數的加法運算有何缺點?
並請說明改善之方法為何?
解: 使用並行加法器來執行二進位數的加法運算時,雖然所有加數與被加數之信號皆 為已知,但較高位元之加法運算,必須等較低位元相加,得到穩定的進位訊號後,
才能得到正確之結果,即加數與被加數通過邏輯閘之層數與加數、被加數之位元 數成正比關係,因訊號通過邏輯閘會造成時間延遲之關係,因此會造成嚴重進位 傳輸延遲之問題。
為了加快算術運算速度 ( 假設每個邏輯閘之傳輸延遲時間皆相同之條件下 ),
可從改良電路著手,以減少等待進位所造成之傳輸延遲時間。而目前於減少進位 傳輸延遲之方法非常多,其中最廣範使用之方法為前視進位加法 (Look-Ahead
‧‧3 Carry) 原理。
5-16 試使用基本邏輯閘 ( 包括 AND, OR 與 NOT 閘 )、全加法器與兩個選擇變數 S 與2 S ,1 設計輸入變數為 a 與 b ,而輸出變數 f 可產生如下表之邏輯電路。
S
2S
1 輸出 f0 0 0 0 1
b
1 0 b 1 1 1解: 欲使用基本邏輯閘 ( 包括 AND, OR 與 NOT 閘 )、全加法器與兩個選擇變數 S2 與 S1,設計輸入變數為 a 與b,而產生所求輸出變數 f xy,則所求邏輯運算 單元之功能表如下所示:
S2 S1 x y 輸出 f
0 0 0 0 0
0 1 0 b b
1 0 1 b b
1 1 1 0 1
只要令 S2x,而 y(S1S2)b,即可使全加器之輸入 x 與 y 滿足上表的需求,
故可繪出所求之邏輯運算電路,如下圖所示。
全加法器
f x
y
S Ci
Co
Cin
S2
b
S1
Cout
5-18 試利用一個全加法器 (Full Adder) 與一個 NOT 閘來設計一個全減法器 (Full Subtractor) 之邏輯電路。
解: 假設被減數為 a,減數為 b,欲使用全加法器來代替全減法器之運算,則可對 減 數 為 b 取 補 數 (b) , 並 令 進 位 輸 入 (Cin) 即 可 在 全 加 器 之 和 (S) 得 到
‧‧4
a b
1S a
b
2'S a
b
之算術運算,如下圖所示。全加法器
x y
S
Ci
Cout
B
a b
1
D
心得: 要設計加法器和減法器,看上好像不是那麼困難。但 親 做起來
發覺好艱難,所學的都是背來的,再加以創新,能夠創造最初的理論的人,真是好厲害。