本章補充 06 章未深入的組合邏輯主題與設計模式。
一、典型組合邏輯模組(74 系列回顧)
| 功能 | 74 系列 IC |
|---|---|
| 4 個 NAND | 74HC00 |
| 6 個 NOT | 74HC04 |
| 4 個 AND | 74HC08 |
| 4 個 OR | 74HC32 |
| 4 個 XOR | 74HC86 |
| 8-bit 緩衝/驅動 | 74HC244 |
| 8-bit 雙向收發 | 74HC245 |
| 4-to-16 解碼器 | 74HC154 |
| 3-to-8 解碼器 | 74HC138 |
| 8-to-1 MUX | 74HC151 |
| Quad 2-to-1 MUX | 74HC157 |
| 4-bit 加法器 | 74HC283 |
| 4-bit 比較器 | 74HC85 |
| 8-bit 暫存器 | 74HC273 |
| 4-bit 計數器 | 74HC161 |
二、常用設計:算術邏輯單元(ALU)
ALU 是 CPU 核心,整合: - 加減運算(Adder + 控制 Cin) - 位元邏輯(AND/OR/XOR/NOT) - 比較(Subtract 後看符號) - 移位(Shift Register)
74HC181 是經典 4-bit ALU IC。
三、奇偶校驗(Parity)
加一個 bit 檢查資料是否被破壞:
- 偶校驗:總 1 個數為偶數
- 奇校驗:總 1 個數為奇數
實現:XOR 鏈。 8 個 XOR 串聯 → 9 位資料的 parity 產生 / 檢查器。
74HC280:9-bit parity generator/checker。
四、橋接器與三態邏輯
三態(Tri-State)
正常邏輯只有 0/1,三態多了「高阻抗」(Hi-Z):
| OE | A | Out |
|---|---|---|
| 0 | x | Hi-Z(斷開) |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
用於:共用匯流排(多個輸出共線)。
開汲極(Open Drain / Open Collector)
只有「拉低」與「不拉」兩態:
V_dd
│
[Pull-up R]
│
├──── Bus
│
├──[NMOS]── (Logic IC1)
├──[NMOS]── (Logic IC2)
└──[NMOS]── (Logic IC3)
任一個 IC 拉低 → 匯流排為 0。 全部不拉 → 匯流排被上拉為 1。
→ 「Wired-AND」邏輯。 應用:I²C 匯流排、interrupt 共用線、邏輯互鎖。
五、毛刺(Glitch / Hazard)
組合邏輯切換時,輸出可能短暫產生「不該有的脈衝」。
靜態 1 hazard
輸出應穩定為 1,但短暫變 0。
動態 hazard
輸出多次變化才穩定。
解決
- 加冗餘 K-Map 圈(消除靜態 hazard)
- 緩衝(時鐘觸發 register 過濾)
六、可程式化邏輯元件(PLD)
不用 74xx 一個個接,可程式化邏輯彈性更大:
PROM
固定 AND 陣列 + 可編程 OR。
PLA
AND 與 OR 都可編程。
PAL / GAL
PAL:固定 OR、可編程 AND。 GAL:可重複編程的 PAL(22V10 經典)。
CPLD
較大的 PLD,幾百到幾千個邏輯巨單元(macrocell)。 工具:Quartus(Intel)、Vivado(Xilinx)、Diamond(Lattice)。
FPGA
更大、更靈活,由查找表(LUT)構成。 (詳見 04-高級篇/08-FPGA設計.md)
七、HDL(硬體描述語言)入門
寫硬體就像寫程式:
Verilog 範例:4-bit MUX
module mux4 (
input [3:0] in,
input [1:0] sel,
output reg out
);
always @(*) begin
case (sel)
2'b00: out = in[0];
2'b01: out = in[1];
2'b10: out = in[2];
2'b11: out = in[3];
endcase
end
endmodule
VHDL 範例:4-bit Adder
entity adder4 is
port (
a, b : in std_logic_vector(3 downto 0);
sum : out std_logic_vector(4 downto 0)
);
end;
architecture rtl of adder4 is
begin
sum <= ('0' & a) + ('0' & b);
end;
Verilog 簡潔,VHDL 嚴謹。業界都常見。 SystemVerilog 是 Verilog 的擴展,用於 IC 驗證。
八、本章總結
✅ 您應該掌握:
- [x] 常用 74 系列 IC
- [x] 三態與開汲極邏輯
- [x] Glitch / Hazard 處理
- [x] PLD/CPLD/FPGA 演進
- [x] HDL 入門概念
下一章
08-時序邏輯.md — 帶記憶的數位電路。