
La puerta XOR (a veces EOR , o EXOR y pronunciada como OR exclusivo , ksor o a veces EX-OR ) es una puerta lógica digital que da una salida verdadera (1 o ALTA) cuando el número de entradas verdaderas es impar. Una puerta XOR implementa un OR exclusivo ((de la lógica matemática ); es decir, se obtiene una salida verdadera si una, y solo una, de las entradas de la compuerta es verdadera. Si ambas entradas son falsas (0/BAJO) o ambas son verdaderas, se obtiene una salida falsa. XOR representa la función de desigualdad, es decir, la salida es verdadera si las entradas son diferentes; de lo contrario, la salida es falsa. Una forma de recordar XOR es: "debe tener una u otra, pero no ambas".
Una puerta XOR puede funcionar como un "inversor programable" en el que una entrada determina si se invierte la otra entrada o si simplemente se deja pasar sin cambios. Por lo tanto, funciona como un inversor (una puerta NOT) que puede activarse o desactivarse mediante un interruptor. [ 1 ] [ 2 ]
La operación XOR también puede interpretarse como una suma módulo 2. Por consiguiente, las compuertas XOR se utilizan para implementar la suma binaria en computadoras. Un semisumador consta de una compuerta XOR y una compuerta AND . Esta compuerta también se utiliza en restadores y comparadores . [ 3 ]
Las expresiones algebraicasoooTodas representan la puerta XOR con entradas A y B. El comportamiento de la puerta XOR se resume en la tabla de verdad que se muestra a la derecha.
Símbolos
Existen tres símbolos esquemáticos para las compuertas XOR: los símbolos tradicionales ANSI y DIN , y el símbolo IEC . En algunos casos, el símbolo DIN se utiliza con ⊕ en lugar de ≢. Para más información, consulte Símbolos de compuertas lógicas .
El símbolo "=1" en la etiqueta IEC indica que la salida se activa mediante una sola entrada activa.
Los símbolos lógicos ⊕, J pq y ⊻ se pueden usar para denotar una operación XOR en expresiones algebraicas.
Los lenguajes similares a C utilizan el símbolo de intercalación (circunferencia^ ) para representar la operación XOR a nivel de bits. (Cabe destacar que, a pesar de la similitud del símbolo, la intercalación no representa la conjunción lógica (AND) en estos lenguajes).
Implementación
La puerta XOR se implementa con mayor frecuencia utilizando circuitos MOSFET . Algunas de estas implementaciones incluyen:
Y O invertir
Las compuertas XOR se pueden implementar utilizando lógica AND-OR-inversión ( AOI ) u OR-AND-inversión ( OAI ). [ 4 ]
Una puerta XOR que utiliza una puerta AOI 2-1.
Una puerta XOR que utiliza una puerta OAI 2-2 y entradas negadas.
CMOS
A continuación se muestran las implementaciones de la puerta XOR mediante tecnología metal-óxido-semiconductor ( CMOS ), correspondientes a la lógica AOI descrita anteriormente.
A la izquierda, los transistores nMOS y pMOS están dispuestos de manera que los pares de entradayActive los 2 transistores pMOS de la parte superior izquierda o los 2 transistores pMOS de la parte superior derecha respectivamente, conectando Vdd a la salida para un nivel lógico alto. Los pares de entrada restantesyActivar cada una de las dos rutas nMOS en la parte inferior a Vss para un nivel lógico bajo. [ 5 ]
Si se dispone de entradas invertidas (por ejemplo, de un flip-flop ), esta puerta lógica se puede utilizar directamente. De lo contrario, se necesitan dos inversores adicionales con dos transistores cada uno para generary, lo que eleva el número total de transistores a doce.
La implementación AOI sin entrada invertida se ha utilizado, por ejemplo, en la CPU Intel 386. [ 6 ]
Ejemplo de puerta XOR CMOS
Compuerta XOR CMOS mediante lógica AOI.
Puertas de transmisión
La puerta XOR también se puede implementar mediante el uso de puertas de transmisión con lógica de transistor de paso .

Esta implementación utiliza dos puertas de transmisión y dos inversores que no se muestran en el diagrama para generarypara un total de ocho transistores, cuatro menos que en el diseño anterior. La función XOR se implementa pasando a la salida el valor invertido de A cuando B está en alto y pasando el valor de A cuando B está en bajo lógico. Entonces, cuando ambas entradas están en bajo, la puerta de transmisión en la parte inferior está apagada y la de arriba está encendida y deja pasar A, que está en bajo, por lo que la salida es baja. Cuando ambas están en alto, solo la de abajo está activa y deja pasar el valor invertido de A y como A está en alto, la salida volverá a ser baja. De manera similar, si B permanece en alto pero A está en bajo, la salida seríaque es alto como se esperaba y si B es bajo pero A es alto el valor de A pasa y la salida es alta completando la tabla de verdad para la puerta XOR. [ 7 ]
La desventaja de la implementación anterior es que, dado que las compuertas de transmisión no son interruptores ideales, existe una resistencia asociada a ellas, por lo que, dependiendo de la intensidad de la señal de entrada, conectarlas en cascada puede degradar los niveles de salida. [ 8 ]
Cableado lógico de puerta de paso optimizado
La implementación anterior de la puerta de transmisión se puede optimizar aún más de ocho a seis transistores implementando la funcionalidad del inversor que generay la puerta de paso inferior con solo dos transistores dispuestos como un inversor pero con la fuente del pMOS conectada aen lugar de Vdd y la fuente del nMOS conectado aen lugar de GND. [ 8 ]

Los dos transistores de la izquierda mencionados anteriormente realizan una inversión condicional optimizada de A cuando B está en un nivel lógico alto, utilizando lógica de transistor de paso para reducir el número de transistores, y cuando B está en un nivel lógico bajo, su salida está en un estado de alta impedancia. Los dos del medio son una puerta de transmisión que lleva la salida al valor de A cuando B está en un nivel lógico bajo, y los dos transistores de la derecha forman un inversor necesario para generarutilizado por la puerta de transmisión y el circuito lógico del transistor de paso. [ 9 ]
Al igual que en la implementación anterior, se debe tener en cuenta la conexión directa de las entradas a las salidas a través de los transistores de puerta de paso o a través de los dos transistores situados más a la izquierda, especialmente al conectarlos en cascada.
XOR con AND y NOR

Reemplazar la segunda compuerta NOR con una compuerta OR normal creará una compuerta XNOR . [ 8 ]
Alternativas

Si no se dispone de un tipo específico de puerta, se puede construir un circuito que implemente la misma función a partir de otras puertas disponibles. Un circuito que implemente una función XOR se puede construir fácilmente a partir de una puerta XNOR seguida de una puerta NOT . Si consideramos la expresiónPodemos construir un circuito de puerta XOR directamente usando puertas AND, OR y NOT . Sin embargo, este enfoque requiere cinco puertas de tres tipos diferentes.
Como alternativa, si hay diferentes puertas disponibles podemos aplicar álgebra booleana para transformarcomo se indicó anteriormente, y aplicar la ley de De Morgan al último término para obtenerque se puede implementar usando solo cuatro compuertas, como se muestra a la derecha. Intuitivamente, XOR es equivalente a OR excepto cuando A y B están en nivel alto. Por lo tanto, la operación AND de OR seguida de NAND, que da un nivel bajo solo cuando A y B están en nivel alto, es equivalente a XOR.
Un circuito de puerta XOR se puede construir a partir de cuatro puertas NAND . De hecho, tanto las puertas NAND como las NOR son llamadas "puertas universales" y cualquier función lógica se puede construir a partir de la lógica NAND o la lógica NOR por separado. Si las cuatro puertas NAND se reemplazan por puertas NOR , se obtiene una puerta XNOR , que se puede convertir en una puerta XOR invirtiendo la salida o una de las entradas (por ejemplo, con una quinta puerta NOR ).
Una disposición alternativa consiste en cinco puertas NOR en una topología que enfatiza la construcción de la función desde, observando a partir de la Ley de De Morgan que una puerta NOR es una puerta AND de entrada invertida . Otra disposición alternativa es de cinco puertas NAND en una topología que enfatiza la construcción de la función desde, observando a partir de la Ley de De Morgan que una puerta NAND es una puerta OR de entrada invertida .
En las construcciones NAND, la disposición superior requiere menos compuertas. En las construcciones NOR, la disposición inferior ofrece la ventaja de un retardo de propagación más corto (el tiempo transcurrido entre un cambio de entrada y un cambio de salida).
Paquetes de chips estándar

Los chips XOR están fácilmente disponibles. Los códigos de chip estándar más comunes son:
Más de dos entradas
La interpretación literal del nombre "o exclusivo", o la observación del símbolo rectangular de la IEC, plantea la cuestión del comportamiento correcto con entradas adicionales. [ 12 ] Si una puerta lógica aceptara tres o más entradas y produjera una salida verdadera si exactamente una de esas entradas fuera verdadera, entonces sería, en efecto, un detector one-hot (y de hecho, este es el caso para solo dos entradas). Sin embargo, rara vez se implementa de esta manera en la práctica.
Lo más común es considerar que las entradas subsiguientes se aplican mediante una cascada de operaciones XOR binarias: las dos primeras señales se introducen en una puerta XOR, luego la salida de esta puerta se introduce en una segunda puerta XOR junto con la tercera señal, y así sucesivamente para las señales restantes. El resultado es un circuito que genera un 1 cuando el número de 1s en sus entradas es impar y un 0 cuando el número de 1s entrantes es par. Esto lo hace útil en la práctica como generador de paridad o sumador módulo 2 .
Por ejemplo, el microchip 74LVC1G386 se anuncia como una puerta lógica de tres entradas e implementa un generador de paridad. [ 13 ]
Aplicaciones
Las compuertas XOR y las compuertas AND son las dos estructuras más utilizadas en aplicaciones VLSI . [ 14 ]
Suma


La puerta lógica XOR se puede usar como un sumador de un bit que suma dos bits cualesquiera para obtener un bit de salida. Por ejemplo, si sumamos 1+ 1en binario , esperamos una respuesta de dos bits, 10(es decir, 2en decimal). Dado que el bit de suma final en esta salida se obtiene con XOR, el bit de acarreo precedente se calcula con una puerta AND . Este es el principio fundamental de los semisumadores . Se puede conectar en cadena un circuito sumador completo ligeramente más grande para sumar números binarios más largos.
En ciertas situaciones, las entradas de una puerta OR (por ejemplo, en un sumador completo) o de una puerta XOR nunca pueden ser ambas iguales a 1. Dado que esta es la única combinación en la que las salidas de las puertas OR y XOR difieren, una puerta OR puede reemplazarse por una puerta XOR (o viceversa) sin alterar la lógica resultante. Esto resulta conveniente si el circuito se implementa utilizando chips de circuitos integrados sencillos que contienen un solo tipo de puerta por chip.
Generador de números pseudoaleatorios

Los generadores de números pseudoaleatorios (PRN) , en concreto los registros de desplazamiento con retroalimentación lineal (LFSR), se definen mediante la operación XOR. Por lo tanto, una configuración adecuada de compuertas XOR puede modelar un registro de desplazamiento con retroalimentación lineal para generar números aleatorios.
Detectores de fase
Las compuertas XOR pueden utilizarse en los detectores de fase más simples . [ 15 ] : 425
Almacenar en búfer o invertir una señal
Una puerta XOR puede utilizarse para alternar fácilmente entre almacenar en búfer o invertir una señal. Por ejemplo, se pueden añadir puertas XOR a la salida de un circuito decodificador de pantalla de siete segmentos para que el usuario pueda elegir entre una salida activa en bajo o activa en alto.
Detección de correlación y secuencia
Las compuertas XOR producen una señal 0cuando ambas entradas coinciden. Al buscar un patrón de bits o secuencia PRN específica en una secuencia de datos muy larga, se puede usar una serie de compuertas XOR para comparar una cadena de bits de la secuencia de datos con la secuencia objetivo en paralelo. El número de 0salidas se puede contar para determinar qué tan bien coincide la secuencia de datos con la secuencia objetivo. Los correladores se utilizan en muchos dispositivos de comunicación, como receptores y decodificadores CDMA , para la corrección de errores y códigos de canal. En un receptor CDMA, los correladores se utilizan para extraer la polaridad de una secuencia PRN específica de una colección combinada de secuencias PRN.
Un correlador que busca 11010en la secuencia de datos 1110100101compararía los bits de datos entrantes con la secuencia objetivo en cada desplazamiento posible mientras cuenta el número de coincidencias (ceros):
1110100101 (datos) 11010 (objetivo) 00111 (XOR) 2 bits cero 1110100101 11010 00000 5 bits cero 1110100101 11010 01110 2 bits cero 1110100101 11010 10011 2 bits cero 1110100101 11010 01000 4 bits cero 1110100101 11010 11111 0 bits cero Coincidencias por desplazamiento: . : : : : : : : ----------- 0 1 2 3 4 5
En este ejemplo, la mejor coincidencia se produce cuando la secuencia objetivo se desplaza un bit y los cinco bits coinciden. Cuando se desplaza cinco bits, la secuencia coincide exactamente con su inversa. Al observar la diferencia entre el número de unos y ceros que salen del banco de compuertas XOR, es fácil ver dónde aparece la secuencia y si está invertida o no. Las secuencias más largas son más fáciles de detectar que las cortas.
Representación analítica
es una representación analítica de la puerta XOR:
es una representación analítica alternativa.
Véase también
Referencias
- ↑ Broesch, James D. (2012). Circuitos programables prácticos: una guía para PLD, máquinas de estados y microcontroladores . Elsevier Science. pág. 20. ISBN 978-0323139267.
- ^ Van Houtven, Laurens (2017). Cripto 101 (PDF) . pag. 17.
- ↑ Fletcher, William (1980). Un enfoque de ingeniería para el diseño digital . Prentice-Hall. pág . 98. ISBN 0-13-277699-5.
- ↑ Fischer, P. "Aussagenlogik und Gatter" (PDF) . Universidad de Heidelberg. Archivado desde el original (PDF) el 28 de marzo de 2024 . Consultado el 21 de enero de 2024 .
- ↑ Pedroni, Volnei A. (25 de enero de 2008). Electrónica digital y diseño con VHDL . Morgan Kaufmann. ISBN 978-0-08-055755-7Consultado el 8 de noviembre de 2022 .
- ↑ Shiriff, Ken. "Dos circuitos XOR interesantes dentro del procesador Intel 386" . Consultado el 14 de enero de 2024 .
- ↑ Oklobdzija, Vojin G. (26 de diciembre de 2001). Manual de ingeniería informática . CRC Press. ISBN 978-0-8493-0885-7Consultado el 8 de noviembre de 2022 .
- 1 2 3 Diseño de compuertas lógicas combinacionales en CMOS (PDF) . pág. 233. Consultado el 9 de noviembre de 2022 .
- ↑ Annaratone, Silvia (6 de diciembre de 2012). Diseño de circuitos CMOS digitales . Springer Science & Business Media. ISBN 978-1-4613-2285-6Consultado el 8 de noviembre de 2022 .
- 1 2 Ferdjallah, Mohammed (15 de junio de 2011). Introducción a los sistemas digitales: modelado, síntesis y simulación con VHDL . John Wiley & Sons. pág. 38. ISBN 978-1-118-00770-9Consultado el 9 de noviembre de 2022 .
- ↑ Ross, Dickon; Lowe, Doug (24 de septiembre de 2013). Electrónica todo en uno para principiantes - Reino Unido . John Wiley & Sons. pág. 647. ISBN 978-1-118-58971-7Consultado el 9 de noviembre de 2022 .
- ↑ Shustov, Michael A. (2023-07-04). "La "XOR" frente a la "Suma módulo 2"" . www.edn.com .
- ↑ 74LVC1G386 Archivado el 29/12/2009 en la hoja de datos de Wayback Machine
- ↑ "Comparación de diferentes técnicas de diseño de compuertas XOR y AND mediante una herramienta de simulación EDA" .
Las compuertas XOR y AND son los bloques de construcción básicos más importantes de cualquier aplicación VLSI.
- ↑ Rabaey, Jan M. (1996). Circuitos integrados digitales : una perspectiva de diseño . Upper Saddle River, NJ: Prentice-Hall. ISBN 978-0-13-178609-7.
- Puertas lógicas
- Álgebra booleana
- electrónica digital