本文為清華大學開放式課程上課心得整理。
Multi-Level Gate Circuits
當電路超過兩層時便是 Multi-Level,層數的算法為從 primary input 到 primary output 的最長路徑,Level 與 gate input number 以及 delay(因應 input 改變而做出 output 改變的時間差)相關連。
電路的層數也可以透過某些規則轉換,在電路中,一個訊號分給兩個邏輯閘稱為 fanout(如下圖 D、E 即是),仔細觀察函式就可以發現該電路圖的函式可以轉成 (AB+C)(FG),這樣就會變成一個四層電路。
電路的層數與 gate input 有關,然而就面積大小來看,有時候不同層數的電路轉換也會有一些好處。
以下圖為例,卡諾圖找出的函式可以畫出一個 2 level、5 gate 的電路,由於 input 必須獨立計算,所以這個電路會出現 16 個 input(4 個 and gate 每個 3個,再加上最後一個 or gate 會從前面收到 4 個 and gate 的輸出結果,總共 16 個)。
仔細觀察會發現,卡諾圖找出的函式可以再做 factoring,湊出一組 3 level、5 gate、 12 input(每個變數個算一個,因此最外面的 or gate 裡面的兩個邏輯閘每個會有 5 個 input,這兩個邏輯閘剛好對稱,所以是 10 個,兩個邏輯閘會分別再輸出一個結果給最外面的 or gate,所以是 12 個)的電路。
當然也可以用其他方式化簡,詳參下圖,此時就可以看出在相同 level 的狀況下,編號 2 與 3 的函式表現相對較好,這只有多方嘗試才能找出結論。
NAND 與 NOR Gates
NAND Gate 是一種特別的邏輯閘,它的行為是先執行 AND 然後再執行 NOT,NOR Gate 也一樣,只是將 AND 換成 OR。
接下來要談一個觀念:Functionally Complete Set of Gate,當許多邏輯閘要執行運算時,如果這個集合中任何的 boolean function 都可以用集合內的運算來實現,則這個集合稱為 Functionally Complete,這些 operation 即是 Functionally Complete Set of Gate,常見的就是 NAND 與 NOR兩種邏輯閘。
在這之中還有一些比較特別的邏輯閘:
・Majority Gate:以 M 表示,是一個有三個輸入值的邏輯閘,輸出採多數決,當輸入值的 0 數量較多時結果為 0,反之亦然。
・Minority Gate:以輸入值數量少的為結果,與多數閘的概念相反,兩者互為 complement,以 m 表示。三個邏輯閘的 Minority Gate 可以實現所有的邏輯函數,因此 Minority Gate 本身即是 Functionally Complete Set of Gate。