¿Puedo obtener el NO de 3 entradas usando tantas y / o puertas, pero solo 2 puertas NO?

3

Encontré esta pregunta en un curso en línea. Creo que pertenece a la electrónica y la lógica por igual.

EDITAR: Para aclarar, si tengo A, B, C como entradas, necesito ~ A, ~ B, ~ C como salidas, por separado.

EDIT-2: Entonces, lo que hice fue construir un XOR a partir de las entradas A y B. Cuando cualquiera de ellas se establece en 1, la otra se invierte automáticamente. Pero no podrá obtener resultados simultáneos.

    
pregunta user2239690

2 respuestas

3

Es posible construir un circuito de tres entradas puramente combinatorio que consiste en un número de compuertas AND y OR junto con exactamente dos inversores independientes , con tres salidas cuyo estado estacionario < La condición / em> será la inversa de las entradas. Tenga en cuenta que la entrada del segundo inversor se verá afectada por la salida del primero, y que las tres salidas se verán afectadas por las señales de ambos inversores. En consecuencia, uno no puede usar dos de las entradas y salidas de uno de esos circuitos para que sirvan de "inversores" para otro.

Suponga que las entradas son A, B, C y las salidas son X, Y, Z. Usando las puertas AND y OR, determine si al menos dos de las entradas son altas. Invierta eso para obtener una señal que indique que al menos dos son bajas. Al alimentar esa señal junto con las señales originales en las puertas AND y OR, se genera una señal que indicaría que un número impar de entradas es alto. Invierta eso para obtener una señal que indique que un número impar es bajo.

Una vez que uno haya generado las señales mencionadas anteriormente, la salida X debe ser alta si cualquiera de las tres entradas es baja (ambos inversores tienen salida verdadera), al menos dos son bajas y B o C son verdaderas (lo que implicaría que A debe ser falso), o al menos uno es bajo y tanto B como C son verdaderos. Las salidas Y y Z se deben calcular de manera similar.

El principio puede extenderse para producir un circuito combinatorio de siete E / S utilizando tres inversores independientes y un lote de compuertas AND / OR. Primero determine si hay cuatro o más entradas altas. Invierta eso para decir que hay cuatro o más bajas. Luego, determina si el número es 2, 3, 6 o 7. Invertir eso para decir que hay 0, 1, 4 o 5. Luego, determina si el número es impar, e inviértelo para decir que es par.

Después de haber hecho todo eso, cada salida Q debe ser alta si los tres inversores tienen una salida alta (las siete entradas son bajas), o si los dos primeros inversores son altos y al menos una entrada no asociada con Q es alta, o el primer y último inversor son altos y al menos dos entradas no asociadas con Q son altas, o el primer inversor es alto y al menos tres entradas no asociadas con Q son altas, o en el segundo y tercer inversores son altos y al menos cuatro entradas no están asociadas con Q son altas, o el segundo inversor es alto y al menos cinco entradas no asociadas con Q son altas, o el primer inversor es alto y las seis entradas no asociadas con Q son altas.

Teóricamente, uno podría diseñar un circuito para 15 I / O usando cuatro inversores, o 31 usando cinco, o 63 usando seis, etc., pero la cantidad de puertas AND y OR requeridas sería alucinante.

    
respondido por el supercat
5

Quería publicar esto como un comentario, pero no tengo suficiente reputación. Aquí hay una solución, que se encuentra aquí (EE Times)

R    = (A & B) | (A & C) | (B & C)
notR = !R
S    = (notR & (A | B | C)) | (A & B & C)
notS = !S
------------------------------------------
notA = (notR & notS) | (notR & S & (B | C)) | (R & notS & (B & C))
notB = (notR & notS) | (notR & S & (A | C)) | (R & notS & (A & C))
notC = (notR & notS) | (notR & S & (A | B)) | (R & notS & (A & B))

Editar: Lo probé en matlab para estar seguro:

A   B   C    R   S   !A  !B  !C
0 | 0 | 0 || 0 | 0 || 1 | 1 | 1
0 | 0 | 1 || 0 | 1 || 1 | 1 | 0
0 | 1 | 0 || 0 | 1 || 1 | 0 | 1
0 | 1 | 1 || 1 | 0 || 1 | 0 | 0
1 | 0 | 0 || 0 | 1 || 0 | 1 | 1
1 | 0 | 1 || 1 | 0 || 0 | 1 | 0
1 | 1 | 0 || 1 | 0 || 0 | 0 | 1
1 | 1 | 1 || 1 | 1 || 0 | 0 | 0
    
respondido por el Ryan Johnson

Lea otras preguntas en las etiquetas