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

22

Acabo de empezar 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 he aprendido. Para mí, debería comportarse como una puerta de paridad, dando una salida alta cada vez que las entradas reciben una combinación impar. Sin embargo, no lo hace para más de dos entradas. ¿Cómo debería comportarse?

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

    
pregunta gabrieljcs

7 respuestas

22

Hay diferentes puntos de vista con respecto a cómo debería comportarse una puerta 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 exclusivo-OR 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 de mi memoria oxidada la he visto en una biblioteca de células ASIC. Uno de los símbolos estándar internacionales para una compuerta XOR es un rectángulo etiquetado con =1 que parece ser más coherente con la definición "1 y solo 1".

EDITAR: la definición de exclusivo-OR 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 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 discuten esta situación confusa incluyen XOR: The Interesting Gate y < a href="http://tams-www.informatik.uni-hamburg.de/applets/hades/webdemos/10-gates/00-gates/xor.html"> gate demos 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.

    
respondido por el Joe Hass
9

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

De ahí esta tabla de verdad:

PuedeencontrarunapuertaXORquetengamásdedosentradas,peroenrealidadnoesunaXORde3entradas.EllosXORingresanlasentradasAyByelresultadodeellos"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 que se muestran en XOR:

Un algoritmo de paridad simple es XORing bits en un mensaje recibido a través de, por ejemplo, Ethernet. Si el remitente y el destinatario 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 pueda ser 0 cuando esté XORed) entonces el receptor puede saber si 1 bit ha sido volteado. Esta es una comprobación de paridad errónea, ya que solo puede encontrar un número impar de cambios de bits, pero muestra el concepto.

    
respondido por el iQt
1

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

    
respondido por el Andy aka
1

Hice un poco de búsqueda al ver tu 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 enlace

    
respondido por el Mahesh Mohandasan
1

Entonces, fui allí y probé! Escribí un pequeño archivo de verilog, simulé y observé la forma de onda.

Resulta que la interpretación correcta para verilog es: Hay una cantidad impar de 1 en la entrada AKA Interpretation 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

    
respondido por el mentatkgs
0

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, una XOR de tres entradas le dará 0 para la entrada de todo-1. Esto no se usa con mucha frecuencia y, por lo tanto, hay pocas puertas XOR de 3 entradas.

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

    
respondido por el Duggie
-1

Según la lógica de la entrada OR simple de entradas múltiples, asume el valor más alto entre todas las entradas, sin embargo, no toma una decisión. En lo que respecta a EXOR (mezclado con la mitad del sumador como una coincidencia, como no ocurre en la lógica de múltiples valores de EXOR), se decide cuál es la más alta entre las entradas, pero si es la más alta (incluido 0 + 0). 1 + 1) son lo mismo; falla al seleccionar entre las entradas, lo que significa que no puede tomar una decisión de cuál elegir. Ninguna decisión significa que la salida es cero. Por ejemplo, si se le pide a alguien que compre la cantidad máxima de dulces de una marca en una tienda y si hay dos marcas (radix = 2), 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 dulces, no puede tomar una decisión, lo que significa que la salida es cero. La misma lógica se puede extender para 3, 4 o más marcas (radix superior) de dulces. Esto es igualmente aplicable a la lógica multivalor. (x + x + .. + x = 0, donde x puede tener cualquier valor), en tres entradas EXOR gate 1 + 1 + 1 = 0 (en comparación con la interpretación normal 1 + 1 + 1 = 1 que parece ser incorrecta, siendo mezclado con paridad). V. T. Ingole, PhD

    
respondido por el vijay ingole

Lea otras preguntas en las etiquetas