Subido por Javier Esteban Nievas

06-Metodos Minimizacion Karnaugh

Anuncio
Minimización mediante
el mapa de Karnaugh
Mario Medina C.
[email protected]
Minimización lógica
z
Minimización lógica: conjunto de técnicas
para obtener la representación más simple
de una expresión booleana
z
z
Diversos criterios de minimización
Métodos de minimización
z
z
z
Mapas de Karnaugh-Veitch
Método de Quine-McCluskey
Método de Espresso
© Mario Medina
Criterios de minimización
z
Minimizar
z
z
z
z
z
z
z
z
z
Tamaño de un circuito
Consumo de potencia
Disipación de potencia
Costo
Errores de operación
Número de compuertas
Tipo de compuertas
Complejidad de
compuertas lógicas
Número de niveles de
compuertas en cascada
z
Reducir
z
z
z
z
z
No normalizados
z
z
z
z
Menos literales y puertas
z
Puertas más simples (menor número de entradas)
Mayor retardo de salida
z
Camino crítico AND-NOT-AND-OR
Z3: Reduce el número total de puertas
z
Usa una puerta XOR, que puede ser más lenta
© Mario Medina C.
A
B
C
0
0
0
Z
0
0
0
1
1
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
1
1
0
Minimización lógica
No es posible minimizar todos los criterios al
mismo tiempo
z Técnicas tradicionales de minimización
z
z
Z2: Implementación multinivel
z
z
z
Z = A’B’C + A’BC + AB’C + ABC’
Z1 = ABC’ + A’C + B’C
Z2 = TC’ + T’C; T = AB
Z3 = (AB) ⊕ C
Otros
Z: Estructura típica SoP de 2 niveles
Z1: Estructuralmente similar a Z (SoP)
z
Sea Z (A,B,C) definida en la
siguiente tabla de verdad y sus
formas equivalentes Z1, Z2, Z3
z
Reutilización de
bloques
Ejemplo
z
z
Maximizar
z
z
Número de conexiones
entre puertas
Retardo global de un
circuito
Número de literales
Ejemplo
Se encargan de minimizar el retardo del circuito
resultante
z
z
A expensas de aumentar el número y complejidad de
los productos ó sumas
Minimización en 2 niveles
z
z
Suma-de-productos (SoP)
Producto-de-sumas (PoS)
1
Motivación para los métodos
de minimización lógica
z
Usar reglas del álgebra binaria para reducir
expresiones booleanas
z
z
z
No hay algoritmos que aseguren llegar a una
solución mínima
z
z
z
Buscar repetidamente subconjuntos de 2
términos que difieran sólo en una variable
Eliminar la redundancia
F = A(B’ + B) = A
G = B’(A’ + A) = B’
z
A
B
F
A
B
G
0
0
0
0
0
1
0
1
0
0
1
0
1
0
1
1
0
1
1
1
1
1
1
0
La variable que aparece en forma negada y no
negada es redundante y se puede eliminar
Mapa de Karnaugh
z
Representación matricial de la tabla de
verdad de una función
B
Proceso manual es engorroso
Métodos ordenan la tabla de verdad para
reconocer fácilmente patrones a simplificar
Gráficamente (Karnaugh)
z En forma tabular (Quine-McCluskey)
Mapa de Karnaugh
C
0
1
AB
A
0
1
0
1
0
2
1
3
AB
CD
00 01 11 10
0
2
6
4
1
3
7
5
00
01
11
10
00 01 11 10
0
4
12
1
5
13
8
9
3
7
15
11
2
6
14
10
Correspondencia K-map y
minitérminos (3 variables)
El número al interior de cada celda
z
representación decimal para la combinación de
entradas asociada
Cada celda es un minterm (o maxterm)
z
z
z
Aumenta probabilidad de error
z
z
z
Proceso tedioso, largo y manual
Método básico
z
z
F = AB’+ AB, y G = A’B’ + AB’
La simplificación nos lleva a
Multiplicar una expresión por 1 (X+X’) y reducir
Base para los métodos de
simplificación
z
z
Resultado depende de la intuición y experiencia del
diseñador
ƒ
z
z
Sean las funciones F y G definidas como
Problema puede ser más complicado que el
original
z
z
Base para los métodos de
simplificación
La celda almacena la salida asociada al minterm
Los índices se forman mediante un código
adyacente (Gray)
z
z
2 celdas adyacentes tienen distancia 1
La última columna (fila) es adyacente con la
primera columna (fila)
© Mario Medina C.
2
Correspondencia K-map y
minitérminos (4 variables)
Mapa de Karnaugh
Mapa de Karnaugh
Mapa de Karnaugh
z
Expresar en un K-Map la función
z
F(A, B, C, D) = ∑m(4, 5, 6, 7, 9, 10, 11, 13)
AB
CD
00
01
11
10
z
00 01 11 10
0
1
0
0
0
1
1
1
0
1
0
1
0
1
0
1
AB
ACD
ABC
Equivalente a la función
Sea F(X, Y, Z, W) = XY z X’YZ’W está expresado en
+ X’WZ + X’YZ’W
forma canónica y genera
XY
sólo un minterm
ZW
00 01 11 10
z
X’WZ genera 2 minterms
0
0
1
0
00
0
1
1
0
01
(X’WYZ + X’WY’Z)
1
1
1
0
11
z YX genera 4 minterms
0
0
1
0
10
(YXW’Z’ + YXWZ’ +
YXW’Z + YXWZ)
F(A, B, C, D) = A’B + AB’C + AC’D
Mapas de Karnaugh
z
En general, para un función de n variables,
un término producto no normalizado de n - r
variables genera 2r minitérminos
z
Si n = 4,
Término producto de 4 variables da 1 minterm
z Término producto de 3 variables da 2 minterms
z Término producto de 2 variables da 4 minterms
z Término producto de 1 variable da 8 minterms
z
Celdas adyacentes
Adyacencia del mapa permite visualizar
grupos de celdas contiguas a agrupar
z En un mapa de n variables, cada celda es
lógicamente adyacente a otras n celdas
z
z
Se considera adyacencia horizontal y vertical,
pero no diagonal
A
AB
00
01
11
10
0
000
010
110
100
1
001
011
111
101
C
B
© Mario Medina C.
3
Celdas adyacentes en mapa de
Karnaugh
Representación alternativa
mapas de Karnaugh
z
Mapa de 4 variables como
diagrama de Venn
z
z
Un mapa de Karnaugh
puede representarse
también como un
diagrama de Venn
Diagrama de Venn
para función de 4
variables
z
Subcubos
z
Subcubo: un conjunto de 2r celdas de valor 1
o 0 (para minterms o maxterms,
respectivamente), en el que cada celda es
lógicamente adyacente a otras r celdas de
valor 1 (o 0)
z
z
A
AB
CD
00
01
11
10
00
0
0
0
0
01
1
1
0
0
11
1
1
0
0
10
0
0
0
0
F(A, B, C, D) = A’B’C’D + A’BC’D +
A’B’CD + A’BCD
F(A, B, C, D) = A’C’D + A’CD
F(A, B, C, D) = A’D
D
B
© Mario Medina C.
Usando álgebra booleana
z
En el mapa, se puede ver la
agrupación óptima de celdas
(minterms)
El término producto (o suma) que se obtiene a
partir de un subcubo de 2r celdas se compone de
(n-r) literales.
z
Círculo y ocho centrales
se traslapan
Ejemplo de simplificación de
funciones
C
Indicar sólo las filas y columnas donde las
variables valen 1
Sólo aparecen las variables que no cambian en todas
las celdas
Ejemplo de simplificación de
funciones
z
Sea el siguiente mapa de
Karnaugh
z
La agrupación central es
redundante
z
00
01
11
10
00
0
0
0
0
01
0
0
1
1
11
0
1
1
0
10
0
0
0
0
Celdas ya están cubiertas por
otros términos
z
Expresión mínima tiene sólo
2 productos
z
Demostración gráfica del
teorema del consenso!
F(A, B, C, D) = AC’D + BCD
A
AB
CD
D
C
B
4
Ejemplo de simplificación de
funciones
AB
CD
z
A
00
01
11
10
00
1
0
0
1
01
0
1
0
0
11
1
1
10
1
1
1
1
1
1
B
Sea la función
F(A, B, C, D) = ∑m(0, 2, 3, 5, 6, 7,
8, 10, 11, 14, 15)
z
D
C
Ejemplos de simplificación
La función equivalente es
F(A, B, C, D) = C + A’BD + B’D’
z Se requiere encontrar el menor
número de subcubos que
cubran todas las salidas 1 (ó 0)
Ejemplos de simplificación
Ejemplos de simplificación
Definiciones
Minimización de funciones
usando el Mapa de Karnaugh
Implicante de una función: elemento o grupo
de elementos que pueden combinarse en un
mapa de Karnaugh y hacen 1 la función
z Implicante primario: implicante que no
puede combinarse, o no puede ser cubierto
por otro implicante de la función
z Implicante primario esencial: implicante
primario que contiene celdas no cubiertas
por ningún otro implicante primario.
z
© Mario Medina C.
z
Objetivos de la minimización
z
z
z
z
Convertir todos los implicantes en implicantes
primarios
Cubrir todos los 1s (o 0s) utilizando el menor
número posible de implicantes primarios
Todos los implicantes primarios esenciales
deben estar en el resultado final
La minimización no es necesariamente única
5
Implicantes primarios y
esenciales
Implicantes primarios y
esenciales
6 implicantes primarios
z
2 implicantes esenciales
z
A
AB
CD
00
01
11
10
00
0
1
1
0
01
1
1
1
0
AC, BC’
BD, CD, AC, B’C
C
BC’ + AC + A’B’D
11
1
0
1
1
10
0
0
1
1
3 implicantes esenciales
z
Los implicantes esenciales
bastan para cubrir el mapa
Expresión mínima
z
B
z
A
AB
CD
00
01
11
10
00
0
0
0
0
01
0
1
1
0
11
1
1
1
1
10
1
0
1
1
BD, AC, B’C
D
Expresión mínima
z
4 implicantes primarios
z
A’B’D, BC’, AC, A’C’D, AB, B’CD
D
C
BD + AC + B’C
Implicantes primarios y
esenciales
Simplificación con maxterms
5 implicantes primarios
z
A’C’D, ABC’, A’BC, ACD, BD
4 implicantes esenciales
z
z Mismo procedimiento pero agrupando
AB
CD
A’C’D, ABC’, A’BC, ACD
Los implicantes esenciales
bastan para cubrir el mapa
Expresión mínima
z
z
B
A
00
01
11
10
00
0
0
1
0
01
1
1
1
0
11
0
1
1
1
10
0
1
0
0
los 0s
z
La formación de un maxterm a partir de los
valores 0 o 1 de las entradas es inversa a la
del minterm
z
Equivalente a agrupar los 0s para formar
términos producto de F, y luego aplicar
DeMorgan para obtener la expresion en PoS
D
C
B
A’C’D + ABC’ + A’BC + ACD
Simplificación con maxterms
AB
CD
A
00
01
11
10
00
1
0
0
1
01
0
1
0
0
11
1
1
1
1
10
1
1
1
1
F = (B + C + D) (A + C + D) (B + C + D)
z
D
C
Condiciones superfluas
En algunos circuitos pueden existir
combinaciones de entrada que no pueden
ocurrir
z
B
Considerando los 0s como los minterms de F
F = B C’ D’ + A C’D + B’C’D
F = B C’D’ + A C’D + B’C’D
F = (B + C + D) (A + C + D) (B + C + D)
© Mario Medina C.
z
Aunque en la implementación la salida asumirá
un valor lógico, al diseñador “no le importa” cual
sea y no es necesario especificarla.
Un circuito con entradas BCD 8421 tendrá sólo
10 combinaciones de entradas válidas de las 16
posibles.
z
Esto implica que las salidas asociadas al rango 1010 al
1111 pueden tener cualquier valor, pues nunca
ocurrirán.
6
Funciones con condiciones
superfluas
Ejercicio: BCD incremento en 1
z
Sea una función que
recibe como entrada
un dígito en BCD y
cómo salida genera el
dígito de entrada
incrementado en 1 en
forma circular
A
B
C
D
W
X
Y
Z
F
A
B
C
D
W
X
Y
0
0
0
0
0
0
0
Z
1
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
1
0
0
1
1
0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
0
0
0
1
0
0
1
1
0
0
1
0
0
0
0
1
0
1
0
X
X
X
z
X
Ojo!! Los términos X no corresponden ni a un 1
ni a un 0
1
1
X
X
X
X
z
0
0
X
X
X
X
z
1
1
0
1
X
X
X
X
1
1
0
X
X
X
X
1
1
1
1
X
X
X
X
Por ejemplo, en el ejemplo anterior, la función
de salida Z podría implementarse simplemente
como D’
Funciones con condiciones
superfluas (minterms)
AB
CD
z
0
1
Si tratamos esta X como 1, podemos formar
un subcubo de orden 2.
Estas funciones se llaman incompletamente
especificadas
z
Aunque si tomarán un valor de salida definido
Un término superfluo es una X tanto en F como en F’
Condiciones superfluas y KMaps
z
Generalmente se les asigna un estado inactivo,
pero esto no simplifica el diseño
A
Condiciones superfluas, opcionales o
indiferentes (don’t care)
1
La asignación adecuada de valores de salida
definidos a las condiciones superfluas
pueden simplificar el diseño.
z
z
1
Eventualmente, los valores superfluos toman
un valor lógico definido por el diseñador
z
Salidas asumen valor X para las
combinaciones de entrada que no importan.
1
Funciones con condiciones
superfluas
z
z
Los estados superfluos X pueden ser tratados
individualmente como 0s o 1s con el fin de
ayudar en el proceso de minimización
z
AB
CD
Formación de subcubos de mayor orden
A
00
01
11
10
00
0
0
X
0
01
1
1
X
1
11
1
1
0
0
10
0
X
0
0
F(A, B, C, D) = ∑m(1,3,5,7,9) + ∑d(6,12,13)
D
C
B
Funciones con condiciones
superfluas (maxterms)
AB
CD
A
00
01
11
10
00
0
0
X
0
00
01
11
10
00
0
0
X
0
01
1
1
X
1
01
1
1
X
1
11
1
1
0
0
10
0
X
0
0
Tratar esta X como 1 simplifica el problema
D
D
C
11
1
1
0
0
10
0
X
0
0
B
Tratar esta X como 0
simplifica el problema.
© Mario Medina C.
C
F(A,B,C,D) = ∑m(1,3,5,7,9) + ∑d(6,12,13)
F = A’D + B’C’D (sin considerar las X)
F = C’D + A’D (considerando las X)
Si tratamos esta X como 0, podemos formar
un subcubo de orden 3.
B
Lo mismo ocurre si deseamos la expresión mínima en PoS
(agrupando 0s):
F = D(A’ + C’)
Si se trata X como 1 en un mapa, debe tratarse igual en el otro
mapa!
7
Mapa de Karnaugh de 5
variables
z
Mapa de Karnaugh de 5 variables
Se usan 2 mapas de 4 variables y se deja una
variable “afuera”
BC
DE
z
z
BC
DE
00 01 11 10
0
00
01
11
10
4
12
8
1
5
13
9
3
7
15
11
2
6
14
10
00 01 11 10
00
01
11
10
z
16
20
28
24
17
21
29
25
19
23
31
27
18
22
30
26
A=1
A=0
Mapa de Karnaugh de 5
variables
Mapa de Karnaugh de 5
variables
F(A, B, C, D, E) = ∑ m(2,5,7,8,10,13,15,17,19,21,23,24,29,31)
BC
00
DE
Mapa de 5 variables
Dejamos variable A
“afuera”
X = DE’ + B’CE + A’BD’
+ BC’D’E
01
11
10
BC
00
DE
3
01
11
10
00
0
0
0
1
00
0
0
0
1
01
0
1
1
0
1
1
1
0
11
0
1
1
0
01
2
11
1
1
1
0
DE
A =0
01
10
1
0
0
1
10
4
1
A=0
0
0
0
1
3
6
00
11
10
10
12
8
13
15
14
BC
00
DE
00
A=0
11
00
01
11
16
20
28
1
17
19
18
21
23
22
29
31
1
30
26
00
DE
00
A=1
11
1
01
1
1
01
25
27
1
1
BC
10
24
10
1
1
10
10
11
1
01
9
11
01
1
11
10
1
1
1
10
F(A, B, C, D, E) = ∑ m(2,5,7,8,10,13,15,17,19,21,23,24,29,31)
4
Implicantes esenciales en mapa
de 5 variables
© Mario Medina C.
7
DE
A =1
A=1
2
11
4
5
3
2
01
BC
0
F(A, B, C, D, E) = C E + A B E + B C D E + A C D E
0
1
11
01
10
BC
00
00
F(A, B, C, D, E) = C E + A B E + B C D E + A C D E
Representación espejo de
mapa de 5 variables
8
Representación alternativa
z
Representación alternativa
Diagrama muestra
celdas adyacentes
a minitérmino 5
z
Representación
alternativa de un
mapa de 5
variables
z
Mapa de Karnaugh de 6
variables
EF
00
AB =00
CD
00
1
11
10
01
0
01
3
7
2
6
11
4
5
15
14
10
12
13
8
9
CD
EF
00
00
48
01
11
11
10
49
51
50
60
53
55
54
11
52
61
63
62
00
01
11
10
10
1
EF
59
CD
EF
00 01
11
10
AB =10 00 32
36
44
40
01 33
37
45
41
11
35
39
47
43
10
34
38
46
42
01
11
10
1
01
10
AB =11
1
⎛ 2, 8, 10, 18, 24, ⎞
⎜
⎟
F(A, B, C, D, E, F) = ∑ m⎜ 26, 34, 37, 42, 45, ⎟
⎜
⎟
⎝ 50, 53, 58, 61
⎠
A=0
01
1
11
1
A=1
1
CD
EF
00 01
11
AB =10 00
01
1
1
01
11
10
EF
10
00
01
1
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
CD
00
01
11
10
EF
00
01
Mapa de Karnaugh de 6
variables
CD
00
00
EF
AB =00
01
11
10
1
11
10
00
32
36
44
40
00
48
52
60
56
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
1
10
0
11
10
11
00
EF
10
1
11
10
00
CD
1
CD
EF
00
00
01
57
58
1
11
10
56
1
CD
EF
00
AB =01 00
CD
CD
CD
11
10
01
EF
00
Mapa de Karnaugh de 6
variables
01
CD
EF
00 01
11
10
AB =01 00 16
20
28
24
01
17
21
29
25
11
19
23
31
27
10
18
22
30
26
AB =11
AB =00
Triángulos
superiores son
adyacentes
B=1
Mapas de Karnaugh con
variables en el mapa
01
11
10 1
⎛ 2, 8, 10, 18, 24, ⎞
⎟
⎜
F(A, B, C, D, E, F) = ∑ m⎜ 26, 34, 37, 42, 45, ⎟
⎟
⎜ 50, 53, 58, 61
⎠
⎝
01
11
10
1
01
Alternativa para representar más variables
aún en un mapa
z
11
10 1
1
CD
EF
00
01
11
10
00
AB =11
F(A, B, C, D, E, F) = D E F + A D E F + A C D F
z
1
CD
EF
00
AB =01 00
1
01
Celdas no almacenan valores 0 ó 1, sino que
almacenan expresiones con variables que no
están en el mapa
1
11
10
1
1
CD
EF
00
01
11
10
00
AB =10
01
1
1
11
10
© Mario Medina C.
1
1
9
Mapas de Karnaugh con
variables en el mapa
z
Ejemplo: representar la
función F(A, B, C, D) =
A’B’C + A’BC + A’BC’D +
ABCD + (AB’C) en un
mapa de Karnaugh de 3
variables
z
Mapas de Karnaugh con
variables en el mapa
z
Separamos la función anterior
utilizando la variable D
z
z
z
A’B’C y A’BC son 1 independiente del
valor de D
A’BC’D y ABCD son 1 sólo si D es 1
AB’C es redundante
El último término es
redundante
Mapas de Karnaugh con
variables en el mapa
z
z
z
Si D es 0, función se
simplifica a A’C
Si D es 1, función se
simplifica a C + A’B
Entonces, función F es
F = A’C + D(C + A’B)
© Mario Medina C.
10
Descargar