Itinerario de lógica digital

Lógica digital: de la tabla de verdad al circuito

Diseñar un circuito combinacional consiste en pasar de un enunciado a una expresión booleana y de ahí a puertas. El mapa de Karnaugh es la herramienta que convierte una tabla de verdad en una expresión pequeña. Lo vemos con un problema concreto: detectar si un número de 4 bits es primo.

1. Del enunciado a la tabla de verdad

La entrada es un número N = ABCD entre 0 y 15 (A es el bit más significativo) y la salida F vale 1 si N es primo. Los primos en ese rango son 2, 3, 5, 7, 11 y 13, así que la función se escribe como suma de minitérminos:

F(A,B,C,D) = Σm(2, 3, 5, 7, 11, 13)
N0123456789101112131415
ABCD0000000100100011010001010110011110001001101010111100110111101111
F0011010100010100

Escrita tal cual, como suma de los seis minitérminos, la función necesita seis puertas AND de 4 entradas y una OR de 6. Simplificar es encontrar una expresión equivalente con menos términos y menos literales.

2. Del mapa a los grupos

En el mapa las filas son AB y las columnas CD, en orden Gray (00, 01, 11, 10): entre dos celdas vecinas cambia un solo bit, incluso de un borde al opuesto. Cada grupo rectangular de 2, 4 u 8 unos elimina las variables que cambian dentro del grupo.

AB \ CD00011110
0000011312
0104151706
11012113015014
100809111010
Grupos: m2–m3, m3–m11, m5–m13 y m3–m7
  • m2 solo puede agruparse con m3: A'B'C.
  • m11 solo con m3 (misma columna, filas 00 y 10, que son vecinas por el borde): B'CD.
  • m13 solo con m5: BC'D.
  • m7 puede ir con m3 (A'CD) o con m5 (A'BD). Las dos opciones son igual de buenas.
F = A'B'C + B'CD + BC'D + A'CD

Cuatro términos de 3 literales. Los tres primeros son implicantes primos esenciales (cubren un 1 que ningún otro grupo cubre); el cuarto se elige entre dos candidatos. El minimizador llega a la misma expresión.

3. Las indiferencias cambian el resultado

Supón ahora que la entrada es un dígito BCD: los valores 10 a 15 nunca aparecen. Esas combinaciones son indiferencias (X): podemos tratarlas como 1 cuando nos convenga para agrandar grupos. El 11 y el 13 dejan de ser relevantes y la función queda Σm(2, 3, 5, 7) + d(10…15):

AB \ CD00011110
0000011312
0104151706
11X12X13X15X14
100809X11X10
Dos grupos de 4 celdas usando indiferencias
F = B'C + BD

De cuatro términos de 3 literales a dos de 2. Compruébalo en la herramienta.

4. De la expresión al circuito

Una suma de productos se implementa en dos niveles: una puerta AND por término y una OR que los une (o, equivalentemente, dos niveles de NAND). Contar términos y literales es contar puertas y entradas:

VersiónPuertas ANDORLiterales
Minitérminos (0–15)6 × 4 entradas1 × 624
Minimizada (0–15)4 × 31 × 412
Minimizada (BCD)2 × 21 × 24

El minimizador dibuja este circuito AND-OR bajo el resultado y, si defines varias salidas, señala los productos que comparten.

Itinerario recomendado

  1. Guía: cómo funcionan los mapas de Karnaugh — orden Gray, adyacencia, implicantes primos y casos con varias soluciones.
  2. Ejercicios: colocar minitérminos, adyacencia, minimización con indiferencias y verificar una solución.
  3. Guía: decodificador BCD a 7 segmentos, un diseño completo con siete salidas.

Referencias

  • M. Karnaugh, “The Map Method for Synthesis of Combinational Logic Circuits”, Transactions of the AIEE, Part I, vol. 72, no. 5, 1953 — artículo original del método de mapas
  • E. J. McCluskey, “Minimization of Boolean Functions”, Bell System Technical Journal, vol. 35, no. 6, 1956 — método tabular que usa el minimizador para obtener los implicantes primos
  • S. L. Harris, D. Harris — Digital Design and Computer Architecture: RISC-V Edition (Morgan Kaufmann) — lógica combinacional, mapas de Karnaugh, decodificador de 7 segmentos y microarquitectura RISC-V