互斥或閘

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
基本邏輯閘
緩衝
反及
或非
互斥或 同或
蘊含 蘊含非
輸入
A   B
輸出
A XOR B
0 0 0
0 1 1
1 0 1
1 1 0

互斥或閘(英語:Exclusive-OR gate,簡稱XOR gate,又稱EOR gateExOR gate)是數位邏輯中實現邏輯互斥或邏輯閘,功能見右側真值表。若兩個輸入的電平相異,則輸出為高電平(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

等價於

互斥或的運算順序如下:

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

反及邏輯實現的互斥或運算的邏輯表達式如下:

硬體描述和引腳分配[編輯]

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

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]

互斥或閘的傳輸閘連線

備選方案[編輯]

CMOS互斥或閘
利用 NOT, AND, OR 組成的互斥或閘

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

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

互斥或閘可利用四個反及閘或五個反或閘來實現,連線方法見下圖。因為反及閘和反或閘是「通用的閘電路」,因此任何一個邏輯函式都可單獨由反及邏輯反或邏輯來實現。

僅用反及閘(NAND)實現的互斥或閘
僅用反或閘(NOR)實現的互斥或閘

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

 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

2個輸入以上的情況[編輯]

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

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

例如,74LVC1G386微型積體電路是3輸入互斥或閘,可實現奇偶產生器[2]

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

其他應用[編輯]

加法器[編輯]

半加器電路圖範例

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

互斥或密碼[編輯]

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

互斥或校驗[編輯]

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

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

互斥或閘倍頻器[編輯]

數位訊號倍頻器

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

可控反相器[編輯]

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

參見[編輯]

參考文獻[編輯]

  1. ^ Paul Falstad's Circuit Simulator Applet. [2010-08-04]. (原始內容存檔於2013-01-21). 
  2. ^ 74LVC1G386 網際網路檔案館存檔,存檔日期2009-12-29.資料表英語data sheet
  • Tietze, Ulrich; Schenk, Christoph. Halbleiter-Schaltungstechnik. Springer. 2002年12月. ISBN 3-540-42849-6. 
  • Beuth, Klaus. Digitaltechnik. Vogel. 1998年10月. ISBN 3-8023-1755-6. 
  • Seifart, Manfred; Beikirch, Helmut. Digitale Schaltungen. Technik. 1998年5月. ISBN 3-341-01198-6.