三、請利用數個 NAND 邏輯閘畫出下列布林代數之邏輯電路接線,只能使用 NAND 邏輯閘,不能使用其他邏輯閘。(20 分)
詳解 (共 1 筆)
這是一題關於 NAND 邏輯閘通用性(Universality) 的經典應用題。NAND 閘可以組合出任何基礎邏輯運算(NOT, AND, OR)。
要將一個「積之和(Sum of Products, SOP)」形式的布林代數式,全部改用 NAND 閘來實現,最簡單且標準的方法就是利用 狄摩根定律(De Morgan's laws) 進行兩次取反。
一、 布林表達式轉換
原式:
對整個表達式取兩次非(Double Negation),其邏輯值不變:
根據狄摩根定律 $\overline{W+X+Y+Z} = \overline{W} \cdot \overline{X} \cdot \overline{Y} \cdot \overline{Z}$,我們將最內層的「或(OR)」轉換為「與(AND)」:
這個形式正好符合 NAND-NAND 結構:
-
括號內的每一項(如 $\overline{ABD}$)都是一個 NAND 運算。
-
最外層的長橫線代表最後將所有結果再進行一次 NAND 運算。
二、 NAND 閘實作步驟
為了完成此電路,我們需要三層邏輯運算:
1. 產生反向訊號(NOT gates using NAND)
如果輸入沒有提供反向變數(如 $\overline{B}$),則需將 NAND 閘的兩個輸入端相連來充當 NOT 閘:
-
$\overline{B} = \text{NAND}(B, B)$
-
$\overline{C} = \text{NAND}(C, C)$
-
$\overline{D} = \text{NAND}(D, D)$
2. 第一層:計算積項(AND terms using NAND)
使用四個 NAND 閘分別計算:
-
$G_1 = \text{NAND}(\overline{B}, \overline{C}, \overline{D})$
-
$G_2 = \text{NAND}(A, B, D)$
-
$G_3 = \text{NAND}(A, C)$
-
$G_4 = \text{NAND}(B, C, \overline{D})$
3. 第二層:總結輸出(OR function using NAND)
將上述四個輸出作為最後一個 NAND 閘的輸入:
-
$Y = \text{NAND}(G_1, G_2, G_3, G_4)$
三、 邏輯電路接線圖描述
在繪製接線圖時,請依照下列配置:
-
輸入端: 繪製 A、B、C、D 四條垂直線。
-
反向處理: 若需要反向項,從 B、C、D 引出線條接至單輸入 NAND 閘(兩個輸入短路)。
-
第一級(NAND 陣列): 畫出四個多輸入的 NAND 閘。
-
第一個接 $\overline{B}, \overline{C}, \overline{D}$。
-
第二個接 $A, B, D$。
-
第三個接 $A, C$。
-
第四個接 $B, C, \overline{D}$。
-
-
第二級(輸出閘): 將這四個 NAND 閘的輸出,匯集接到最後一個四輸入的 NAND 閘,其輸出即為 $Y$。
? 考試要點
這題的關鍵在於記住:「任何 SOP 形式的電路,都可以直接對應到兩層 NAND 電路」。第一層 NAND 閘負責處理「積項」,第二層 NAND 閘負責處理「和項」。這種轉換方式在數位電路設計中非常高效。加油,這題 20 分是邏輯考科中必拿的基礎分!