06 Karnaugh
06 Karnaugh
06 Karnaugh
el mapa de Karnaugh
Mario Medina C.
mariomedina@udec.cl
Jorge Salgado S.
jorgesalgado@udec.cl
Minimización lógica
Minimización lógica: es un conjunto de
técnicas para obtener la representación
más simple de una expresión y/o función
booleana.
Métodos de minimización
Mapas de Karnaugh-Veitch
Método de Quine-McCluskey
Método de Espresso
Criterios de minimización
Se puede minimizar respecto:
Del tamaño del circuito
Del costo del circuito
De los errores de operación
Del número de compuertas usadas
De la complejidad de las compuertas lógicas
Del número de niveles de compuertas en cascada
Reducir respecto del:
Número de conexiones entre puertas
Retardo global de un circuito
Consumo de potencia
Número de literales
Maximizar:
Reutilización de bloques
Ejemplo 1
A B C Z
Sea Z (A,B,C) definida en la
0 0 0 0
siguiente tabla verdad y sus 0 0 1 1
formas equivalents: Z1, Z2, Z3 0 1 0 0
Z = A’B’C + A’BC + AB’C + ABC’ 0 1 1 1
1 0 0 0
Z1 = ABC’ + A’C + B’C 1 0 1 1
Z1 = ABC’ + (AB)’C 1 1 0 1
Z2 = TC’ + T’C; donde T = AB 1 1 1 0
Z3 = T C = (AB) C
Análisis del ejemplo 1
Z: Estructura típica SoP de 2 niveles
Z1: Estructura similar a Z (SoP)
No normalizados
Menos literales y puertas
Z2: Implementación multinivel
Puertas más simples (menos entradas)
Mayor retardo de salida
Camino crítico AND-NOT-AND-OR
Z3: Reduce el número total de puertas
Usa una puerta XOR, que puede ser más lenta
Minimización lógica
No es posible minimizar, al mismo tiempo,
según todos los criterios.
2. Procesos gráficos/tabulares:
Estos métodos ordenan la tabla verdad para
reconocer fácilmente patrones a simplificar
Mapa (Karnaugh)
Tabular (Quine-McCluskey)
Mapas de Karnaugh
B
Celdas adyacentes en mapa de K…
Representación alternativa de los
mapas de Karnaugh
20/57
Un mapa de Karnaugh
puede representarse
también como un
diagrama de Venn
Diagrama de Venn
para función de 4
variables
Círculo y ocho centrales
se traslapan
Subcubos *
Subcubo: es un conjunto de 2r celdas de
valor 1 ó 0 (minterms o maxterms) en el
que cada celda del subcubo es lógicamente
adyacente a otras r celdas de valor 1 (ó 0).
AB
A Usando álgebra booleana:
CD 00 01 11 10 F(A, B, C, D) = A’B’C’D + A’BC’D +
00 0 0 0 0 A’B’CD + A’BCD
01 1 1 0 0
F(A, B, C, D) = A’C’D + A’CD
D F(A, B, C, D) = A’D
11 1 1 0 0
C Usando el mapa de K:
10 0 0 0 0
se puede ver la agrupación
B óptima de celdas (minterms)
F(A, B, C, D) = A’D
Ejemplo2: simplificación de funciones…
Sea la función:
A
CD
AB
00 01 11 10 F(A, B, C, D) = ∑m(0, 2, 3, 5, 6, 7,
00 1 0 0 1 8, 10, 11, 14, 15)
01 0 1 0 0 La función equivalente es
D
11 1 1 1 1
F(A, B, C, D) = C + A’BD + B’D’
C Se requiere encontrar el menor
10 1 1 1 1
número de “subcubos” que
B
cubran todas las salidas 1 (ó 0)
Ejemplos de simplificación
Ejemplos de simplificación…
Ejemplos de simplificación
OK…
Definiciones en una función
(en un M de K)
Implicante : celda o grupo de celdas que
pueden combinarse en un M de K y que
hacen 1 a la función.
Implicante primario: es un implicante que no
puede combinarse, o no puede ser cubierto
por otro implicante de la función.
Implicante primario esencial: es un implicante
primario que contiene celdas no cubiertas por
ningún otro implicante primario.
Minimización de funciones de Boole
mediante el Mapa de Karnaugh
30/57
Objetivos de la minimización:
Convertir todos los implicantes en:
implicantes primarios.
Agrupar todos los 1’s (ó 0’s) utilizando el menor
número posible de implicantes primarios.
Todos los implicantes primarios esenciales
deben estar en el resultado final.
Expresión mínima C
10 1 0 1 1
F(A,B,C,D) = BD + AC + B’C Ok…
B
Tarea: Escribir la función original, dada en la
tabla, en forma de a) Minterm’s
b) Maxterm´s
Implicantes primarios y esenciales…
Ejemplo 3:
5 implicantes primarios
A’C’D, ABC’, A’BC, ACD, BD AB A
CD 00 01 11 10
4 implicantes primarios
00 0 0 1 0
esenciales
01 1 1 1 0
A’C’D, ABC’, A’BC, ACD D
11 0 1 1 1
Los implicantes primarios C
esenciales bastan para cubrir 10 0 1 0 0
el mapa B
Expresión mínima
F=(A,B,C,D)= A’C’D + ABC’ + A’BC + ACD
Ok….
Tarea: Obtener desde el M de K, la ecuación original y
simplificarla mediante el álgebra de Boole.
Simplificación con Maxterms
00 1 0 0 1
01 0 1 0 0 Ok…
D
11 1 1 1 1
C
10 1 1 1 1
F = B C’ D’ + A C’D + B’C’D
Tarea: Determinar F´
F = B C’D’ + A C’D + B’C’D y desde F´ volver a
encontrar F como PoS.
F = (B + C + D) (A + C + D) (B + C + D)
Ok…
Condiciones superfluas
En algunos circuitos lógicos ciertas
combinaciones de entrada no pueden
ocurrir.
Aunque en funcionamiento la salida asumirá un
valor lógico en tales condiciones, al diseñador
“ no le importa” cual sea el valor de la salida y
no es necesario especificarla.
Las salidas
asumen el valor x para las
combinaciones de entrada que no importan
00 0 0 X 0
F(A, B, C, D) = ∑m(1,3,5,7,9) + ∑d(6,12,13)
01 1 1 X 1
D
11 1 1 0 0
C
10 0 X 0 0
B 40/57
Funciones con condiciones
superfluas (d)
Si F(A,B,C,D) = ∑m(1,3,5,7,9) +
A
AB + ∑d(6,12,13)
CD 00 01 11 10
00 0 0 X 0
F = A’D + B’C’D (sin considerar las X)
01 1 1 X 1 F = C’D + A’D (considerando las X)
D
11 1 1 0 0 Si tratamos esta X como 1, podemos formar
C
10 0 X 0 0 un subcubo de orden 2.
A
AB
B CD 00 01 11 10
BC BC
DE 00 01 11 10 DE 00 01 11 10
00 0 4 12 8 00 16 20 28 24
01 1 5 13 9 01 17 21 29 25
11 3 7 15 11 11 19 23 31 27
10 2 6 14 10 10 18 22 30 26
A=0 A=1
Mapa de Karnaugh de 5 variables…
Ej1:
F(A, B, C, D, E) m2,5,7,8,10,13,15,17,19,21,23,24,29,31
BC BC
00 01 11 10 DE 00 01 11 10
DE
3
00 0 0 0 1 00 0 0 0 1
01 0 1 1 0 01 1 1 1 0
2
11 0 1 1 0 11 1 1 1 0
10 1 0 0 1 4 10 0 0 0 0
A=0 1 A=1
F(A, B, C, D, E) C E A B E B C D E A C D E Ok…
1 2 3 4
Mapa de Karnaugh de 5 variables…
Ej1 visto desde otra perspectiva:
BC
BC DE 00 01 11 10
DE 00 01 11 10 A=0 00 1
A =0 00
0 4 12 8
01 1 1
01 1 5 13 9
11 1 1
11
3 7 15 11 1
10 1
10 2 6 14 10
BC BC
DE 00 01 11 10 DE 00 01 11 10
A =1 00 A=1 00 1
16 20 28 24
01 01 1 1 1
17 21 29 25
11 11 1 1 1
19 23 31 27
10 10
18 22 30 26
Ej2:
Mapa de 5 variables
Representación
alternativa de un
mapa de 5 variables
Lo triángulos
superiores son
adyacentes.
Subcubos OK…
Mapa de Karnaugh de 6 variables
F(A,B,C,D,E,F)
CD CD 50/57
EF 00 01 11 10 EF 00 01 11 10
00 0 4 12 8 00 16 20 28 24
A=0 01 1 5 13 9 01 17 21 29 25
11 3 7 15 11 11 19 23 31 27
10 2 6 14 10 10 18 22 30 26
CD CD
EF 00 01 11 10 EF 00 01 11 10
00 32 36 44 40 00 48 52 60 56
A=1 01 33 37 45 41 01 49 53 61 57
11 35 39 47 43 11 51 55 63 59
10 34 38 46 42 10 50 54 62 58
B=0 B=1
Mapa de Karnaugh de 6 variables…
CD
EF 00 01 11 10 CD
EF 00 01 11 10
00
AB =00 0 4 12 8 00 1
AB =00
01 1 5 13 9 01
11
3 7 15 11 11
10 2 6 14 10 10 1 1
2,8,10,18,24,
CD
EF 00 01 11 10
EF
CD
00 01 11 10
F(A, B, C, D, E, F) m 26,34,37,42,45,
AB =01 00 16 20 28 24 AB =01 00 1 50,53,58,61
01 17 21 29 25 01
11
19 23 31 27 11
10
18 22 30 26 10 1 1
CD CD
EF 00 01 11 10 EF 00 01 11 10
AB =11 00 00
48 52 60 56
01 49
AB =11 Ver solución más adelante…
53 61 57 01 1 1
11 11
51 55 63 59
10 50 54 62 58 10 1 1
CD
EF 00 01 11 10
AB =01 00 1
2,8,10,18,24, 01
F(A, B, C, D, E, F) m 26,34,37,42,45,
11
10 1 1
50,53,58,61
EF
CD
00 01 11 10
AB =11 00
F(A, B, C, D, E, F) D E F A D E F A C D F 11
01 1 1
10 1 1
CD
EF 00 01 11 10
Ok..
AB =10 00
01 1 1
11
10 1 1
Mapas de Karnaugh con variables
(en el mapa)
La solución desde el mapa es: Fmín = A’C + CD + A’BD = A’C + D(C +A’B)
Mapas de Karnaugh con variables en
el mapa…
Otro enfoque:
En la función dada, asociando en torno
a la variable D tenemos:
F(A, B, C, D) = A’B’C + A’BC +
+D(A’BC’ + ABC) + (AB’C)
A’B’C y A’BC son 1 independiente de D
A´BC’D y ABCD son 1, sólo si D es 1
AB’C es redundante
Llevemos F a un mapa de 3 variables.
Del Mapa, Fmin = A’C si D=0
Fmin = C + A’B si D=1
Mapas de Karnaugh con variables…