← Volver al blogPuertas lógicas

Puertas lógicas de múltiples entradas: de AND de 3 entradas en adelante

Las puertas lógicas de múltiples entradas comprimen buses anchos en señales individuales. Compara implementaciones en cascada y en árbol para elegir la adecuada.

DennyDenny
8 min de lectura
Chalkboard feature illustration for “Puertas lógicas de múltiples entradas: de AND de 3 entradas en adelante”

Resumen: Una puerta AND, OR o XOR ancha puede construirse en cascada, con retardo lineal, o como árbol equilibrado, con retardo logarítmico. Ambas usan el mismo número de puertas.

Las puertas lógicas básicas operan con dos entradas. Los sistemas reales operan con muchas más. Un decodificador de direcciones de memoria puede necesitar combinar con AND 20 líneas de señal. Un generador de paridad debe aplicar XOR a todo un bus de datos. La forma de construir estas puertas anchas —en concreto, cómo organizas puertas pequeñas para crear otras mayores— tiene un impacto directo y medible en la velocidad del circuito.

Este artículo examina las dos estrategias principales para construir puertas de múltiples entradas (cascada y árbol), deriva sus fórmulas de retardo de propagación y muestra cuándo es apropiado cada enfoque.

Diagrama del componente puerta AND

Definición y papel en la jerarquía digital

Una puerta lógica de múltiples entradas es un componente digital que realiza una operación booleana básica —como AND, OR o XOR— sobre tres o más entradas para producir una sola salida. En la jerarquía de los sistemas digitales, estas puertas se sitúan justo por encima de las primitivas básicas de 2 entradas. Actúan como los «decisores» de condiciones complejas.

En una CPU de 32 bits, las señales llegan en buses completos, no en pares. La lógica de múltiples entradas comprime estas rutas de datos anchas en señales de control significativas: la base de los decodificadores y codificadores.

  • AND: la puerta de «todo o nada». Una puerta AND de nn entradas produce 1 si y solo si todas sus entradas son 1.
  • OR: la puerta de «cualquiera». Una puerta OR de nn entradas produce 1 si al menos una de sus nn entradas es 1.
  • XOR: la puerta de «paridad impar». Una puerta XOR de nn entradas produce 1 si un número impar de sus entradas es 1. Es una diferencia sutil pero fundamental respecto a la versión de 2 entradas.

Prueba el comportamiento de una puerta AND

Especificación técnica: referencia de la AND de 3 entradas

Para entender la escala, veamos la tabla de verdad de una puerta AND de 3 entradas. Para cualquier puerta de nn entradas, la tabla de verdad tendrá 2n2^n combinaciones de entrada posibles. A medida que crece nn, la tabla se expande exponencialmente, pero la lógica sigue siendo coherente.

Entrada AEntrada BEntrada CSalida Y
0000
0010
0100
0110
1000
1010
1100
1111

En esta tabla observarás que solo la última fila —en la que todas las entradas están en ALTO— produce una salida en ALTO. Esta «estricta» condición es lo que convierte la puerta AND en la herramienta principal para decodificar direcciones y generar señales de habilitación.

Expresiones booleanas y escalado

La representación matemática de estas puertas sigue las leyes estándar del álgebra booleana, en concreto la ley asociativa. Esta ley nos dice que (A⋅B)⋅C=A⋅(B⋅C)(A \cdot B) \cdot C = A \cdot (B \cdot C), lo que justifica teóricamente construir puertas grandes a partir de otras pequeñas.

Para una puerta AND de nn entradas: Y=A⋅B⋅C⋅⋯⋅NY = A \cdot B \cdot C \cdot \dots \cdot N

Para una puerta OR de nn entradas: Y=A+B+C+⋯+NY = A + B + C + \dots + N

Para una puerta XOR de nn entradas (paridad): Y=A⊕B⊕C⊕⋯⊕NY = A \oplus B \oplus C \oplus \dots \oplus N

Al pasar al ámbito de NAND y NOR, aplicamos los teoremas de De Morgan para entender cómo se comportan al escalar. Una NAND de nn entradas no es simplemente una serie de NAND, sino una operación AND seguida de una única NOT.

El compromiso crítico: retardo de propagación

Las bibliotecas físicas ofrecen un conjunto finito de fan-in de puertas, y la lógica programable asigna las funciones booleanas a sus tablas de consulta y recursos de enrutamiento disponibles. Por eso una reducción muy ancha, como una AND de 128 entradas, normalmente se descompone en celdas pequeñas o LUT en lugar de implementarse como un único símbolo ideal.

La forma de organizar esas puertas pequeñas afecta al retardo de propagación (tpdt_{pd}), el tiempo que tarda un cambio en una entrada en afectar a la salida. Las ecuaciones siguientes suponen primero puertas idénticas de 2 entradas con retardo tgatet_{gate} e ignoran el enrutamiento y la carga. Ese modelo muestra la profundidad lógica; un resultado físico también depende del retardo de la celda asignada, el tiempo de transición, el fan-out, el cableado, la ubicación y el punto de operación.

Estrategia A: cascada (la opción lenta)

La forma más intuitiva de construir una puerta AND de 8 entradas es encadenarlas. Tomas la salida de la primera AND de 2 entradas, la llevas a la siguiente y así sucesivamente.

Output=((((((A⋅B)⋅C)⋅D)⋅E)⋅F)⋅G)⋅HOutput = ((((((A \cdot B) \cdot C) \cdot D) \cdot E) \cdot F) \cdot G) \cdot H

En esta estructura «en cascada», la señal de la entrada A debe atravesar siete puertas consecutivas para llegar a la salida. El retardo total es lineal:

Tcascade=(n−1)⋅tgateT_{cascade} = (n-1) \cdot t_{gate}

Si tgatet_{gate} es 1 ns, la puerta de 8 entradas tarda 7 ns. Puede no parecer mucho, pero en un sistema síncrono este retardo limita la frecuencia máxima del reloj.

Estrategia B: estructura en árbol (la opción rápida)

Una estructura «en árbol» o «de torneo» empareja las entradas: A y B van a una puerta, C y D a otra, E y F a una tercera y G y H a una cuarta. Las salidas de esas cuatro puertas alimentan después dos puertas en la siguiente capa, que finalmente alimentan una última puerta.

Ahora el retardo total crece logarítmicamente:

Ttree=⌈log⁡2(n)⌉⋅tgateT_{tree} = \lceil \log_2(n) \rceil \cdot t_{gate}

Para nuestra puerta de 8 entradas: ⌈log⁡2(8)⌉=3\lceil\log_2(8)\rceil = 3. El retardo es solo 3×1ns=3ns3 \times 1\text{ns} = 3\text{ns}, menos de la mitad de los 7 ns de la cascada.

Comparación lado a lado

MétricaCascada (n=8)Árbol (n=8)
Fórmula del retardo(n−1)⋅tgate(n-1) \cdot t_{gate}⌈log⁡2(n)⌉⋅tgate\lceil\log_2(n)\rceil \cdot t_{gate}
Retardo total7⋅tgate7 \cdot t_{gate}3⋅tgate3 \cdot t_{gate}
Número de puertasn−1=7n - 1 = 7n−1=7n - 1 = 7
Complejidad del cableadoCadena simpleÁrbol binario equilibrado

Bajo el modelo de puertas idénticas de 2 entradas, ambas estructuras usan n−1n-1 puertas, mientras que el árbol equilibrado reduce la profundidad lógica del peor caso de n−1n-1 a ⌈log⁡2n⌉\lceil\log_2 n\rceil. En una implementación real, la síntesis puede usar puertas más anchas, LUT, factorización o estructuras específicas de la ubicación, por lo que el número de puertas y el retardo no tienen por qué seguir exactamente las fórmulas ideales.

Plantilla de sistema de seguridad con puerta AND

Abre el circuito de alarma de seguridad

Demostración interactiva: visualiza el retardo en digisim.io

La mejor forma de entender la diferencia de retardo es construir ambas estructuras y observarlas lado a lado.

  1. Preparación: coloca ocho componentes INPUT_SWITCH en el lienzo.
  2. La cascada: construye una cadena de siete puertas AND. Conecta la salida final a un OUTPUT_LIGHT.
  3. El árbol: debajo, construye la estructura en árbol usando siete puertas AND. Conecta su salida final a un segundo OUTPUT_LIGHT.
  4. La prueba: enciende todos los interruptores. Ambas luces se encienden. Ahora apaga el primer interruptor (entrada A).

Si el simulador modela el retardo por puerta, el osciloscopio debería mostrar que la salida del árbol se estabiliza antes para una transición que recorre toda la cascada. En un modelo ideal sin retardo, ambas salidas se actualizan en el mismo instante simulado; cuenta en su lugar los niveles lógicos dependientes.

Verificación con el osciloscopio

Conecta el canal 1 a la entrada alternada, el canal 2 a la salida del árbol y el canal 3 a la salida de la cascada. En el modelo didáctico de retardos iguales, las diferencias son aproximadamente 3tgate3t_{gate} y 7tgate7t_{gate}. Este experimento explica la profundidad del camino; el cierre temporal de una FPGA o ASIC de producción usa análisis temporal estático con la netlist y el enrutamiento implementados. Un osciloscopio de hardware o un analizador lógico puede diagnosticar una placa concreta, pero no cubre todas las esquinas del silicio y del entorno.

Oscilloscope Component

Aplicaciones reales

1. Decodificación de direcciones de memoria

Un periférico mapeado en memoria suele responder a un intervalo de direcciones. Los bits de dirección de orden alto se comparan con un patrón base, mientras que los bits de orden bajo seleccionan registros o ubicaciones dentro del dispositivo.

En el nivel booleano, una coincidencia exacta es una AND de bits de dirección directos o complementados. Las implementaciones físicas factorizan esa comparación en las puertas, celdas comparadoras o LUT disponibles y pueden decodificar jerárquicamente. La estructura correcta es la que cumple los requisitos temporales y eléctricos del bus después de implementarse, no un árbol binario dibujado a mano que sea obligatorio.

2. Generación de paridad del bus de datos

La fiabilidad lo es todo. Al enviar un byte de datos, a menudo añadimos un «bit de paridad» para detectar errores. Un bit de paridad par es 1 si el número de unos de los datos es impar, de modo que el recuento total sea par.

Eso es exactamente lo que hace una puerta XOR de múltiples entradas.

Componente puerta XOR

Un árbol equilibrado de puertas XOR de 2 entradas tiene seis niveles lógicos para 64 entradas porque log⁡264=6\log_2 64=6. La paridad y códigos de corrección de errores más avanzados se usan en muchas rutas de almacenamiento y comunicación, pero el código exacto, la cobertura y el punto de actualización dependen de la arquitectura. Consulta XOR frente a XNOR en la detección de errores.

Temas relacionados del currículo

Mientras sigues explorando la lógica digital en digisim.io, estos temas relacionados profundizarán tu comprensión:

  • Puertas lógicas básicas (las primitivas)
  • Álgebra booleana y De Morgan (las matemáticas)
  • Retardo de propagación y diagramas temporales (el rendimiento)
  • Decodificadores (la aplicación principal de AND de múltiples entradas)

Resumen: pautas de diseño

PautaDetalle
Reduce la profundidad dependienteUna reducción equilibrada es un buen punto de partida cuando solo hay puertas de 2 entradas. Deja que la síntesis la asigne a los recursos objetivo.
Respeta el fan-in de la bibliotecaEl fan-in disponible y eficiente depende de la familia lógica, la biblioteca de celdas estándar o la arquitectura LUT de la FPGA.
Considera el fan-outCada salida de puerta que controla muchas entradas introduce un retardo adicional. Añade buffers a los nodos con mucho fan-out.
Incluye enrutamiento y cargaUn número igual de puertas no implica la misma área, potencia, ubicación ni retardo después de la implementación.
Usa la verificación adecuadaUsa DigiSim para comparar la profundidad lógica y el retardo modelado; usa la herramienta de implementación objetivo para la temporización física.

El salto de las puertas de 2 entradas a los sistemas de múltiples entradas es el primer paso hacia la arquitectura de computadores, donde la corrección es necesaria, pero el rendimiento es el verdadero reto de diseño.

Continúa con retardo de propagación y temporización, o abre la referencia del componente puerta AND e intenta cablear un árbol de 8 entradas frente a una cascada.

Convierte la idea en un circuito funcional.