52. Construcción de circuitos lógicos simples

Construir un circuito lógico simple consiste en traducir una condición a señales binarias, operadores booleanos y puertas conectadas en el orden correcto.

52.1 Introducción

Un circuito lógico simple resuelve una regla concreta usando puertas como AND, OR, NOT, NAND, NOR, XOR o XNOR.

Para construirlo correctamente conviene partir de una descripción clara del problema y transformarla paso a paso en una expresión booleana.

52.2 Identificar las entradas

El primer paso es determinar qué señales necesita el circuito. Cada señal se representa como una variable booleana.

Por ejemplo, si queremos activar una alarma cuando una puerta está abierta y el sistema está armado, podemos usar:

  • A: la puerta está abierta.
  • B: el sistema está armado.

52.3 Definir la salida

Después se define qué debe producir el circuito. La salida también es un valor binario.

En el ejemplo de la alarma, la salida puede llamarse S y significa "la alarma suena".

S = alarma activada

52.4 Traducir la condición

La condición del problema debe expresarse con operadores lógicos.

Si la alarma suena cuando la puerta está abierta y el sistema está armado, la expresión es:

S = A ∧ B

Esta expresión se implementa con una puerta AND.

52.5 Dibujar la estructura del circuito

Una vez obtenida la expresión, cada operador se reemplaza por una puerta lógica.

  • Una conjunción se representa con una puerta AND.
  • Una disyunción se representa con una puerta OR.
  • Una negación se representa con una puerta NOT.

Las variables de entrada se conectan a las puertas que correspondan.

52.6 Ejemplo con AND

Regla: una lámpara se enciende si hay energía y el interruptor está activado.

  • E: hay energía.
  • I: interruptor activado.
  • L: lámpara encendida.
L = E ∧ I

El circuito tiene una puerta AND con entradas E e I.

52.7 Ejemplo con OR

Regla: una notificación aparece si hay un mensaje nuevo o una alerta pendiente.

  • M: hay mensaje nuevo.
  • A: hay alerta pendiente.
  • N: se muestra notificación.
N = M ∨ A

El circuito se implementa con una puerta OR.

52.8 Ejemplo con NOT

Regla: una compuerta se abre si el sensor de bloqueo no está activo.

  • B: bloqueo activo.
  • C: compuerta abierta.
C = ¬B

El circuito usa una puerta NOT para invertir la señal B.

52.9 Circuito con condición compuesta

Regla: un sistema se habilita si el usuario está autorizado y no hay error.

  • U: usuario autorizado.
  • E: hay error.
  • H: sistema habilitado.
H = U ∧ ¬E

Primero se invierte E con una puerta NOT. Luego U y ¬E entran a una puerta AND.

52.10 Circuito con tres entradas

Regla: una salida se activa si A y B están activas, o si C está activa.

S = (A ∧ B) ∨ C

El circuito se construye en dos pasos: A y B entran a una puerta AND; luego la salida de esa AND entra con C a una puerta OR.

52.11 Verificar con tabla de verdad

Después de construir una expresión o circuito, conviene verificar su comportamiento con una tabla de verdad.

A B C A ∧ B (A ∧ B) ∨ C
0 0 0 0 0
0 0 1 0 1
0 1 0 0 0
0 1 1 0 1
1 0 0 0 0
1 0 1 0 1
1 1 0 1 1
1 1 1 1 1

52.12 De tabla de verdad a circuito

A veces no partimos de una frase, sino de una tabla de verdad. En ese caso buscamos las filas donde la salida vale 1.

Por ejemplo, si la salida vale 1 solo cuando A = 1 y B = 0, la expresión es:

S = A ∧ ¬B

Esa expresión se traduce directamente a una puerta NOT para B y una puerta AND para combinar A con ¬B.

52.13 Simplificar antes de construir

Antes de dibujar o implementar un circuito, conviene revisar si la expresión puede simplificarse.

S = (A ∧ B) ∨ (A ∧ ¬B)

Aplicando distributividad:

S = A ∧ (B ∨ ¬B)

Como B ∨ ¬B es una tautología, la expresión queda:

S = A

El circuito final no necesita puertas: la salida puede conectarse directamente a A.

52.14 Relación con condiciones de programación

El mismo método sirve para escribir condiciones en programas.

const habilitado = usuarioAutorizado && !hayError;

Esta condición equivale a la expresión U ∧ ¬E y puede representarse con una puerta NOT seguida de una puerta AND.

52.15 Errores comunes

  • No definir con claridad qué representa cada entrada.
  • Mezclar la condición de salida con las entradas del circuito.
  • Olvidar invertir una señal cuando la frase contiene "no".
  • Construir el circuito sin verificarlo con tabla de verdad.
  • No simplificar expresiones antes de implementar el circuito.

52.16 Qué debes recordar de este tema

  • Un circuito lógico simple se construye a partir de entradas, salida y una regla lógica.
  • Cada operador booleano se representa mediante una puerta lógica.
  • Las tablas de verdad permiten verificar el comportamiento del circuito.
  • Simplificar una expresión puede reducir la cantidad de puertas necesarias.
  • Las condiciones de programación y los circuitos comparten la misma estructura lógica.

52.17 Conclusión

Construir circuitos lógicos simples es un ejercicio de traducción: una regla se convierte en variables, operadores booleanos y puertas conectadas. Este proceso permite pasar de una idea lógica a una implementación concreta.

En el próximo tema estudiaremos expresiones booleanas y circuitos equivalentes.