¿Cómo cambiar una suma de productos usando las puertas AND y OR para que solo use las puertas XOR?

0

Tengo la ecuación de SOP (Suma de productos): F = ¬A¬BC + A¬BC + A¬B¬C + ABC , que es la suma de salida de un sumador completo.

¿Podría alguien ayudarme y mostrarme cómo, mediante el uso del álgebra booleana, puedo cambiar esta expresión SOP para usar solo las puertas XOR?

En la tabla a continuación, CIN es C de la fórmula de F anterior y Suma es el resultado de F.

$$ \ begin {array} {c | c | c | c | c} \ text {A} & \ text {B} & C_ {IN} & C_ {OUT} & \ text {Suma} \\ \ hline 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 1 \\ 0 & 1 & 0 & 0 & 1 \\ 0 & 1 & 1 & 1 & 0 \\ 1 & 0 & 0 & 0 & 1 \\ 1 & 0 & 1 & 1 & 0 \\ 1 & 1 & 0 & 1 & 0 \\ 1 & 1 & 1 & 1 & 1 \\ \ end {array} $$

    
pregunta QWE

2 respuestas

2

Uno no puede implementar todas las funciones lógicas usando solo puertas XOR.

Dado que XOR es un operador lógico que obedece a la asociatividad, la función implementada usando solo puertas XOR siempre se puede escribir como $$ f = a_1 \ oplus a_2 \ oplus a_3 \ oplus \ cdots \ oplus a_n $$ donde \ $ a_1, a_2 \ ldots \ $ son las entradas.

Por lo tanto, las únicas funciones posibles que pueden implementarse utilizando las puertas XOR son:

1. Número impar de 1's

$$ \ tag1 f = \ begin {array} {| cl} 1 & \ mathrm {if} \ N = impd \\ 0 & más \ end {array} $$

Donde N es el número de 1 en la entrada. \ $ f \ $ se puede implementar como $$ f = a_1 \ oplus a_2 \ oplus a_3 \ oplus \ cdots \ oplus a_n $$

2. Número par de 1

$$ \ tag2 f = \ begin {array} {| cl} 1 & \ mathrm {if} \ N = even \\ 0 & más \ end {array} $$

se puede implementar como $$ f = a_1 \ oplus a_2 \ oplus a_3 \ oplus \ cdots \ oplus a_n \ oplus 1 $$

3. Inversor

$$ \ tag3 f = \ overline {a} $$ se puede implementar como $$ f = a \ oplus 1 $$

En su caso, SUM se puede implementar utilizando las puertas XOR solo (como se indica en (1)) pero no COUT .

    
respondido por el nidhin
1

Una puerta de tres entradas que da como resultado verdadero cuando exactamente una de sus entradas es verdadera puede usarse como una puerta NOR de dos entradas al vincular una de sus entradas a alto; también se puede usar como una entrada "A y no B" atando una entrada a la "A" deseada y dos a la "B" deseada, o como una entrada exclusiva de dos entradas o una puerta atando una entrada baja. Dichas puertas de dos entradas pueden combinarse para producir cualquier otro tipo de lógica.

El uso de una puerta de tres entradas para implementar las funciones de dos entradas anteriores puede parecer un desperdicio, pero en realidad no conozco a nadie que realmente produzca chips en masa para calcular la verdadera entrada, solo si es exactamente una entrada. -es verdaderas funciones; Dado que tales puertas solo existen en la simulación, no hay ninguna necesidad práctica de evitar incluir puertas en exceso, como si se estuvieran construyendo circuitos reales.

PS: dibujaría la puerta anterior en un esquema como un trapecio, con cada entrada en el lado largo etiquetada como "+1", y la salida en el lado corto etiquetada como "total == 1". Dicho esquema de etiquetado permitiría que una variedad de dispositivos, incluidos "total = 2", o "total < 2", total > 1 , o incluso total = 1..2 , sean anotados de manera claramente comprensible y consistente. Además, un dispositivo de este tipo podría acomodar fácilmente varias ponderaciones de entradas, y un conjunto de entradas podría usarse para derivar múltiples salidas.

Por ejemplo, considere el siguiente dispositivo [simule que es un trapecio]

    |-----._____
 ---| +16       '---.
 ---| +8  total>=10 |---
 ---| +4            |
 ---| +2   total>=9 |---
 ---| +1  _____,---'
    |-----'

El significado de dichos dispositivos en una cadena de propagación de acarreo BCD probablemente sería más claro que la combinación adecuada de puertas [las dos salidas serían "+16 OR (+8 AND (+4 OR +2))", y "+16 O (+8 Y (+4 O +2 O +1)) '].

    
respondido por el supercat

Lea otras preguntas en las etiquetas