异或门(
英语:Exclusive-OR gate,简称XOR gate,又称EOR gate、ExOR gate)是数字逻辑中实现逻辑异或的逻辑门。有多个输入端、1个输出端,多输入异或门可由2输入异或门构成。若两个输入的电平相异,则输出为高电平1;若两个输入的电平相同,则输出为低电平0。亦即,如果两个输入不同,则异或门输出高电平。这一函数能实现模为2的加法,因此,异或门可以实现
计算机中的
二进制加法。
半加器就是由异或门和
与门组成的。
虽然异或不是开关
代数的基本运算之一,但是在实际运用中相当普遍地使用分立的异或门。大多数开关技术不能直接实现异或功能,而是使用多个门设计。
异或门的常用逻辑符号包括形状特征型符号(ANSI/IEEE Std 91-1984)、IEC矩形国标符号(IEC 60617-12)和不再使用的DIN符号(DIN 40700)。对异或门的任何2个信号(输入或输出)同时去反,而不改变结果的逻辑功能。在“圈到圈”的设计中,我们选用最能表达要实现的逻辑功能的符号。
异或门是基本的逻辑门,因此在TTL和CMOS
集成电路中都是可以使用的。标准的4000系列CMOS集成电路为4070,包含四个独立的2输入异或门。4070替换了可靠性差的4030,但二者的引脚分配相同。包括NXP在内的很多半导体制造商都生产这一元件,封装方式分为直插DIP封装和SOIC封装两种。元件的数据表可在大多数元件数据库查询到。
输入1和1时,XOR会输出0。因此,不可能只使用AND和OR组成XOR,必须包含反相器(NOT)。异或门可利用四个
与非门或五个
或非门来实现,因为与非门和或非门是“通用的门电路”,因此任何一个
逻辑函数都可单独由与非逻辑或或非逻辑来实现。
若严格的理解逻辑异或的定义,或观察IEC符号,我们就会提出关于2输入以上的异或门是否能有正确表现的问题。将连续相接的输入接入级联的异或门是很常见的连接方式,这样就会得到如下结果:若输入中高电平(1)的个数是
奇数,输出为高电平(1);若输入中高电平(1)的个数是偶数,输出为低电平(0)。例如,74LVC1G386微型
集成电路是3输入异或门,可实现奇偶发生器。在硬件描述语言Verilog中,缩减运算符"^"能将任意位输入进行从高位到低位逐次异或运算,得到一位输出。
异或门在计算电路及
数字信号传输的纠错电路中有着广泛的用途。常用异或门集成电路型号为74LS386,内含4个二输入端异或门电路。
异或门可以作为一位加法器,可将任何2位相加得到1个输出。若两个输入的值均为1,则得到10的结果,而
与门由两个输入的值控制
进位的输出。以上是
半加器的主要原理。
安全加密算法
一次性密码本就是利用异或门实现的。加密的原理是将要加密的文件(
明文)编码成
二进制序列,然后将与被加密的消息长度相同的随机二进制序列作为
密钥,再将明文与密钥的每一位依次进行按位异或运算,得到密文。若将密文与密钥的每一位依次进行按位异或运算,就能得到原文。
将
方波信号和利用RC电路延迟的方波信号作为异或门的两个输入,可以很容易的得到频率达到100 MHz以上的方波。输出得到的针尖脉冲是锁相的,其频率会与RC电路的
时间常数基本保持同步。由于这种倍频器不需要
共振滤波器,输入信号可以具有经过调频的任意
占空比,也可以是强信号。