【數位邏輯設計】Multi-Level Gate Circuits / NAND and NOR Gates Part I

朱痕染跡璧有瑕
5 min readMay 21, 2022

--

https://pixabay.com/photos/port-ship-boat-sweden-sea-6910972/

本文為清華大學開放式課程上課心得整理。

Multi-Level Gate Circuits

當電路超過兩層時便是 Multi-Level,層數的算法為從 primary input 到 primary output 的最長路徑,Level 與 gate input number 以及 delay(因應 input 改變而做出 output 改變的時間差)相關連。

電路的層數也可以透過某些規則轉換,在電路中,一個訊號分給兩個邏輯閘稱為 fanout(如下圖 D、E 即是),仔細觀察函式就可以發現該電路圖的函式可以轉成 (AB+C)(FG),這樣就會變成一個四層電路。

https://www.youtube.com/watch?v=vLuRH1HnMpE&list=PLS0SUwlYe8czJbz5-sRtbuTleObQE9mOa&index=38,4 分 55 秒截圖

電路的層數與 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 的函式表現相對較好,這只有多方嘗試才能找出結論。

同上,14 分 06 秒截圖

NAND 與 NOR Gates

NAND Gate 是一種特別的邏輯閘,它的行為是先執行 AND 然後再執行 NOT,NOR Gate 也一樣,只是將 AND 換成 OR。

https://www.youtube.com/watch?v=i05y9eSmOic&list=PLS0SUwlYe8czJbz5-sRtbuTleObQE9mOa&index=39,0 分 12 秒截圖

接下來要談一個觀念:Functionally Complete Set of Gate,當許多邏輯閘要執行運算時,如果這個集合中任何的 boolean function 都可以用集合內的運算來實現,則這個集合稱為 Functionally Complete,這些 operation 即是 Functionally Complete Set of Gate,常見的就是 NAND 與 NOR兩種邏輯閘。

同上,4 分 18 秒截圖

在這之中還有一些比較特別的邏輯閘:

・Majority Gate:以 M 表示,是一個有三個輸入值的邏輯閘,輸出採多數決,當輸入值的 0 數量較多時結果為 0,反之亦然。

・Minority Gate:以輸入值數量少的為結果,與多數閘的概念相反,兩者互為 complement,以 m 表示。三個邏輯閘的 Minority Gate 可以實現所有的邏輯函數,因此 Minority Gate 本身即是 Functionally Complete Set of Gate。

同上,13 分 59 秒截圖
同上,16 分 23 秒截圖
同上,21 分 14 秒截圖

--

--