1 votos

Implementación de funciones lógicas mediante puertas universales

Como las compuertas NAND y NOR son compuertas universales, a menudo surgen preguntas como:

Hacer la salida \$f = (a + b')(cd + e)\$ mediante puertas NAND.

El problema al que me enfrento es que tardo mucho tiempo en convertir primero estas funciones lógicas en puertas AND y OR y luego en NAND. O no me queda claro el concepto o me lo estoy inventando. ¿Cuáles son algunos trucos para hacer estos problemas más rápidamente?

3voto

Dan Auclair Puntos 3063

Dos formas posibles. Se puede aprender a representar, por ejemplo, las puertas OR y AND con NANDS, y luego reemplazar cada ocurrencia de ORs y ANDs con esta implementación. Pero esto podría conducir a una solución no óptima. El segundo enfoque sería utilizar álgebra booleana y convertir tu expresión a la representación adecuada para la puerta específica utilizada. En tu ejemplo:

 f=(a+b')(cd+e) = (a'b)' ((cd)'e')'.

Ahora sólo necesitas saber cómo implementar la puerta NOT con NAND, e implementar la expresión tal cual, ya que las únicas operaciones son AND/NAND y NOT.

Actualización: La regla de álgebra booleana más útil para usar aquí son las leyes de Da Morgan que dicen:
A'+B' = (AB)' (¡Voilá! ¡Un par de NOT y OR se convierten en NAND!)
A'B' = (A+B)' (¡Un par de NOT y AND se están convirtiendo en NOR!)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X