數位邏輯

基本邏輯閘

數位邏輯使用邏輯閘處理二進位資料。基本邏輯閘包括 AND、OR、NOT、NAND、NOR、XOR、XNOR。每個閘執行一個基本布林運算,是組合所有數位電路的基礎。

功能Verilog
AND輸入都為 1 輸出為 1Y = A & B
OR輸入任一為 1 輸出為 1Y = A | B
NOT輸入為 0 輸出為 1Y = ~A
NANDAND 的否定Y = ~(A & B)
XOR輸入不同輸出為 1Y = 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 等硬體描述語言可以高效設計複雜數位系統。

相關連結