Reescribiendo una expresión booleana solo usando NAND

1

Así que tenía una tabla de verdad y, al utilizar un mapa de Karnaugh, simplifiqué una función. Obtuve.

\ $ f = \ overline {A_3} A_2 \ overline {A_1} + \ overline {A_2} \ overline {A_0} + A_3 \ overline {A_0} \ $

Luego usa la propiedad distributiva del álgebra booleana:

\ $ f = \ overline {A_3} A_2 \ overline {A_1} + \ overline {A_0} (\ overline {A_2} + A_3) \ $

Ok, con esto tenemos el mínimo de puertas lógicas para usar.

Ahora necesito convertir esto a NAND. Lo que me pareció más fácil fue tomar el logigrama (o esquema eléctrico) y cambiar directamente las puertas a sus equivalentes con NAND. Obtuve:

\ $ f = \ overline {\ overline {\ overline {A_3} A_2 \ overline {A_1}} \ cdot \ overline {\ overline {A_0} \ overline {A_2 \ overline {A_3}}}} \ $

Ahora tengo dos preguntas sobre esto:

  • ¿Cómo debo proceder algebraicamente para pasar de una expresión a otra? (Sé que necesito aplicar las leyes de DeMorgan o usar el complemento de la función ... Agradecería si alguien pudiera dar una sugerencia o algo sobre cómo empezar a hacerlo.

  • Estoy pensando si hay alguna manera de simplificar la expresión NAND ... Veo que tengo \ $ A_2 \ $ dos veces y también \ $ \ overline {A_3} \ $ dos veces ... I Estoy pensando si hay alguna manera de avanzar aún más en la simplificación ... Si alguien también pudiera dar una sugerencia sobre cómo proceder para no arruinar la regla de usar solo NAND. ¡Muchas gracias!

1 respuesta

2

¿Solo 2-en NANDs?

No veo ninguna razón por la que tengas que gastar dos NAND para invertir la misma señal dos veces, si eso fue parte de tu pregunta.

Pero no estoy completamente seguro de qué pregunta está haciendo.

La forma en que abordé su problema fue diseñar una tabla:

$$ \ begin {align *} A_3 ~~ A_2 ~~~~~~~~~~~ \\ \ begin {array} {c | ccccc} ~~ A_1 ~ A_0 ~~ & &erio; 00 & 01 & 10 & 11 \\ \ hline \\ 00 & &erio; 1 & 1 & 1 & 1 \\ 01 & &erio; 0 & 1 & 0 & 0 \\ 10 & &erio; 1 & 0 & 1 & 1 \\ 11 y amp; &erio; 0 & 0 & 0 & 0 \ end {array} \ end {align *} $$

A partir de esto, fue bastante fácil ver que tres de las columnas eran idénticas y podían reemplazarse por \ $ \ overline {A_0} \ $ y que la columna restante era solo \ $ \ overline {A_1} \ $. Así que la nueva tabla se convirtió en:

$$ \ begin {align *} A_3 ~~ A_2 ~~~~~~~~~~~ \\ \ begin {array} {c | ccccc}  &erio; &erio; 00 & 01 & 10 & 11 \\ \ hline \\  &erio; &erio; \ overline {A_0} & \ overline {A_1} & \ overline {A_0} & \ overline {A_0} \ end {array} \ end {align *} $$

El resultado es el siguiente:

(Claramente, tendrá que reemplazar los inversores con compuertas NAND. Por lo tanto, hay un total de 7).

El primer inversor y la compuerta NAND a la izquierda, que aceptan \ $ A_2 \ $ y \ $ A_3 \ $, proporciona un BAJO activo para indicar cuándo \ $ A_3 ~ A_2 = 01 \ $. Si es BAJA, este hecho desactiva la puerta NAND a la que se encuentra \ $ A_0 \ $, en la parte inferior. Pero habilita la puerta NAND a la que llega \ $ A_1 \ $. Cualquiera de estos se combinan (y finalmente se invierten) para obtener el resultado deseado.

Quizás alguien más podría intentarlo. Pero así es como puedo haberlo abordado.

También puede ir un enfoque totalmente algebraico. Usted dice que sabe de DeMorgan. Así que puedes jugar con la expresión que tienes para construir una serie de \ $ \ overline {A ~ B} \ $ o bien \ $ \ overline {A} + \ overline {B} \ $ términos identificables en tu expresión, haciendo ajustes a medida que avanza cuando ve algo que no es de esa forma básica.

Elegí probar un enfoque diferente.

Sin embargo, no me estoy defendiendo como un experto en esto. Tal vez uno de ellos entrará y le brindará un enfoque más riguroso y con mentalidad de acero para usted. También podría aprender de eso.

    
respondido por el jonk

Lea otras preguntas en las etiquetas