Remove ads

異或門(英語:Exclusive-OR gate,簡稱XOR gate,又稱EOR gateExOR gate)是數碼邏輯中實現邏輯異或邏輯門,功能見右側真值表。若兩個輸入的電平相異,則輸出為高電平(1);若兩個輸入的電平相同,則輸出為低電平(0)。

基本邏輯閘
緩衝
與非
或非
異或 同或
蘊含 蘊含非
輸入
A   B
輸出
A XOR B
0 0 0
0 1 1
1 0 1
1 1 0

這一函數能實現模為2的加法,因此,異或門可以實現電腦中的二進制加法。半加器是由異或門和與門組成的。

概述

下列包括邏輯門的3種符號:形狀特徵型符號(ANSI/IEEE Std 91-1984)、IEC矩形國標符號(IEC 60617-12)和不再使用的DIN符號(DIN 40700)。其他的邏輯門符號見邏輯門符號表

更多資訊 , ...
表達式 符號 功能表 繼電器邏輯
ANSI/IEEE Std 91-1984 IEC 60617-12 DIN 40700




A B
0 0 0
0 1 1
1 0 1
1 1 0
關閉

等價於

異或的運算順序如下:

輸入的順序對輸出沒有影響,因為異或滿足結合律。

與非邏輯實現的異或運算的邏輯表達式如下:

Remove ads

硬件描述和引腳分配

異或門是基本的邏輯門,因此在TTLCMOS集成電路中都是可以使用的。標準的4000系列CMOS集成電路為4070,包含四個獨立的2輸入異或門。4070替換了可靠性差的4030,但二者的引腳分配相同。下面是引腳分配表:

Thumb
4070四異或門DIP封裝集成電路的引腳分配圖
  1. 輸入A1
  2. 輸入B1
  3. 輸出Q1
  4. 輸出Q2
  5. 輸入A2
  6. 輸入B2
  7. VG
  8. 輸入A3
  9. 輸入B3
  10. 輸出Q3
  11. 輸出Q4
  12. 輸入A4
  13. 輸入B4
  14. VCC

包括NXP在內的很多半導體製造商都生產這一元件,封裝方式分為直插DIP封裝SOIC封裝英語small-outline integrated circuit兩種。元件的數據表可在大多數元件資料庫查詢到。

傳輸門連線

異或門可以用MOSFET組成。下圖是CMOS實現的異或門。[1]

Thumb
異或門的傳輸門連線

備選方案

Thumb
CMOS異或門
Thumb
利用 NOT, AND, OR 組成的異或門

輸入1和1時,XOR會輸出0。因此,不可能只使用AND和OR組成XOR,必須包含反相器(NOT)。

如果沒有特定的邏輯門,我們可以用其他現有的邏輯門構建。顯而易見的一個方法是用同或門後接一個非門來實現異或門。如果按照邏輯表達式,我們可以利用與門或門非門來構建異或門。但是,這種方法需要3種共5個邏輯門。

異或門可利用四個與非門或五個或非門來實現,連線方法見下圖。因為與非門和或非門是「通用的門電路」,因此任何一個邏輯函數都可單獨由與非邏輯或非邏輯來實現。

Thumb
僅用與非門(NAND)實現的異或門
Thumb
僅用或非門(NOR)實現的異或門

留意下表,OR和NAND中間兩行輸出跟XOR相同,第一和第四行不同。所以,利用OR和NAND再加上AND可以組成XOR。

更多資訊 A, B ...
 A   B  OR NAND XOR
0 0 0 1 0
0 1 1 1 1
1 0 1 1 1
1 1 1 0 0
關閉
Remove ads

2個輸入以上的情況

若嚴格的理解邏輯異或的定義,或觀察IEC符號,我們就會提出關於2輸入以上的異或門是否能有正確表現的問題。如果一個邏輯門能有3個或更多的輸入,並能得到正確的輸出,而且輸入中的一個為真,那麼這個邏輯門在效果上是一個獨熱檢測器,而其實這是僅有2個輸入的情況。不過,實際中極少用這種方法來實現這一裝置。

將連續相接的輸入接入級聯的異或門是很常見的連接方式。首先將2個訊號作為一個異或門的輸入,然後將其輸出以及第3個訊號作為第二個異或門的輸入,對需要接入的其他訊號反覆進行以上操作,這樣就會得到如下結果:若輸入中高電平(1)的個數是奇數,輸出為高電平(1);若輸入中高電平(1)的個數是偶數,輸出為低電平(0)。這種特性在實際應用中可實現奇偶發生器或模2加法器

例如,74LVC1G386微型集成電路是3輸入異或門,可實現奇偶發生器[2]

Verilog的縮減運算子"^"能將任意位輸入進行從高位到低位逐次異或運算,得到一位輸出。

其他應用

加法器

Thumb
半加器電路圖範例

異或門可以作為一位加法器,可將任何2位相加得到1個輸出。若兩個輸入的值均為1,則得到10的結果,而與門由兩個輸入的值控制進位的輸出。以上是半加器的主要原理。

異或密碼

安全加密演算法一次性密碼本就是利用異或門實現的。加密的原理是將要加密的檔案(明文)編碼成二進制序列,然後將與被加密的訊息長度相同的隨機二進制序列作為金鑰,再將明文與金鑰的每一位依次進行按位元異或運算,得到密文。若將密文與金鑰的每一位依次進行按位元異或運算,就能得到原文。

異或校驗

101 XOR 011 = 110
110 XOR 011 = 101
110 XOR 101 = 011

將兩個3位二進制序列101011進行異或奇偶校驗可得到異或校驗和110(右表第一行右側)。若序列101遺失,我們可以將已知序列011與異或校驗和進行異或運算得到遺失的序列(右表第二行)。

異或門倍頻器

Thumb
數碼訊號倍頻器

將方波訊號和利用RC電路延遲的方波訊號作為異或門的兩個輸入,可以很容易的得到頻率達到100 MHz以上的方波。輸出得到的針尖脈衝是鎖相的,其頻率會與RC電路的時間常數基本保持同步。由於這種倍頻器不需要共振濾波器,輸入訊號可以具有經過調頻的任意占空比,也可以是強訊號。

可控反相器

將異或門的一個輸入作為訊號輸入端,另一個輸入作為控制端,若控制端為低電平(0),訊號輸出不變;若控制端為高電平(1),異或門表現為反相器,訊號輸出反相。

參見

參考文獻

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.

Remove ads