本章補充 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 — 帶記憶的數位電路。