Las leyes de De Morgan en la práctica: diseño de circuitos solo con NAND
Las leyes de De Morgan convierten NAND en OR con burbujas y NOR en AND con burbujas. Aplícalas para construir circuitos solo con NAND o NOR y optimizar lógica multinivel.
Resumen: Las dos identidades de De Morgan — y — permiten intercambiar AND por OR (y viceversa) distribuyendo la inversión. La ventaja práctica es que cualquier función lógica puede implementarse solo con NAND o solo con NOR, que es exactamente lo que hacen los diseñadores de chips CMOS y los sintetizadores de FPGA.
Las dos identidades de De Morgan — y — son fáciles de memorizar. La pregunta más difícil es cómo las usan realmente los ingenieros en activo. La respuesta abarca el diseño CMOS a nivel de transistor, la síntesis de FPGA, las implementaciones solo con NAND y solo con NOR, y la optimización de circuitos multinivel.
Este artículo se centra en aplicar las leyes de De Morgan en situaciones de diseño reales: cómo reducen el número de puertas en circuitos reales, cómo permiten implementar cualquier lógica solo con NAND o NOR y cómo el simulador hace evidentes las equivalencias.
Recordatorio rápido: las dos leyes
Como referencia, las dos identidades de De Morgan:
Se generalizan a variables:

Explorar el comportamiento de la puerta NAND
Aplicación 1: conversión a una implementación solo con NAND
En CMOS estático, una puerta NAND de dos entradas utiliza cuatro transistores, mientras que una AND no inversora puede implementarse mediante una NAND seguida de un inversor. Esto convierte a NAND en un primitivo útil, pero no implica que todo el diseño deba usar exclusivamente puertas NAND. La síntesis de ASIC mapea la lógica sobre las celdas disponibles en una biblioteca caracterizada; la síntesis de FPGA la mapea principalmente sobre tablas de consulta y recursos dedicados.
El proceso de conversión
Cualquier expresión de suma de productos (SOP) puede convertirse a forma NAND-NAND en dos pasos:
- Comienza con la SOP:
- Aplica doble negación:
- Aplica De Morgan a la barra exterior:
El resultado es un circuito NAND-NAND de dos niveles: las NAND del primer nivel calculan y , y la NAND del segundo nivel las combina.
Ejemplo desarrollado: función de 3 variables
Convierte a una forma solo con NAND:
Paso 1: aplica doble negación:
Paso 2: aplica De Morgan a la barra exterior:
Implementación:
- Puerta 1 (NAND): entradas , , — salida
- Puerta 2 (NAND): entradas , , — salida
- Puerta 3 (NAND): las entradas son las salidas de las puertas 1 y 2 — salida
Las puertas NOT para y se implementan uniendo entre sí las dos entradas de una puerta NAND.
Número de puertas en este esquema: 3 puertas NAND + 2 inversores basados en NAND = 5 puertas NAND. El esquema AND-OR directo también utiliza cinco puertas, aunque de tres tipos distintos. Una construcción de un solo tipo resulta práctica cuando el inventario de encapsulados es limitado; una implementación en silicio debe evaluarse con los datos de área, retardo y potencia de la biblioteca de destino.
Probar la plantilla de lógica universal NAND
Aplicación 2: conversión a una implementación solo con NOR
El dual de la conversión NAND-NAND funciona para expresiones de producto de sumas (POS) y produce circuitos NOR-NOR.
El proceso de conversión
- Comienza con una POS:
- Aplica doble negación:
- Aplica De Morgan a la barra exterior:
El resultado es un circuito NOR-NOR de dos niveles: las NOR del primer nivel calculan y , y la NOR del segundo nivel las combina.
Las puertas NOR pueden ser la opción natural para lógica en producto de sumas o para una biblioteca que proporcione una celda compuesta adecuada. La elección entre formas NAND, NOR o mixtas depende del fan-in, la capacidad de excitación, la carga, la ubicación y la tecnología de destino, no de una preferencia universal.

Aplicación 3: optimización de circuitos multinivel
Los circuitos reales rara vez se limitan a dos niveles. Cuando encuentras lógica multinivel con inversiones repartidas por toda ella, las leyes de De Morgan te permiten «empujar burbujas» a través del circuito para cancelar inversiones redundantes y reducir el número de puertas.
Ejemplo desarrollado: simplificar una expresión de 4 puertas
Simplifica:
Paso 1 — aplica De Morgan a la barra exterior (la expresión interior es una suma de dos términos):
Paso 2 — cancela las dobles negaciones:
Partimos de una expresión que parecía compleja y requería 2 puertas NAND, 1 puerta NOR y un inversor de salida. Tras aplicar dos veces las leyes de De Morgan, se reduce a una sola puerta AND de 4 entradas.
Ejemplo desarrollado: empuje de burbujas en un circuito de tres niveles
Dado:
Paso 1 — aplica De Morgan a la NAND exterior:
Paso 2 — cancela las dobles negaciones:
En el nivel de los símbolos booleanos, la expresión se reduce a una puerta OR de 5 entradas con una entrada complementada. Que esta forma ocupe menos, sea más rápida o consuma menos en el hardware depende de las celdas o LUT disponibles, de su fan-in, del encaminamiento y de la carga.
Aplicación 4: síntesis de FPGA y mapeo tecnológico
Cuando escribes Verilog o VHDL, la herramienta de síntesis no traduce directamente tu código en puertas AND y OR. En su lugar, realiza mapeo tecnológico: convierte tu lógica en los primitivos específicos disponibles en la biblioteca de la FPGA o ASIC de destino. Las leyes de De Morgan son una transformación esencial en este proceso.
Cómo usan las herramientas de síntesis las leyes de De Morgan
-
Mapeo de LUT: una tabla de consulta de FPGA puede implementar cualquier función booleana que no exceda su capacidad de entradas. La síntesis simplifica y factoriza la lógica antes de empaquetar las funciones en LUT; las transformaciones de De Morgan son algunas de las reescrituras equivalentes que puede aplicar.
-
Optimización de polaridad: muchas puertas de biblioteca proporcionan de forma natural salidas o entradas invertidas. El desplazamiento de burbujas puede conservar una señal complementada útil y evitar la adición de un inversor independiente.
-
Optimización de la ruta crítica: una herramienta puede elegir una forma equivalente con NAND, NOR o una celda compuesta si la biblioteca caracterizada y la ubicación predicen un mejor resultado de temporización. La forma óptima depende de la tecnología.
Un ejemplo concreto de Verilog
Considera este código RTL:
assign y = ~(a & b) | ~(c & d);
La herramienta de síntesis reconoce . Puede utilizar puertas independientes, una celda compuesta de la biblioteca o una sola LUT de FPGA si su capacidad de entradas lo permite. El RTL especifica el comportamiento; los informes del destino seleccionado determinan el área y la temporización de la implementación.
Aplicación 5: hardware heredado y sustitución de puertas
Si trabajas con hardware antiguo o inventarios de componentes restringidos, las leyes de De Morgan son tu herramienta principal para sustituir puertas.
Las construcciones de puertas universales
Usando solo puertas NAND, puedes construir cualquier otra puerta:
| Puerta deseada | Implementación NAND | Número de puertas |
|---|---|---|
| NOT A | NAND(A, A) | 1 |
| A Y B | NAND(NAND(A,B), NAND(A,B)) | 2 |
| A O B | NAND(NAND(A,A), NAND(B,B)) | 3 |
| NOR de A y B | NAND(NAND(NAND(A,A), NAND(B,B)), NAND(NAND(A,A), NAND(B,B))) | 5 |
La construcción OR se deduce directamente de De Morgan: , que es NAND(NOT A, NOT B).
Esto también resulta útil cuando el inventario de componentes es limitado. Si solo se dispone de secciones de un 74LS00, tres secciones NAND pueden implementar una función OR, siempre que el sustituto satisfaga los requisitos del circuito original en cuanto a tensión, fan-out, temporización, potencia y tratamiento de las entradas no utilizadas.
Verificación con el osciloscopio
Al construir transformaciones de De Morgan en DigiSim, compara las salidas del circuito original y del transformado. Un OSCILLOSCOPE_8CH permite visualizar ambas salidas junto con sus entradas.
Comprobar exhaustivamente las combinaciones de entrada estables verifica la tabla de verdad. El ejercicio de las transiciones de entrada también puede mostrar diferencias representadas por el modelo de retardo de propagación del simulador, pero no determina la temporización de una implementación física concreta.
Los circuitos lógicamente equivalentes no son necesariamente equivalentes en temporización. Un esquema NAND-NAND y otro AND-OR pueden tener dos niveles lógicos y, aun así, diferir en el retardo de las celdas, el slew de entrada, el fan-out, la carga y el encaminamiento. Los niveles de inversión adicionales pueden alargar una ruta, pero solo un análisis de temporización específico del destino permite afirmar cuál es más rápido en una realización física.

Errores habituales al aplicar De Morgan
La inversión parcial
Los estudiantes a menudo recuerdan invertir cada término, pero olvidan cambiar el operador. Esto produce , lo cual es incorrecto. Cambia siempre AND por OR u OR por AND.
Entradas flotantes en circuitos NAND/NOR
Al construir circuitos solo con NAND en DigiSim, proporciona una fuente definida a cada entrada pertinente. Una entrada CMOS real que se deja flotante puede adquirir una tensión impredecible, conmutar por ruido acoplado y aumentar la corriente de alimentación. Conecta las entradas físicas no utilizadas al nivel lógico válido que indique la hoja de datos del dispositivo; en un ejercicio esquemático, utiliza la fuente CONSTANT correspondiente.
Confundir equivalencia lógica con equivalencia temporal
Dos circuitos con la misma tabla de verdad pueden tener retardos de propagación muy diferentes. Al convertir un circuito mediante las leyes de De Morgan, comprueba siempre si la transformación añade o elimina niveles de puerta.
Reto: optimización multinivel
Toma esta expresión y redúcela al número mínimo de puertas:
Pista: aplica De Morgan a la NAND exterior, cancela las dobles negaciones y observa qué queda. (Solución: . Toda la expresión es siempre verdadera: no se necesita ninguna puerta.)
Esta es una demostración potente: las leyes de De Morgan combinadas con la ley del complemento pueden eliminar a veces circuitos completos.
Continúa con los mapas de Karnaugh para un enfoque visual de las mismas simplificaciones, o repasa los fundamentos de álgebra booleana. Abre la referencia del componente NAND para cablear tú mismo una de estas conversiones.



