Álgebra de Boole: el fundamento del diseño de circuitos digitales

El álgebra de Boole define cómo los circuitos manipulan los valores TRUE y FALSE. Cubre las primitivas AND/OR/NOT y los teoremas de identidad, absorción y De Morgan.

TL;DR: El álgebra de Boole es un sistema formal para manipular valores TRUE/FALSE mediante AND, OR y NOT. Sus leyes —identidad, absorción, distribución, complemento y los teoremas de De Morgan— te permiten transformar una expresión booleana en otra equivalente más simple, lo que se traduce directamente en menos puertas y menor retardo de propagación en el silicio.

El álgebra de las ideas de George Boole, formalizada a mediados del siglo XIX, es hoy la matemática operativa de todo chip digital. Cada microprocesador, celda de memoria y pipeline gráfico se reduce, en última instancia, a las operaciones AND, OR y NOT que él definió.

Para un ingeniero o un científico de la computación, dominar las leyes de Boole no es algo académico. Simplificar una expresión booleana equivale a borrar puertas, eliminar cables y recortar picosegundos del retardo de propagación. Si puedes simplificar la matemática, puedes simplificar el silicio.

Las tres operaciones primitivas: AND, OR y NOT

Toda la lógica digital, por compleja que sea, se construye a partir de tres operaciones primitivas. Comprenderlas es comprender el alfabeto del diseño digital. En digisim.io, están representadas por componentes discretos que puedes cablear para formar lógica arbitrariamente compleja.

Diagrama del componente puerta AND

1. La operación AND

La salida es TRUE (1) únicamente cuando todas las entradas son TRUE. Piénsalo como un requisito estricto: en el sistema de seguridad de una máquina pesada, quizá quieras que el motor solo arranque si el “Botón de Arranque” está pulsado Y la “Protección de Seguridad” está cerrada. En términos de circuito, una puerta AND actúa como una conexión en serie: todos los interruptores deben estar cerrados para que circule corriente.

  • Expresión booleana: Y=ABY = A \cdot B
  • Nombre del componente: AND

2. La operación OR

La salida es TRUE (1) si al menos una entrada es TRUE. En un sistema de seguridad doméstica, la alarma debería dispararse si “se abre la puerta principal” O “se rompe la ventana trasera”. En términos de circuito, una puerta OR actúa como una conexión en paralelo: la corriente fluye si cualquier interruptor está cerrado.

  • Expresión booleana: Y=A+BY = A + B
  • Nombre del componente: OR

3. La operación NOT (inversor)

La salida es la inversa lógica de su única entrada. Si la entrada está en HIGH, la salida está en LOW, y viceversa. En términos de circuito, una puerta NOT (o inversor) invierte el nivel de la señal, convirtiendo una señal activo alto en activo bajo, o al revés.

  • Expresión booleana: Y=AY = \overline{A} (o AA')
  • Nombre del componente: NOT

Prueba el comportamiento de la puerta AND

Al aprender estas puertas por primera vez, un entorno limpio y aislado para alternar entradas y ver cómo cobra vida la tabla de verdad es de un valor incalculable.

Especificaciones técnicas: las tablas de verdad

Las tablas de verdad son la planilla fundamental de la lógica digital. Mapean toda combinación posible de entradas con la salida resultante.

Tabla de verdad de la puerta AND

Entrada AEntrada BSalida Y
000
010
100
111

Tabla de verdad de la puerta OR

Entrada AEntrada BSalida Y
000
011
101
111

Tabla de verdad de la puerta NOT

Entrada ASalida Y
01
10

¿Cuáles son las leyes del álgebra de Boole?

Con las operaciones básicas ya definidas, podemos explorar las leyes que permiten manipular y simplificar expresiones lógicas. No son reglas abstractas: son transformaciones de circuitos. Cada ley corresponde a una optimización concreta del hardware: eliminar una puerta, suprimir un cable o reducir el retardo de propagación.

Diagrama del componente puerta OR

Las leyes de identidad y aniquilación

Estas leyes definen cómo interactúan las variables con las constantes 0 y 1. Puedes verificarlas en digisim.io usando los componentes CONSTANT y CONSTANT_ZERO.

  • Ley de identidad: una variable combinada con el elemento identidad de su operación no cambia.
  • OR con 0: A+0=AA + 0 = A — Atar una entrada OR a tierra no tiene efecto sobre la salida.
  • AND con 1: A1=AA \cdot 1 = A — Atar una entrada AND a VCC no tiene efecto sobre la salida.
  • Ley de anulación (aniquilación): una variable combinada con el elemento dominante produce ese elemento.
  • OR con 1: A+1=1A + 1 = 1 — Si una entrada OR está permanentemente en HIGH, la salida siempre es HIGH, sin importar A.
  • AND con 0: A0=0A \cdot 0 = 0 — Si una entrada AND está permanentemente en LOW, la salida siempre es LOW, sin importar A.

Las leyes de complemento e idempotencia

Estas leyes gobiernan cómo una variable interactúa consigo misma o con su inversa.

  • Ley idempotente: combinar una variable consigo misma no produce cambio.
  • A+A=AA + A = A — Conectar la misma señal a ambas entradas de una puerta OR equivale a un cable directo.
  • AA=AA \cdot A = A — Conectar la misma señal a ambas entradas de una puerta AND equivale a un cable directo.
  • Ley del complemento: una variable combinada con su propia inversa produce una constante.
  • A+A=1A + \overline{A} = 1 — Una señal siempre está en HIGH o en LOW, así que una de las dos entradas OR siempre vale 1.
  • AA=0A \cdot \overline{A} = 0 — Una señal no puede estar en HIGH y en LOW a la vez, así que la AND siempre produce 0.

Las leyes conmutativa, asociativa y distributiva

Para cualquiera que venga del álgebra tradicional, la mayoría de estas leyes resulta familiar.

  • Conmutativa: A+B=B+AA + B = B + A y AB=BAA \cdot B = B \cdot A — El orden de las entradas en una puerta AND u OR no importa.
  • Asociativa: (A+B)+C=A+(B+C)(A + B) + C = A + (B + C) y (AB)C=A(BC)(A \cdot B) \cdot C = A \cdot (B \cdot C) — Puedes encadenar puertas con cualquier agrupamiento; el resultado es el mismo.
  • Distributiva (estándar): A(B+C)=AB+ACA \cdot (B + C) = A \cdot B + A \cdot C — Funciona exactamente como en el álgebra ordinaria y permite factorizar o expandir expresiones a voluntad.

Pero el álgebra de Boole tiene una segunda ley distributiva sin contrapartida en el álgebra de los números reales.

A+(BC)=(A+B)(A+C)A + (B \cdot C) = (A + B) \cdot (A + C)

Al principio resulta contraintuitiva. En matemáticas convencionales, 5+(3×4)=175 + (3 \times 4) = 17, mientras que (5+3)×(5+4)=72(5+3) \times (5+4) = 72. No son iguales. Pero en el mundo binario de la lógica booleana, esta identidad se cumple.

La clave de la intuición: si A=1A = 1, ambos lados se evalúan inmediatamente a 1. Si A=0A = 0, ambos lados se reducen a BCB \cdot C. No intentes “FOIL” el lado derecho como harías con un cuadrático — el álgebra de Boole no tiene la noción de términos al cuadrado, pues AA=AA \cdot A = A. Esta segunda ley distributiva es la piedra angular de la conversión entre las formas Suma de Productos (SOP) y Producto de Sumas (POS), las dos representaciones canónicas de cualquier función booleana.

Las herramientas pesadas: leyes de absorción y de De Morgan

Las siguientes leyes eliminan términos completos y reestructuran expresiones de forma radical. Son los caballos de batalla de la simplificación de circuitos en el mundo real.

La ley de absorción: eliminar redundancia

La ley de absorción te permite borrar puertas enteras de tu diseño sin cambiar el comportamiento.

  • A+AB=AA + A \cdot B = A
  • A(A+B)=AA \cdot (A + B) = A

Intuición para la primera forma: A+ABA + A \cdot B es verdadero si AA es verdadero, O si tanto AA como BB son verdaderos. Pero si AA ya es verdadero, la expresión entera es verdadera sin importar BB. El término ABA \cdot B es completamente redundante. En hardware, esto elimina una puerta AND y una puerta OR, reemplazándolas por un cable directo.

También existe una variante menos conocida llamada a veces teorema del consenso:

  • AB+AC+BC=AB+ACA \cdot B + \overline{A} \cdot C + B \cdot C = A \cdot B + \overline{A} \cdot C

El tercer término (BCB \cdot C) es redundante porque ya está cubierto por los otros dos en todos los casos. Es más difícil de detectar a simple vista, pero un mapa de Karnaugh lo hace visualmente evidente.

Las leyes de De Morgan: distribuir la negación

Los teoremas de Augustus De Morgan muestran cómo distribuir una operación NOT a través de AND y OR, lo que permite reestructurar expresiones invertidas.

  • Primera ley: AB=A+B\overline{A \cdot B} = \overline{A} + \overline{B} — Una puerta NAND equivale a una puerta OR con entradas invertidas.
  • Segunda ley: A+B=AB\overline{A + B} = \overline{A} \cdot \overline{B} — Una puerta NOR equivale a una puerta AND con entradas invertidas.

En términos de circuito, esta dualidad es fundamental para el diseño de chips moderno. En tecnología CMOS, las puertas NAND y NOR son físicamente más pequeñas y rápidas que las puertas AND y OR estándar, así que los diseñadores aplican rutinariamente las leyes de De Morgan para convertir la lógica en implementaciones solo-NAND o solo-NOR. Para un tratamiento más profundo, consulta nuestro artículo dedicado sobre cómo aplicar las leyes de De Morgan en la práctica.

Diagrama del componente puerta NAND

Explora la lógica universal NAND

Simulando en digisim.io: de la teoría a la prueba tangible

Una cosa es leer sobre estas leyes; otra muy distinta es verlas funcionar. Demostremos la ley de absorción, A+AB=AA + A \cdot B = A, en el lienzo de digisim.io.

Verificación paso a paso

  1. Abre el simulador: inicia un nuevo proyecto en digisim.io/circuits/new.
  2. Coloca las entradas: arrastra dos componentes INPUT_SWITCH al lienzo. Etiquétalos ‘A’ y ‘B’ con la herramienta TEXT.
  3. Construye el lado complejo:
  • Coloca una puerta AND. Conecta ‘A’ y ‘B’ a sus entradas.
  • Coloca una puerta OR. Conecta la salida de la AND a una entrada y conecta ‘A’ directamente a la otra entrada.
  • Conecta la salida de la OR a un OUTPUT_LIGHT.
  1. Construye el lado simplificado:
  • Simplemente conecta ‘A’ directamente a un segundo OUTPUT_LIGHT.
  1. El momento SimCast: usa la función SimCast para grabar tu interacción. Alterna ‘A’ y ‘B’ a través de las cuatro combinaciones. Verás que las dos luces siempre coinciden. Haga lo que haga ‘B’, a la primera luz solo le importa ‘A’.

Verificación con osciloscopio: observando la propagación

Para entender de verdad el “coste” del circuito sin simplificar, coloca un OSCILLOSCOPE_8CH en el lienzo. Conecta el canal 1 a la entrada ‘A’ y el canal 2 a la salida de tu puerta OR compleja.

Cuando alternes ‘A’, verás un pequeño retardo en la forma de onda del osciloscopio. Ese es el retardo de propagación (tpdt_{pd}). Cada puerta añade una pequeña cantidad de tiempo a la propagación de la señal. Al simplificar A+ABA + A \cdot B hasta dejar solo AA, eliminas el retardo de dos puertas (la AND y la OR), reduciendo el tpdt_{pd} total de tpd(AND)+tpd(OR)t_{pd(AND)} + t_{pd(OR)} a cero. En diseños de alta velocidad, este ahorro se traduce directamente en frecuencias de reloj más altas alcanzables.

Diagrama de la plantilla del sistema de seguridad

Abrir el circuito de alarma de seguridad

La plantilla de Alarma de Seguridad muestra cómo trabajan juntas múltiples puertas (AND, OR, NOT) en un contexto real: un terreno de juego útil para aplicar leyes de simplificación.

Aplicación en el mundo real: cuándo simplificar salva el día

Esto no se trata solo de ahorrar unas cuantas puertas en un ejercicio escolar. En sistemas reales, la simplificación se traduce directamente en hardware más barato, rápido y eficiente en energía.

Ejemplo 1: decodificación de direcciones de memoria a alta velocidad

En la arquitectura clásica Intel 8086, la CPU usa líneas de dirección para seleccionar con qué chip de memoria hablar. La lógica que habilita un chip concreto se llama decodificador de direcciones. Si la lógica del decodificador no está optimizada, la señal de “Habilitar” tarda más en llegar al chip de RAM. Esto obliga a la CPU a insertar “estados de espera” (wait states), básicamente quedándose ociosa porque la lógica es demasiado lenta. Aplicando leyes de Boole a la circuitería del decodificador, los ingenieros pueden recortar suficiente retardo para hacer funcionar todo el sistema a una frecuencia de reloj mayor.

Ejemplo 2: las banderas de estado de la ALU

La Unidad Aritmético-Lógica (ALU) es el corazón computacional de una CPU. Tras una operación, fija banderas de estado en el FLAGS_REGISTER (como Cero, Negativo o Desbordamiento). La lógica de la bandera de desbordamiento es notoriamente compleja, e involucra los acarreos de entrada y salida de los bits más significativos.

Si construyeras esto con lógica en bruto sin simplificación, terminarías con una maraña enorme de puertas. Usando las leyes de De Morgan y la propiedad distributiva, los diseñadores pueden comprimir esa lógica en unas pocas puertas NAND de alta velocidad, asegurando que las banderas estén listas en cuanto termine el cálculo.

Temas relacionados del currículo

A medida que sigas explorando la lógica digital en digisim.io, estos temas relacionados profundizarán tu comprensión:

Referencia rápida: todas las leyes de un vistazo

LeyForma ORForma AND
IdentidadA+0=AA + 0 = AA1=AA \cdot 1 = A
NulaA+1=1A + 1 = 1A0=0A \cdot 0 = 0
IdempotenteA+A=AA + A = AAA=AA \cdot A = A
ComplementoA+A=1A + \overline{A} = 1AA=0A \cdot \overline{A} = 0
ConmutativaA+B=B+AA + B = B + AAB=BAA \cdot B = B \cdot A
Asociativa(A+B)+C=A+(B+C)(A+B)+C = A+(B+C)(AB)C=A(BC)(AB)C = A(BC)
DistributivaA+BC=(A+B)(A+C)A + BC = (A+B)(A+C)A(B+C)=AB+ACA(B+C) = AB + AC
AbsorciónA+AB=AA + AB = AA(A+B)=AA(A+B) = A
De MorganA+B=AB\overline{A+B} = \overline{A}\cdot\overline{B}AB=A+B\overline{AB} = \overline{A}+\overline{B}
Doble negaciónA=A\overline{\overline{A}} = A

Tu turno: pon el conocimiento en práctica

El álgebra de Boole es el lenguaje que tiende el puente entre una idea abstracta y una pieza de silicio funcional. Estas leyes son las herramientas matemáticas con las que esculpes la lógica, eliminas desperdicio y creas diseños tan eficientes como correctos.

Aquí tienes un reto: toma la expresión Y=ABC+ABC+ABCY = A \cdot B \cdot C + A \cdot B \cdot \overline{C} + A \cdot \overline{B} \cdot C.

  1. Factoriza los términos comunes con la ley distributiva: Y=AB(C+C)+ABCY = A \cdot B \cdot (C + \overline{C}) + A \cdot \overline{B} \cdot C.
  2. Aplica la ley del complemento (C+C=1C + \overline{C} = 1) y la ley de identidad (AB1=ABA \cdot B \cdot 1 = A \cdot B) para obtener Y=AB+ABCY = A \cdot B + A \cdot \overline{B} \cdot C.
  3. Factoriza otra vez: Y=A(B+BC)=A(B+C)Y = A \cdot (B + \overline{B} \cdot C) = A \cdot (B + C). (El último paso usa la variante de absorción B+BC=B+CB + \overline{B}C = B + C.)
  4. Abre digisim.io y construye tanto el circuito original de 3 mintérminos como la versión simplificada de 2 puertas.
  5. Usa un OSCILLOSCOPE para comparar el retardo de propagación.

Continúa con la siguiente entrada de esta serie: Suma de Productos (SOP), o abre la referencia del componente puerta AND para cablear tú mismo una de estas leyes.