數位邏輯使用邏輯閘處理二進位資料。基本邏輯閘包括 AND、OR、NOT、NAND、NOR、XOR、XNOR。每個閘執行一個基本布林運算,是組合所有數位電路的基礎。
| 閘 | 功能 | Verilog |
|---|---|---|
| AND | 輸入都為 1 輸出為 1 | Y = A & B |
| OR | 輸入任一為 1 輸出為 1 | Y = A | B |
| NOT | 輸入為 0 輸出為 1 | Y = ~A |
| NAND | AND 的否定 | Y = ~(A & B) |
| XOR | 輸入不同輸出為 1 | Y = A ^ B |
組合邏輯的輸出僅取決於當前輸入,無記憶功能。常見電路包括多工器(Mux)、解多工器(DMux)、解碼器(Decoder)、編碼器(Encoder)。
多工器根據選擇訊號從多個輸入中選一個輸出。例如 2-to-1 Mux:Y = (~S & A) | (S & B)。
序向邏輯的輸出取決於當前輸入和歷史狀態,具有記憶功能。基本元件是正反器(Flip-Flop),如 D 型正反器。多個正反器構成暫存器和計數器。
// D Flip-Flop in Verilog module dff (input clk, d, output reg q); always @(posedge clk) q <= d; endmodule
從邏輯閘到完整 CPU 的設計流程:描述功能 → 真值表 → 卡諾圖化簡 → 邏輯閘實現 → HDL 編碼 → 模擬驗證 → FPGA 或 ASIC 實現。
使用 Verilog 或 VHDL 等硬體描述語言可以高效設計複雜數位系統。