第 四 章
4-1 試分別說明組合邏輯電路與序向邏輯電路之定義。
解: 組合邏輯電路由基本邏輯閘所組成的,此種邏輯電路之輸出為電路所有輸入的組合,
因此輸出狀態可完全由目前之輸入來決定,而組合邏輯電路之示意圖,如圖所 (a) 示;而序向邏輯電路由基本邏輯閘與記憶元件所組成的,此種邏輯電路有記億元件存 在,因此輸出不僅需考慮目前之輸入狀態,且亦與上一個輸出狀態有關,故序向邏輯 電路之輸出與時間有關,而序向邏輯電路之示意圖,如圖 (b) 所示。
組合邏輯電路 組合邏輯電路
記憶元件
輸出端
輸入端
輸出端
輸入端
(a) 組合邏輯電路
(b) 序向邏輯電路圖
4-2 試說明奇同位 (Odd Parity) 與偶同位 (Even Parity) 之定義。
解: 為保證所傳送的每筆二進位資料之邏輯 1 個數為奇數或偶數,可在所傳輸之二進位資 料加上一個額外位元,此外加位元之邏輯值,可由系統與所傳送之二進位資料來決 定,而此外加之位元稱為同位元 P (Parity Bit)。若外加同位元之邏輯值,可使所傳送 之二進位資料有奇數個邏輯 1 稱為奇同位 (Odd Parity),而有偶數個邏輯 1 稱為偶同 位 (Even Parity)。
4-3 試求 4 位元奇同位產生器與檢查器之組合邏輯電路。
解: 考慮 4 位元之二進位資料 (x ,y 與 z) 以偶同位位元來做資料傳輸時,若使用 XOR 閘 來設計偶同位產生器,則偶同位元 PES 之邏輯運算式為PES =x⊕y⊕z,如圖 (a) 所 示。若使用奇同位系統,可在輸出再加上一個反相 (NOT) 閘,即奇同位元 POS 之邏 輯運算式為POS =x⊕y⊕z,如圖 (b) 所示。
w x y z
PES
w x y z
POS
(a) 偶同位產生器 (b) 奇同位產生器
接著考慮一個可同時使用來實現 4 位元偶同位與奇同位的同位檢查器之邏輯電路,如
圖 (c) 所示。
PER
x y z
POR
PES
POS
傳輸前之同位元 w
(c) 4 位元之偶同位與奇同位檢查器
4-4 試化簡下列布林函數式,並將化簡所得之結果,使用扇入數為 2 之 NAND 閘來實現 組合邏輯電路。
(a)
f
1( w , x , y , z ) = w ⋅ x ⋅ y + w ⋅ y ⋅ z + x ⋅ y ⋅ z + w ⋅ x ⋅ y ⋅ z
(b)f
2( w , x , y , z ) = ∑ ( 0 , 1 , 5 , 7 , 8 , 10 , 12 , 14 )
解: (a)
y x w z y w z y w y x w
z y x w z y x z y w y x w z y x w f
⋅
⋅ +
⋅
⋅ +
⋅
⋅ +
⋅
⋅
=
⋅
⋅
⋅ +
⋅
⋅ +
⋅
⋅ +
⋅
⋅
= ) , , ,
1(
) , , ,
1(w x y z f
w
x
y
z
(b)
f
2( w , x , y , z ) = ∑ ( 0 , 1 , 5 , 7 , 8 , 10 , 12 , 14 ) = w ⋅ z + w ⋅ x ⋅ z + w ⋅ x ⋅ y
) , , ,
2(w x y z
f w
x
y
z
4-5 試化簡下列布林函數式,並將化簡所得之結果,使用扇入數為 2 之 NOR 閘來實現組 合邏輯電路。
(a)
f
1( w , x , y , z ) = ( w + x + y ) ⋅ ( x + y + z ) ⋅ ( w + y + z ) ⋅ ( w + x )
(b)f
2( w , x , y , z ) = Π ( 1 , 2 , 4 , 7 , 10 , 11 , 14 , 15 )
解: (a)
f
1( w , x , y , z ) = ( w + x + y ) ⋅ ( x + y + z ) ⋅ ( w + y + z ) ⋅ ( w + x )
) , , ,
1(w x y z f
w
x
y
z
(b)
f
2( w , x , y , z ) = Π ( 1 , 2 , 4 , 7 , 10 , 11 , 14 , 15 )
) (
) (
) (
) (
)
(
w
+y
⋅x
+y
+z
⋅x
+y
+z
⋅w
+x
+y
+z
⋅w
+x
+y
+z
=
) , , ,
2(w x y z f
w
x
y
z
4-6 試設計一組合邏輯電路,它接受一個 3 位元之二進位數字,而產生一個等於輸入 6 倍之輸出的二進位數字。
解: (1) 依題意可知,此電路需 3 個輸入變數,分別標示為 x ,y 與 z 等 3 個符號,而 3 位 元二進位數之最大值為 (7)10,其 6 倍值為 (42)10,因(42)10必需用 6 個位元之二進位 數 才 足 夠 表 示 , 故 所 設 計 之 組 合 邏 輯 電 路 需 有 6 個 輸 出 , 分 別 標 示 為
, , , 4 3
5 f f
f f2, f1 與 f0 等 6 個符號。
(2) 因所求為輸入 6 倍之輸出的二進位數字,便可以下列之真值表來定義輸出與輸入 間的關係,如下表所示。
x y z
f5 f4 f3 f2 f1 f00 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 1 0 0 0 1 1 0 1 0 0 1 0 1 0 0 0 1 1 0 0 0 1 0 1 0 1 1 1 1 0 1 1 0 1 0 0 1 0 0 1 1 1 1 0 1 0 1 0
(3) 利用卡諾圖 (Karnaugh Map) 來化簡上面真值表,以求得 f5, f4, f3, f2, f1 與 f0 等 6 個輸出之最簡之布林函數式如下
0 0
1 2 3 4 5
=
=
⊕
=
⋅ +
⋅
=
⋅
⋅ +
⋅ +
⋅
=
⋅
⋅ +
⋅
=
⋅
=
f z f
z y z y z y f
z y x z x y x f
z y x z x f
y x f
(4) 最後使用邏輯閘來實現
f
5 ,f
4 ,f
3 ,f
2 ,f
1 與f 等 6 個輸出布林函數式,即可繪出
0 一個輸出等於輸入 6 倍之組合邏輯電路,如下圖所示。x
y
z
f5 f4 f3 f2 f1 f0
4-7 試設計一組合邏輯電路,輸入端代表 BCD 碼中的十進位數字,而輸出端產生等於輸 入之 9 的補數。
解: (1) 依題意可知,所求之組合邏輯電路有 4 個輸入變數,分別標明為 w,x,y 與 z 等 4 個符號,因 BCD 碼之 9 的補數亦為 4 個位元,故所設計之組合邏輯電路亦為 4 個 輸出變數,分別標示為 f4, f3, f2 與 f1 等 4 個符號。
(2) 因所求之輸出為輸入的 9 的補數,可用下列真值表來定義輸出與輸入間的關係,
如下表所示。
w x y z
f4 f3 f2 f10 0 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 0 1 0 0 1 1 1 0 0 1 1 0 1 1 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 0 0 0 1 1 0 0 0 1 1 0 1 1 1 0 0 1 0 1 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0
(3) 利用卡諾圖 (Karnaugh Map)來化簡上面真值表,可求得 f4 , f3, f2 與 f1 等 4 個輸 出之最簡布林函數式如下
z f
y f
y x y x y x f
z y x w f
=
=
⊕
=
⋅ +
⋅
=
⋅
⋅
⋅
=
1 2 3 4
(4) 最後使用邏輯閘來實現
f
4 ,f
3 ,f
2 與f
1 等 4 個輸出布林函數式,即可繪出所求之 組合邏輯電路,如下圖所示。w
x
y
z
f4
f3
f2
f1
4-8 試設計一組合邏輯電路,比較兩個 4 位元之二進位數 A 與 B,當 A 與 B 相等時,輸 出 f 等於邏輯 0;而當 A 與 B 不等時,輸出 f 等於邏輯 1。
解: 因 XOR 閘可用來判斷兩個位元之二進位數是否相等,若兩個位元之二進位數相等,
則輸出於 1;反之,兩個位元之二進位數步等,則輸出於 0,故利用 4 個 XOR 閘與 1 個 4 輸入之 AND 閘,即可實現所求之組合邏輯電路,如下圖所示。
A4 B4
A3 B3
A2 B2
A1 B1
f
4-9 試說明產生靜態 1 型突波 (Static 1 Hazard) 與靜態 0 型突波 (Static 0 Hazard) 之原 因為何?
解: (1) 靜態 1 型突波:當某些輸入訊號之邏輯位準改變時,理論上,輸出端之邏輯 1 應 保持不變,因邏輯閘傳遞延遲之影響,使輸出訊號離開穩態的邏輯 1,而暫時轉變 為邏輯 0,經過一段時間後,再回到穩態之邏輯 1,則表示此組合邏輯電路含有靜 態 1 型突波 (Static-1 Hazard)。
(2) 靜態 0 型突波;當某些輸入訊號之邏輯位準改變時,理論上,輸出端之邏輯 0 應 保持不變,因邏輯閘傳遞延遲之影響,使輸出訊號會離開穩態的邏輯 0,而暫時轉 變為邏輯 1,經過一段時間後,再回到穩態之邏輯 0,則表示此組合邏輯電路含有 靜態 0 型突波 (Static-0 Hazard)。
4-10 說明在何種條件下,組合邏輯電路才會產生動態突波 (Dynamic Hazard)?
解: 輸入變數之邏輯值作一次變動,理論上,僅可能造成的輸出邏輯值一次之變動,但實 際上,在輸入變數之邏輯值轉態期間,輸入訊號可能經過許多不同邏輯閘層次之路徑 到達輸出端,因邏輯閘傳遞延遲時間之影響,可能會導致輸出邏輯值發生多次暫時性 變化,此現象稱為組合邏輯之動態突波 (Dynamic Hazard)。
4-11 試說明產生動態突波 (Dynamic Hazard) 之原因為何?
解: 輸入變數之邏輯值轉態期間,輸入訊號可能經過許多不同邏輯閘層次之路徑到達輸出 端,因邏輯閘傳遞延遲時間之影響,可能會導致輸出邏輯值發生多次暫時性變化,此 現象稱為組合邏輯之動態突波 (Dynamic Hazard)。
4-12 試設計一組合邏輯電路,當輸入為 4 位元之二進位數為質數時,則電路之輸出為邏 輯 1,否則輸出為邏輯 0,請用下列指定之邏輯閘來實現所得之布林函數式。
(a) 僅使用兩個輸入之 AND 閘與 OR 閘。
(b) 僅使用兩個輸入之 NAND 閘。
(c) 僅使用兩個輸入之 NOR 閘。
解: 首先依組合邏輯電路之設計方式,以得到所求邏輯電路之布林函數表示式如下:
(1) 依題意可知,此電路有 4 個輸入變數,分別標明為 w,x, y 與 z 等 4 個符號,因判 斷 4 個位元之 2 進是否為質數,僅需使用 1 個位元,故所設計之組合邏輯電路為 個輸出變數,標示為 f(w,x,y,z)之符號。
(2) 因所求之輸出是判斷輸入是否為質數 ( 當輸入為質數時,輸出 f(w,x,y,z)為邏 輯 1;反之,當輸入為質數時,輸出 f(w,x, y,z)不是邏輯 0),故可用下列真值表 來定義輸出與輸入間的關係,如下表所示。
w x y z
f(w,x,y,z)0 0 0 0 0
0 0 0 1 1
0 0 1 0 1
0 0 1 1 1
0 1 0 0 0
0 1 0 1 1
0 1 1 0 0
0 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 0
1 1 1 1 0
(3) 利用卡諾圖 (Karnaugh Map) 來化簡上面真值表,可求得輸出 f(w,x,y,z) 之最簡 布林函數式如下
z y x y x w z y x z w z y x w
f
( , , , )= ⋅ + ⋅ ⋅ + ⋅ ⋅ + ⋅ ⋅(4) 最後使用題目所要求之邏輯閘來實現輸出 f(w,x,y,z) 布林函數式,即可繪出如所 示
(a) 僅使用兩個輸入之 AND 閘與 OR 閘。
w x y z
) , , , (w x y z f
(b) 僅使用兩個輸入之 NAND 閘。
w x y z
) , , , (w x y z f
(c) 僅使用兩個輸入之 NOR 閘。
w x y z
) , , , (w x y z f
4-13 當使用 AND, OR 與 NOT 等邏輯閘來實現
f
(w
,x
,y
,z
)=w
⋅y
+w
⋅x
+x
⋅y
⋅z
+y
⋅z
之 布林函數時,假設每個邏輯閘之傳遞延遲時間皆相同,請考慮是否有靜態突波 (Static Hazard) 存在?若有靜態突波存在,請設法消除它。解: (1) 觀察所求之布林函數 ( 積項之和 ) 可知,輸入變數 w ,x 與 z 同時包含補數與分 補數之型態,因 NOT 閘之傳遞延遲時間,導致靜態 1 型突波發生。
(2) 消除所求邏輯電路靜態 1 型圖波之方法,若增加一個包含相關輸入變數 y 之積項,
不但使輸出函數與原函數相同,且可消除靜態 1 型突波,而可消除靜態 1 型突波 之布林函數,如下所示。
y z y z y x x w y w z y x w
f( , , , )= ⋅ + ⋅ + ⋅ ⋅ + ⋅ +
4-14 當使用 AND, OR 與 NOT 等邏輯閘來實現 f(w,x, y,z)=(w+x)⋅(x+y)⋅(y+z) 之布林函 數 時 , 假 設 每 個 邏 輯 閘 之 傳 遞 延 遲 時 間 皆 相 同 , 請 考 慮 是 否 有 靜 態 突 波 (Static Hazard) 存在?若有靜態突波存在,請設法消除它。
解: (1) 觀察所求之布林函數 ( 和項之積 ) 可知,輸入變數 y 同時包含補數與分補數之型 態,因 NOT 閘之傳遞延遲時間,導致靜態 0 型突波發生。
(2) 消除所求邏輯電路靜態 0 型圖波之方法,可增加一個包含輸入變數 w+x+z 之和 項,不但使輸出函數與原函數相同,且可消除靜態 0 型突波,而而可消除靜態 0 型突波之布林函數,如下所示。
) (
) ( ) ( ) ( ) , , ,
(w x y z w x x y y z w x z
f = + ⋅ + ⋅ + ⋅ + +
4-15 試找出下面之組合邏輯電路中所有靜態突波 (Static Hazard),並指出突波之時序圖,
並考慮消除這些突波之方法為何?( 假設每個邏輯閘之傳遞延遲時間皆相同 )
x y
z f(x,y,z)
解: (1) 觀察所求之布林函數 ( 積項之和 ) 可知,輸入變數 y 與 z 同時包含補數與分補數 之型態,因 NOT 閘之傳遞延遲時間,導致靜態 1 型突波發生。
(2) 消除所求邏輯電路靜態 1 型圖波之方法,若增加一個包含相關輸入變數 x 與 z 之 積項,不但使輸出函數與原函數相同,且可消除靜態 1 型突波,而可消除靜態 1 型突波之布林函數,如下所示。
z x z y x y x z y x
f( , , )= ⋅ + ⋅ + + ⋅
4-16 試求可實現下列 4 個輸入變數 ( 分別為 w,x,y,z) 與 2 個輸出 ( 分別為 f1(w,x,y, )
z 與 f2(w,x,y,z)) 時序脈波之組合邏輯電路。
w 1
1 0 z y x 1
) , , ,
1(w x y z f
) , , ,
2(w x y z
f 0
1
解: (1) 觀察已知之輸入與輸出時序脈波,可得所求電路之輸出與輸入關係的真值表如下
w x y z
f1(w,x,y,z) f2(w,x,y,z)0 0 0 0 0 1
0 0 0 1 1 0
0 0 1 0 0 0
0 0 1 1 × ×
0 1 0 0 1 0
0 1 0 1 0 0
0 1 1 0 0 1
0 1 1 1 0 0
1 0 0 0 1 0
1 0 0 1 0 1
1 0 1 0 1 1
1 0 1 1 1 1
1 1 0 0 × ×
1 1 0 1 1 0
1 1 1 0 1 0
1 1 1 1 1 1
(2) 利用卡諾圖來化簡步驟 1 所得之真值表為最簡布林函數式
1 × 1 ×
1 1
× 1 1 1 × 1 1 1 1 1 1 1 wx yz
10 01 11
00 00 01 11 10
wx yz
10 01 11
00 00 01 11 10 )
, , ,
1(w x y z
f f2(w,x,y,z)
使 用 多 輸 出 函 數 之 化 簡 法 , 化 簡 上 面 兩 個 卡 諾 圖 , 可 得 輸 出 f1(w,x,y,z) 與 )
, , ,
2(w x y z
f 之最簡布林函數式為
z y x w z y x w z y w z x w y x w z y x w f
z x w z y x z y w x w y x w z y x w f
⋅
⋅
⋅ +
⋅
⋅
⋅ +
⋅
⋅ +
⋅
⋅ +
⋅
⋅
=
⋅
⋅ +
⋅
⋅ +
⋅
⋅ +
⋅ +
⋅
⋅
= ) , , , (
) , , , (
2 1
(3) 使用邏輯閘實現 f1(w,x, y,z) 與 f2(w,x,y,z)之布林函數式,即可繪出所求之組合 邏輯電路,如下圖所示。
w x y z
) , , ,
1(w x y z
f
) , , ,
2(w x y z
f