¿Cómo se supone que funciona un XOR con más de 2 entradas?

27

Acabo de comenzar a estudiar ingeniería informática y tengo algunas dudas sobre el comportamiento de la puerta XOR.

He estado proyectando circuitos con Logisim, cuyos XOR se comportan de manera diferente a lo que aprendí. Para mí, debería comportarse como una puerta de paridad, dando un alto rendimiento siempre que las entradas reciban una combinación extraña. Sin embargo, no lo hace para más de dos entradas. ¿Cómo debe comportarse?

También leí en un libro que las compuertas XOR no se producen con más de dos entradas. ¿Es eso correcto? ¿Por qué?

gabrieljcs
fuente
1
¿Por qué no (o casi nunca) con> 2 entradas? Dos usos típicos de las puertas XOR son 1) para verificar la igualdad y 2) para controlar / manipular la polaridad de una señal. Ninguno de los dos tiene sentido para más de 2 entradas.
Wouter van Ooijen
1
¿No se representaría la suma en un sumador completo como A ^ B ^ Cin?
gabrieljcs
Puede expresarlo de esa manera, pero eso no significa que sea una buena forma de implementarlo.
Wouter van Ooijen
1
Acabo de comprobar mi versión de Logisim, y el "1 y solo 1" parece ser el comportamiento predeterminado, pero existe la opción de cambiarlo a una función de paridad impar.
Joe Hass
De hecho, Joe. Este enlace tiene una discusión al respecto, respondida por el desarrollador de Logisim, Carl Burch.
gabrieljcs

Respuestas:

23

Existen diferentes puntos de vista sobre cómo debe comportarse una compuerta OR exclusiva con más de dos entradas. Muy a menudo, una puerta XOR de este tipo se comporta como una cascada de puertas de 2 entradas y realiza una función de paridad impar. Sin embargo, algunas personas interpretan el significado de OR exclusivo más literalmente y dicen que la salida debería ser un 1 si y solo si exactamente una de las entradas es un 1. Parece recordar que Logisim usa la última interpretación, y en algún lugar mi oxidado recuerdo lo he visto en una biblioteca celular ASIC. Uno de los símbolos estándar internacionales para una puerta XOR es un rectángulo etiquetado con el =1que parece ser más consistente con la definición de "1 y solo 1".

EDITAR: La definición de OR exclusivo como "1 y solo 1" es poco común pero se puede encontrar. Por ejemplo, IEEE-Std91a-1991 da el símbolo para el OR exclusivo en la p. 62 con la nota: "La salida se encuentra en su estado 1 si una y solo una de las dos entradas se encuentra en su estado 1". Para más de 2 entradas, el estándar recomienda usar el símbolo de "paridad impar" en su lugar. Los sitios web que analizan esta situación confusa incluyen XOR: The Interesting Gate y demostraciones de gate en TAMS . Una búsqueda en Google también mostrará sitios que afirman que, estrictamente hablando, no existe una puerta XOR con más de dos entradas.

Joe Hass
fuente
44
En lo que a mí respecta, el segundo (1 y solo 1) es la única forma correcta de hacer esto; cualquier otra cosa no es realmente exclusiva .
Polinómico el
3
No hay un punto de vista diferente, ambos puntos son técnicamente correctos, sin embargo, "1 si solo si exactamente una de las entradas es un 1" no se expande como podría pensar. Cuando conecta en cascada los XOR de 2 entradas, cada salida alimenta los pines de un tercer XOR, esto muestra el punto anterior. Las puertas de entrada múltiple se derivan de sus primitivas de 2 entradas. Por lo tanto, la tabla de verdad de 4 entradas es ((A⊕B) ⊕ (C⊕D)) que da como resultado una salida final 1 si hay un número impar de entradas verdaderas.
Kris Bahnsen
@KrisBahnsen Como señaló el OP, de hecho hay dos puntos de vista (pruebe el XOR predeterminado en Logisim si necesita evidencia). Su afirmación de que las puertas de múltiples entradas se derivan de primitivas de 2 entradas se da como si fuera una verdad universal, pero ya le hemos dado un contraejemplo.
Joe Hass
@JoeHass, nunca he usado logisim, principalmente uso LogicWorks; en el cual, un XOR de entrada múltiple se comporta como describí anteriormente, un número impar de entradas verdaderas es una salida verdadera La página wiki en XOR (en.wikipedia.org/wiki/XOR) está de acuerdo en que lo que dije también es cierto. Tampoco he visto nunca un XOR IC de entradas múltiples, por lo que no puedo recurrir a las hojas de datos para tratar de refutar lo que dije. Logisim parece ser lo único que implementa el esquema XOR de entradas múltiples con la lógica "1 si y solo ..." Si puede encontrar otra fuente, admitiré que estoy equivocado y que hay múltiples definiciones de XOR.
Kris Bahnsen
Buena aclaración, gracias por dedicar tiempo a investigar los estándares mucho más de lo que lo hice.
Kris Bahnsen
11

En un XOR de dos puertas, la salida es alta cuando las entradas son diferentes. Si las entradas son iguales, la salida es baja.

De ahí esta tabla de verdad:

ingrese la descripción de la imagen aquí

Puede encontrar una puerta XOR que tenga más de dos entradas, pero en realidad no son XOR de 3 entradas. Ellos XOR ingresan A y B y el resultado de ellos "R" es entonces XOR con la entrada C. Y el resultado de R XOR C es entonces XOR con la entrada 4 y así sucesivamente.

Aquí hay una tabla de verdad para las tres entradas XOR que se muestran:

ingrese la descripción de la imagen aquí

Un algoritmo de paridad simple es XORing bits en un mensaje recibido a través de, por ejemplo, Ethernet. Si el remitente y el receptor saben que XORing los bits del mensaje deben ser 0 (se proporciona un bit en el mensaje para poder agregar uno de modo que un mensaje de cualquier longitud puede ser 0 cuando XORed), entonces el receptor puede saber si 1 El bit ha sido volteado. Esta es una mala comprobación de paridad, ya que solo puede encontrar un número impar de cambios de bits, pero muestra el concepto.

iQt
fuente
1
Soy matemático, esa respuesta me parece horrible. Entiendo que es la salida generalmente prevista por un XOR de 3 entradas, pero 01101000 me parece mucho más lógico. + Buena respuesta.
Ben Crossley
1

Si toma 4 entradas y alimenta dos a una XOR y dos a otra, tome las dos salidas XOR y alimente a una tercera XOR, su salida hace lo que cree que debería (creo).

Andy alias
fuente
1
Me preocupan más los porqués, no los cómo. Gracias por la respuesta, sin embargo.
gabrieljcs
@root, en realidad, preguntaste "¿Cómo debería comportarse?" No preguntaste por qué en ningún lado. Esta es una respuesta correcta, produce ((A⊕B) ⊕ (C⊕D)) que es lo mismo que un XOR de 4 entradas, que es lo mismo que múltiples XOR de 2 entradas en cascada.
Kris Bahnsen
Tienes razón. Perdón por el malentendido.
gabrieljcs
1

XOR no es completamente una puerta de paridad. Si define la salida de XOR como 1 cuando una y solo una de las entradas es 1, entonces una XOR de tres entradas le daría 0 para la entrada all-1. Esto no se usa con mucha frecuencia, por lo que hay pocas puertas XOR de 3 entradas.

Lo que la mayoría de la gente quiere decir cuando dice que XOR es la adición del módulo 2, que es un verificador de paridad exactamente La mayoría de las compuertas etiquetadas como XOR de 3 entradas son, de hecho, compuertas de adición de módulo 2. Para dos entradas, la adición del módulo 2 es lo mismo que XOR, pero el 0 del XOR descrito anteriormente es, en cambio, un 1 en las puertas del módulo 2. Las compuertas del módulo 2 con un número arbitrario de entradas se pueden producir a partir de compuertas XOR simples de dos entradas.

Duggie
fuente
1

Hice un poco de búsqueda al ver su pregunta y encontré un IC que es una puerta XOR de 3 entradas. 74LVC1G386 de nxp. el enlace al sitio nxp que muestra los resultados de búsqueda para este número de pieza en el sitio nxp es http://www.nxp.com/search?q=74lvc1g386&type=keyword&rows=10

Mahesh Mohandasan
fuente
2
Gracias por contribuir, pero su respuesta será inútil si NXP cambia su motor de búsqueda. Resuma lo que encontró aquí para que tenga un valor duradero.
Joe Hass
Solo busqué para ver si hay algún fabricante que proporcione a XOR más de 3 entradas y encontré esta ... así que pensé que ayudaría a compartirla ... aquí hay un enlace a su hoja de datos nxp.com/documents/ data_sheet / 74LVC1G386.pdf
Mahesh Mohandasan
1
¡Por favor no publique otro enlace! ¡Cuéntanos cómo funciona la cosa!
Joe Hass
es una puerta XOR de 3 entradas que funciona tal como la hemos estudiado / conocido. es decir, proporciona un alto p / p para un número impar de entradas altas (a partir de la hoja de datos). Es por eso que compartió el enlace. :)
Mahesh Mohandasan
1

¡Así que fui y probé! Escribí un pequeño archivo verilog, simulé y miré la forma de onda.

Resulta que la interpretación correcta para verilog es: Hay una cantidad impar de 1 en la entrada AKA Interpretación 2 de este artículo

module top (y1, y2);
output y1, y2;
reg a, b, c;
wire x1, x2;
wire t;

xor(t, a, b);
xor(x2, t, c);

assign y2 = x2;
assign y1 = x1;

xor(x1, a, b, c);

initial
begin
  $dumpfile("test.vcd");
  $dumpvars(y1, y2, a, b, c, x1, x2);

#20
#10  a = 0; b = 0; c = 0;
#10  a = 0; b = 0; c = 1;
#10  a = 0; b = 1; c = 0;
#10  a = 0; b = 1; c = 1;
#10  a = 1; b = 0; c = 0;
#10  a = 1; b = 0; c = 1;
#10  a = 1; b = 1; c = 0;
#10  a = 1; b = 1; c = 1;
#10  a = 0; b = 0; c = 0;
end

endmodule

ingrese la descripción de la imagen aquí

mentatkgs
fuente
-1

Según la lógica de la compuerta OR de entrada múltiple simple, asume el valor más alto entre todas las entradas, sin embargo, no toma una decisión. En cuanto a EXOR (estar mezclado con medio sumador es solo una coincidencia, ya que no ocurre en la lógica de valor múltiple EXOR), toma una decisión sobre cuál es el más alto entre las entradas pero si el más alto (incluyendo 0 + 0 .. 1 + 1) son los mismos, no puede seleccionar entre las entradas, lo que significa que no puede decidir cuál elegir. Sin decisión significa que la producción es cero. Por ejemplo, si se le pide a alguien que compre el número máximo de dulces de una marca en un distribuidor y si hay dos marcas (radix = 2), entonces puede seleccionar la que tenga el mayor número de dulces, pero si ambas marcas están disponibles de forma gratuita, no puede seleccionar ninguno (significa 0,0) de la misma manera si ambas marcas ofrecen el mismo número (1, 1) de los dulces que no puede tomar una decisión significa que la salida es cero. La misma lógica puede extenderse para 3, 4 o más números de marcas (radix más alta) de dulces. Esto es igualmente aplicable a la lógica de valores múltiples. (x + x + .. + x = 0 donde x puede tener cualquier valor), en tres entradas EXOR puerta 1 + 1 + 1 = 0 (en comparación con la interpretación normal 1 + 1 + 1 = 1 que parece ser incorrecta, siendo mezclado con paridad). VT Ingole, PhD

vijay ingole
fuente
Esta explicación es innecesariamente complicada y no parece responder definitivamente la pregunta de todos modos.
duskwuff