-
Notifications
You must be signed in to change notification settings - Fork 5
IcGateToLogic
陳鍾誠 edited this page Dec 14, 2022
·
1 revision
布林代數是用來描述 0/1 (True/False) 的數學,透過 AND/OR/NOT 三種運算 (邏輯閘),我們可以建構出所有數位電路,包含 CPU。
如果你想學習如何從 NAND 開始建構 CPU 處理器,可以去做 nand2tetris 這門網路課程的習題。
以 NAND 閘當基礎,可以用一個 NAND 閘建構出 NOT,兩個 NAND 閘建構出 AND,三個 NAND 閘建構出 OR,所以我們說 NAND 閘是完備的基本元件,可以建構出所有數位電路。(改用 NOR 閘,也同樣可以)
布林代數與邏輯閘,是一體的兩面,凡是邏輯閘建構出來的組合電路 (沒有迴圈的那種),都可以用布林代數來描述。
通常對於簡單電路,我們會先列出真值表,然後畫出卡諾圖並化簡成布林代數式,最後再轉換為邏輯閘畫出來,這是建構數位電路基本元件的標準程序。
當電路變得更複雜了,就會用《區塊連接》的方式來設計。一旦設計出區塊,就能視為可重用元件,用 N 個區塊去形成更大的電路。
現在的數位電路設計,通常是用寫程式的方式進行,像是 Verilog 或 VHDL 這樣的硬體描述語言,可以用來設計出各種數位電路,包含 CPU 在內。
陳鍾誠 於 金門大學 ,採用 CC:BY-SA 授權