Lógica digital · Simplificación

Simplificar con un mapa de Karnaugh

Un mapa de Karnaugh reorganiza la tabla de verdad para que las celdas que se pueden combinar queden juntas. Primero resolvemos un ejemplo en siete pasos; después practicas y lo compruebas con el minimizador.

Ejemplo guiado

1. La función

F(A,B,C,D) = Σm(0, 2, 5, 7, 8, 10, 13, 15)

2. Los minitérminos en binario

m0 = 0000 · m2 = 0010 · m5 = 0101 · m7 = 0111 · m8 = 1000 · m10 = 1010 · m13 = 1101 · m15 = 1111

Antes de dibujar nada ya se ve un patrón: en todos, el bit B es igual al bit D.

3. El mapa

Filas AB y columnas CD en orden Gray (00, 01, 11, 10). Cada celda lleva su número de minitérmino en la esquina.

AB \ CD00011110
0010010312
0104151706
11012113115014
101809011110

4. Agrupar

Busca los rectángulos más grandes posibles de 1, 2, 4 u 8 celdas. Aquí hay dos grupos de 4: el centro (m5, m7, m13, m15) y las cuatro esquinas (m0, m2, m8, m10). Las esquinas forman un grupo porque el mapa «se dobla»: la primera y la última columna son vecinas, y también la primera y la última fila.

AB \ CD00011110
0010010312
0104151706
11012113115014
101809011110

5. Leer cada grupo

Dentro de un grupo, las variables que cambian desaparecen y las que se mantienen forman el producto. En el centro, A y C toman los dos valores pero B = 1 y D = 1: el término es BD. En las esquinas, A y C vuelven a cambiar y B = 0, D = 0: el término es B'D'.

6. La solución

F = B'D' + BD

De ocho minitérminos de 4 literales a dos términos de 2. La expresión confirma el patrón del paso 2: F vale 1 cuando B y D son iguales, es decir, F es la XNOR de B y D. A y C no influyen.

7. Comprobar

Carga el ejemplo en el minimizador (o marca las celdas a mano en el de abajo) y compara el resultado y el diagrama AND-OR.

Minimizador de Karnaugh

Haz clic en una celda para pasar de 0 a 1 y a X (indiferencia). Puedes cambiar el número de variables y sus nombres, ver la tabla de verdad y añadir hasta 8 salidas.

AB \ CD00011110
00
01
11
10
Expresión Minimizada (SOP)
OUT: F1
F1 = 0
CIRCUITO RTL UNIFICADO
OR
F1

Practica

Coloca los minitérminos en el mapa

Marca en el mapa de 4 variables las celdas de F(A,B,C,D) = Σm(3, 6, 11, 12, 14). Las filas son AB y las columnas CD, ambas en código Gray.

AB \ CD00011110
00
01
11
10
Abrir en la herramienta

Minimiza aprovechando las indiferencias

Escribe una suma de productos mínima para F(A,B,C,D) = Σm(1, 3, 7, 11, 15) + d(0, 2, 5). Usa A, B, C, D y un apóstrofo para negar (por ejemplo A'B).

Sintaxis: productos juntos (AB), suma con +, negación con apóstrofo (A') o con ! delante.

Abrir en la herramienta

Comprueba la solución de otra persona

Un compañero propone F = A'B' + BC' + AB para F(A,B,C) = Σm(0, 1, 2, 5, 6, 7). ¿Es correcta? Si no lo es, marca un minitérmino donde falle.

F = A'B' + BC' + AB

¿Es correcta la expresión?
Abrir en la herramienta

Cómo calcula el minimizador

  1. Obtiene todos los implicantes primos con el método tabular de Quine-McCluskey: combina repetidamente términos que difieren en un solo bit, incluyendo las indiferencias.
  2. Toma los implicantes primos esenciales (los únicos que cubren algún 1).
  3. Cubre los 1 restantes con una búsqueda con retroceso que minimiza el número de términos. Entre coberturas con el mismo número de términos se queda con la primera que encuentra, que no es necesariamente la de menos literales.
  4. Si la búsqueda superase 10 000 iteraciones, usaría una cobertura voraz y lo indicaría con un aviso «Aproximado».

Limitaciones

  • De 2 a 4 variables.
  • Solo produce suma de productos (SOP). Para un producto de sumas hay que agrupar los ceros a mano (o minimizar la función complementaria).
  • Con varias salidas, cada una se minimiza por separado; el diagrama señala los productos que coinciden, pero no busca la solución multisalida óptima.
  • Cuando hay varias soluciones mínimas muestra una. En el ejercicio de indiferencias de arriba hay dos igual de buenas.

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
  • W. V. Quine, “The Problem of Simplifying Truth Functions”, The American Mathematical Monthly, vol. 59, no. 8, 1952 — implicantes primos y simplificación de funciones
  • 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