Explorador de Puertas Lógicas

haz clic en las entradas y observa cómo fluyen las señales

Cargando simulación interactiva...

Solo con NAND se puede construir cualquier circuito 🖖

NAND es funcionalmente completo. Puedes construir NOT, AND y OR con combinaciones de NAND, por eso muchos chips reales prefieren un conjunto primitivo pequeño.

Cada puerta es una diminuta decisión sí/no 🖖

Una puerta lógica lee sus entradas como HIGH (1) o LOW (0) y produce un único 1 o 0 según una regla fija: AND quiere ambas altas, OR al menos una, XOR quiere que difieran. La tabla de verdad de abajo es la definición completa de la puerta: cada combinación de entradas con su salida, y no hay nada más que saber. Apila suficientes de estas pequeñas decisiones y obtienes sumadores, memoria y, finalmente, un procesador entero.

Un circuito correcto todavía puede parpadear 🖖

Las señales no llegan al instante: cada puerta añade un pequeño retardo de propagación, y dos caminos hacia la misma salida pueden tener longitudes distintas. Cuando cambia una entrada, la salida puede mostrar por un instante el valor equivocado antes de estabilizarse, lo que se llama glitch o azar (hazard), aunque la tabla de verdad sea perfectamente correcta. Observa la tira temporal: el flanco de salida sigue al de entrada exactamente con ese retardo de puerta, y en circuitos de varias puertas esos retardos se acumulan en carreras visibles.

LÓGICA DIGITAL — ¿QUÉ BLOQUE HACE EL TRABAJO?

¿En qué caso lógico estás?

Todo circuito digital es una tabla de verdad disfrazada de esquema. La pregunta nunca es qué hace una puerta, sino qué tabla necesitas: una decisión tomada a partir de dos bits, toda una familia lógica construida con una única pieza, aritmética con su acarreo, o un conmutador que elige una señal entre varias. Estos cuatro casos cubren casi todo lo que pide un primer curso.

Una decisión a partir de dos bits: elige la puerta por su columna Y = A ⊕ B
Solo dispones de un tipo de puerta: con NAND basta NOT A = NAND(A, A)
Aritmética, no decisión: la suma es XOR y el acarreo es AND S = A ⊕ B, C = A ∧ B
Elegir en vez de combinar: usa un multiplexor Y = A·¬S + B·S

01

Una decisión a partir de dos bits: elige la puerta por su columna

Lo que sabes: Dos entradas, una salida y una regla que cabe en cuatro filas. Elige la puerta cuya columna de salida coincida con la regla que quieres.

Lógica: Y = A ⊕ B

Ejemplo resuelto: XOR con A = 1 y B = 0 da 1; esa misma puerta da 0 en cuanto las dos entradas coinciden

Abrir este caso: XOR difiere
Una decisión a partir de dos bits: elige la puerta por su columna. Cuatro filas fijan la puerta por completo; la fila resaltada es la entrada que pusiste. Dos entradas, una salida y una regla que cabe en cuatro filas. Elige la puerta cuya columna de salida coincida con la regla que quieres.
Cuatro filas fijan la puerta por completo; la fila resaltada es la entrada que pusiste.

02

Solo dispones de un tipo de puerta: con NAND basta

Lo que sabes: NAND es funcionalmente completa. Cualquier otra puerta se puede cablear usando solo copias de ella, y con ello cualquier circuito que sepas describir con una tabla de verdad.

Lógica: NOT A = NAND(A, A)

Ejemplo resuelto: NAND(1, 1) = 0. Si unes las dos entradas, NAND(A, A) = NOT A; realimentando eso, dos NAND dan un AND

Abrir este caso: NAND universal
Solo dispones de un tipo de puerta: con NAND basta. Una NAND con las entradas unidas es un inversor, y sobre ese truco se construye todo lo demás. NAND es funcionalmente completa. Cualquier otra puerta se puede cablear usando solo copias de ella, y con ello cualquier circuito que sepas describir con una tabla de verdad.
Una NAND con las entradas unidas es un inversor, y sobre ese truco se construye todo lo demás.

03

Aritmética, no decisión: la suma es XOR y el acarreo es AND

Lo que sabes: Sumar dos bits produce una respuesta de dos bits. El bit bajo es A XOR B y el alto, el acarreo, es A AND B.

Lógica: S = A ⊕ B, C = A ∧ B

Ejemplo resuelto: 1 + 1 da suma = 0 y acarreo = 1, es decir binario 10, la única de las cuatro filas en la que se dispara el acarreo

Abrir este caso: semisumador 1+1
Aritmética, no decisión: la suma es XOR y el acarreo es AND. Las mismas dos entradas alimentan ambas puertas: XOR produce el bit de suma y AND el acarreo. Sumar dos bits produce una respuesta de dos bits. El bit bajo es A XOR B y el alto, el acarreo, es A AND B.
Las mismas dos entradas alimentan ambas puertas: XOR produce el bit de suma y AND el acarreo.

04

Elegir en vez de combinar: usa un multiplexor

Lo que sabes: Dos entradas de datos y una línea de selección. La salida copia aquella entrada a la que apunta la selección e ignora la otra por completo.

Lógica: Y = A·¬S + B·S

Ejemplo resuelto: A = 0, B = 1, S = 1 → salida = 1, porque salida = A·(NOT S) + B·S

Abrir este caso: selección MUX
Elegir en vez de combinar: usa un multiplexor. La línea de selección deja pasar una entrada hacia la salida y bloquea la otra. Dos entradas de datos y una línea de selección. La salida copia aquella entrada a la que apunta la selección e ignora la otra por completo.
La línea de selección deja pasar una entrada hacia la salida y bloquea la otra.
Referencias (1)

Problema resuelto al detalle

  1. Un medio sumador construido únicamente con puertas NAND, y por qué cinco es el mínimo 8 pasos

    Una fábrica de semiconductores le venderá un componente y solo uno: la puerta NAND de dos entradas. Construya el medio sumador que dibuja la herramienta bajo Medio sumador —un bit de suma, un bit de acarreo— sin ningún otro elemento. ¿Cuántas puertas NAND se necesitan y cómo sabría que ha encontrado la opción más barata?

    A B & G1 & G2 & G3 & G4 S & G5 C
    1. Empiece por NOT, que es lo más sencillo a lo que se puede reducir una NAND. Conecte ambas entradas al mismo cable. La puerta pregunta «¿están ambas en alto?», y como ambas son A, responde siempre que A no lo está.

    2. La puerta AND cuesta una más. Una NAND ya es una AND con su respuesta invertida, de modo que vuelva a invertirla: introduzca la salida en una NOT, que según el paso 1 es una segunda NAND con las entradas unidas. La puerta OR requiere tres, invirtiendo cada entrada antes de una NAND, lo que equivale a De Morgan leído al revés.

    3. XOR es la que se resiste. El truco consiste en calcular el término intermedio una sola vez y volverlo a aplicar contra cada entrada por turno. Llámelo C e introdúzcalo en una NAND junto con A, y de nuevo junto con B.

    4. Desarrolle D. Dice «no ambas A y (no A o no B)». La mitad «A y no A» de esa expresión nunca puede darse, por lo que se elimina, y lo que queda es breve. E es la misma expresión con las letras intercambiadas.

    5. La última NAND las une. De Morgan transforma una NAND de dos negaciones en una OR simple, y una OR de «A pero no B» con «B pero no A» es lo que significa XOR. Cuatro puertas para el bit de suma.

    6. Ahora, el acarreo. Es A AND B, cuyo coste fijó en dos puertas en el paso 2; pero la primera de esas dos es C, y C ya se encuentra en un cable en medio de la XOR que acaba de construir. Léala una tercera vez y únala a sí misma.

    7. Así que son cinco, no seis. Acabas de construir la mitad de la explicación: según el paso 2, el acarreo cuesta por sí solo 2 puertas; la suma cuesta 4 según el paso 5; y en el paso 6 observas que ambos comparten exactamente una puerta. Por tanto, 2 + 4 − 1 = 5. Afirmar que no existe una solución con menos de cinco puertas es otra cuestión, y nada de esta página lo demuestra: el resultado procede de examinar exhaustivamente todas las redes NAND de seis puertas o menos con dos entradas, lo cual es un cálculo, no una demostración.

    8. El recuento de puertas no dice nada sobre el tiempo. Siga el acarreo: sale de G1 y va directo a G5, con una profundidad de dos puertas. La suma tiene que pasar por G2 o G3 y luego por G4, de modo que su profundidad es de tres puertas. Si cuenta las rutas desde A hasta la suma, verá que ni siquiera tienen la misma longitud entre sí.

    Respuesta

    Cinco puertas NAND, y cinco es el mínimo. Ajuste la herramienta en Medio sumador con A = 1 y B = 1 y dirá el bit de suma pasa a 0 y el acarreo pasa a 1. Siga esa fila en el esquema: C = 0, luego D = E = 1, a continuación S = 0, y la puerta de acarreo al evaluar C contra sí misma da 1. C se calcula una vez y se lee tres veces, y en eso consiste todo el ahorro.

    Las profundidades del paso 8 tienen una consecuencia que la tabla de verdad no puede mostrar. Aborde 1 + 1 desde la fila superior, con A ya en alto y B subiendo. El acarreo pasa a nivel alto tras dos retardos de puerta; la suma no desciende hasta el tercero. Durante un retardo de puerta completo, los dos pines de salida marcan 1 y 1, lo cual, como acarreo y suma, es 11 en binario, y el sumador afirma brevemente que 1 + 1 = 3. Un chip con señal de reloj nunca lo percibe, porque el período de reloj se elige para que sea más largo que el camino más lento a través de la lógica. Elegirlo demasiado corto es en lo que consiste una violación de tiempos.

Problemas de ejemplo

  • XOR difiere - XOR A=1 B=0 -> 1: verdadero cuando las entradas difieren
  • NAND universal - NAND(1,1) = 0: NAND invierte el AND y con ella se pueden construir todas las demás puertas
  • semisumador 1+1 - Semisumador 1+1: Suma=0 Acarreo=1; el mismo acarreo se propaga en cada CPU
  • selección MUX - Multiplexor S=1 dirige la entrada B a la salida sin importar A