XOR 閘是數位電子學中的關鍵建構單元,僅在輸入不同時能產生高輸出。這種獨特的行為使其在比較數值、管理位元層級操作或偵測錯誤的電路中非常有用。透過了解異或閘的運作方式及其構造,就能更容易理解它們為何出現在這麼多數位系統中。

什麼是異或閘?
XOR 閘是一種數位邏輯閘,會比較兩個二進位輸入,只有當輸入不同時才會產生 1。如果兩個輸入相同,無論是 0 還是 1,閘輸出為 0。由於 XOR 閘專門回應兩個訊號之間的差異,因此在分析、比較或處理二進位資料的電路中非常有用。它常見於算術區塊、錯誤檢測電路,以及依賴位元層級比較的系統中。
異或閘如何運作?
XOR 閘根據其輸入端存在的高頻訊號數量(1s)產生輸出。
• 當 1 的數量為奇數時,輸出 = 1
• 當 1 的數量為偶數時,輸出 = 0
對於兩個輸入 A 和 B,布林方程為:
X = A′B + AB′
此表達式代表 A 與 B 不匹配的兩個條件。每個項僅在一個輸入為 1、另一個為 0 時啟動,捕捉 XOR 函數的核心行為。
異或閘的符號

XOR 符號與 OR 閘符號非常相似,但在輸入端附近多了一條曲線。這條額外的行區分了「排他」操作。
輸入 A 與 B 會通過此符號,輸出對應布林形式 A′B + AB′,顯示只有當兩個輸入不同時,結果才為高電平。
XOR 門的真值表
一個雙輸入的XOR閘遵循如下所示模式:
| A | B | X(A ⊕ B) |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
這證實了只有當 A 和 B 值不同時,輸出才會變成 1。
利用電晶體進行異或閘

基於電晶體的異或閘依賴受控導通路徑,並根據輸入電平啟動。透過選擇性路徑排列電晶體,電路能以符合異或行為的方式連接或斷開輸出與接地。
工作情境
• A = 0, B = 0:關鍵電晶體保持關閉,阻止接地路徑。LED 一直亮著。
• A = 1, B = 0:電晶體 Q4 導通並完成接地路徑,導致 LED 點亮。
• A = 0, B = 1:電晶體 Q5 啟動並點亮 LED。
• A = 1, B = 1:電晶體 Q1 與 Q2 導通,重新導向電流並阻止 Q3 驅動 LED。LED 一直亮著。
這些導通圖樣與異或真值表相符,並展示電晶體切換如何產生邏輯行為。
利用 NAND 閘的 XOR

XOR 閘可完全由 NAND 閘構建,方法是將邏輯表達式重寫成適合 NAND 操作的形式。其理念是用補集來表達異或函數,使每個部分都能由 NAND 閘處理。
• 從 XOR 表達式開始:A′B + AB′
• 對 NAND 結構進行雙重否定:[(A′B + AB′)′]′
• 使用德摩根定律來區分這些詞彙:[(A′B)′ ·(AB′)]′
• 使用 NAND 閘實作 (A′B)′ 與 (AB′)′,因為 NAND 閘自然提供互補的 AND 輸出
• 將這些輸出輸入最終的 NAND 閘,以移除外補空間並完成 XOR 行為
正確排列時,完整設計使用五個 NAND 閘:兩個用於產生互補項,兩個用於內部產生 A′ 與 B′,最後一個閘將結果合併產生 XOR 輸出。
利用 NOR 閘進行 XOR

你也可以只用 NOR 閘來建立 XOR 閘,方法是重寫表達式,使每一步都符合 NOR 操作。目標是建立所需的互補和,然後將它們組合以匹配異或模式。
• 先對輸入 A 和 B 進行 NOR 處理,產生 (A + B)′,成為關鍵共享項
• 形成兩個中間表達式:[A + (A + B)′]′ 與 [B + (A + B)′]′′,每個表達式皆透過將一個值與共享項輸入 NOR 閘來建立
• 不取這兩個表達式的輸出,得到 (A′B + AB′)′,即補集 XOR 形式
• 將結果送入最終的NOR閘,以去除補集並產生正確的異或輸出
在此配置下,僅用 NOR 的實作還使用五個 NOR 閘,一個用於建立共享補集,兩個用於構建中間項,一個用於合併,最後一個閘產生真正的 XOR 結果。
三輸入異或閘

三輸入 XOR 閘是將兩個標準的兩輸入 XOR 閘串聯而成。此配置擴展了異或運算,使其能處理超過兩個訊號,同時保持相同行為。
• 先進行 XOR A 與 B 以產生中間結果
• 接著將結果與 C 異或,產生最終輸出
• 布林形式變為:X = A ⊕ B ⊕ C
當輸入 1 總數為奇數時,這個輸出為高。如果輸入中包含 0、2 或全部 1,輸出仍維持低電位。因此,閘繼續保持相同的「差異偵測」特性,但跨越較大的輸入群。
異或閘的應用
• 資料加密 – 用於基本的加密與遮蔽方案,資料位元與金鑰位元結合以產生編碼輸出。
• 比較電路 – 協助偵測兩個二進位值間的不匹配位元,便於辨識差異。
• 加法器/減法器 – 產生算術單位的和輸出,因為 XOR 自然反映二進位加法且無進位。
• 切換控制 – 當控制訊號啟動時,透過產生切換輸出,支援觸發器切換及狀態變更。
• 其他用途 – 亦見於位址解碼、定時與時鐘對齊電路、頻分設置,以及隨機位元或偽隨機模式產生。
異或閘的優缺點
優點
• 執行奇偶校驗並識別高輸入的奇數。
• 支援數位電路比較與算術區段所需的獨佔邏輯。
缺點
• 內部設計比基本閘(如 AND 或 OR)更為複雜。
• 可能導致快速切換電路中的傳播延遲增加。
• 多輸入版本較難實作與診斷。
基於異或的切換觸發器

XOR 閘可以透過將 XOR 置於觸發器的輸入端,並將電流輸出作為回饋的一部分,將標準的 D 觸發器轉變為切換裝置。XOR 決定儲存的狀態是否應該保持不變,還是在下一個時脈邊翻轉。
當控制輸入為高電平時,異或會反轉反饋訊號,使觸發器每時鐘週期改變狀態:
• 若 Q = 1,下一個狀態變為 0
• 若 Q = 0,下一態變為 1
當控制輸入為低電平時,異或會直接將當前狀態傳給 D 輸入,使觸發器保持其值。
基本邏輯函數中的異或閘
XOR 閘可根據某個輸入的固定方式,支援簡單的邏輯行為。這些配置使閘極能作為控制與交換電路中的共用邏輯元件。
• XOR 作為反轉器(A ⊕ 1 = A̅)

當一個輸入被綁定為 1 時,XOR 輸出的輸出與另一個輸入相反。這使得異或的行為完全像非門(NOT閘),將接收信號翻轉。
• XOR 作為緩衝區(A ⊕ 0 = A)

將其中一個輸入設為 0 時,XOR 會讓另一個輸入保持不變。在此配置中,XOR 就像基本的緩衝元件一樣運作。
• 利用交換器的異或行為

一個簡單的雙開關燈管電路可以展示異或行為:
• 當開關位置不同時,燈會亮起。
• 當兩個開關匹配時,燈會熄滅。
異或閘IC替代方案
• 4030 – 四重軌 2 輸入 XOR
基於CMOS的裝置,能在寬電壓範圍內提供低功耗與穩定運作。
• 4070 – 四邊形 2 輸入 XOR
類似於 4030,但通常偏好用於需要可靠 XOR 行為的通用 CMOS 設計。
• 74HC86 / 74LS86 / 74HCT86 – 高速四重奏異或變體
這些版本屬於 74 系列邏輯家族,提供更快的切換速度、更好的噪音效能,並依子類型相容於 TTL 或 CMOS 系統。
結論
XOR 閘以突出差異、支援算術函數及實現可靠控制邏輯而著稱。無論是由電晶體組成,或由 NAND 與 NOR 閘結合,其目的始終如一,提供選擇性且高效的切換行為。其廣泛的應用顯示為何異或邏輯仍是現代數位電路設計的重要組成部分。
常見問題 [FAQ]
異或門與異反反門(XNOR)門有何不同?
當輸入不同時,XOR 閘輸出 1,而 XNOR 閘在輸入匹配時輸出 1。XNOR 基本上是 XOR 的反函,常用於等式檢查和數位比較電路。
為什麼在布林邏輯中,XOR 閘被視為非線性的?
XOR 閘是非線性的,因為其輸出無法僅用基本的線性布林運算如 AND、OR 和 NOT 在沒有組合的情況下形成。這種非線性特性使 XOR 能執行奇偶校驗並偵測位元變化,這是線性閘單獨無法做到的功能。
異或閘如何幫助偵測數位資料中的錯誤?
XOR 閘透過檢查一組輸入中是否包含奇數或偶數個 1 來產生奇偶校驗位元。當接收到資料時,會再次套用相同的異或操作。不匹配表示傳輸過程中發生錯誤。
XOR 是否應用於微控制器和 CPU?
是的。XOR 內建於微控制器與處理器的算術邏輯單元(ALU)中。它用於位元運算、校驗和建立、軟體加密以及快速算術運算等操作。
異或閘能否組合起來創造更複雜的邏輯函數?
是的。多個異或閘可形成多位元加法器、奇偶校驗產生器、比較器及編碼電路。透過串接異或階段,設計者能建構可擴展的邏輯系統,偵測跨越大型資料集的差異。