Está en la página 1de 10

Minimización lógica

Minimización mediante
z Minimización lógica: conjunto de técnicas
el mapa de Karnaugh para obtener la representación más simple
de una expresión booleana
Mario Medina C. z Diversos criterios de minimización
mariomedina@udec.cl z Métodos de minimización
z Mapas de Karnaugh-Veitch
z Método de Quine-McCluskey
z Método de Espresso

© Mario Medina

Criterios de minimización Ejemplo


z Minimizar z Reducir
z Tamaño de un circuito z Sea Z (A,B,C) definida en la A B C Z
z Número de conexiones
z Consumo de potencia entre puertas siguiente tabla de verdad y sus 0 0 0 0
Disipación de potencia 0 0 1 1
z z Retardo global de un formas equivalentes Z1, Z2, Z3
z Costo circuito z Z = A’B’C + A’BC + AB’C + ABC’
0 1 0 0
z Errores de operación z Número de literales
0 1 1 1
z Número de compuertas z Z1 = ABC’ + A’C + B’C 1 0 0 0
z Tipo de compuertas z Maximizar z Z2 = TC’ + T’C; T = AB 1 0 1 1
z Complejidad de z Reutilización de z Z3 = (AB) ⊕ C 1 1 0 1
compuertas lógicas bloques
1 1 1 0
z Número de niveles de z Otros
compuertas en cascada

Ejemplo Minimización lógica


z Z: Estructura típica SoP de 2 niveles z No es posible minimizar todos los criterios al
z Z1: Estructuralmente similar a Z (SoP) mismo tiempo
z No normalizados z Técnicas tradicionales de minimización
z Menos literales y puertas z Se encargan de minimizar el retardo del circuito
z Z2: Implementación multinivel resultante
z Puertas más simples (menor número de entradas) z A expensas de aumentar el número y complejidad de
los productos ó sumas
z Mayor retardo de salida
z Camino crítico AND-NOT-AND-OR
z Minimización en 2 niveles
z Suma-de-productos (SoP)
z Z3: Reduce el número total de puertas z Producto-de-sumas (PoS)
z Usa una puerta XOR, que puede ser más lenta

© Mario Medina C. 1
Motivación para los métodos Base para los métodos de
de minimización lógica simplificación
z Usar reglas del álgebra binaria para reducir z Sean las funciones F y G definidas como
expresiones booleanas z F = AB’+ AB, y G = A’B’ + AB’
z No hay algoritmos que aseguren llegar a una z La simplificación nos lleva a
solución mínima z F = A(B’ + B) = A A B F A B G
z Resultado depende de la intuición y experiencia del z G = B’(A’ + A) = B’ 0 0 0 0 0 1
diseñador 0 1 0 0 1 0
z Problema puede ser más complicado que el 1 0 1 1 0 1
original 1 1 1 1 1 0
z Multiplicar una expresión por 1 (X+X’) y reducir
ƒ Aumenta probabilidad de error
z Proceso tedioso, largo y manual
z La variable que aparece en forma negada y no
negada es redundante y se puede eliminar

Base para los métodos de


simplificación Mapa de Karnaugh
z Método básico z Representación matricial de la tabla de
z Buscar repetidamente subconjuntos de 2 verdad de una función
términos que difieran sólo en una variable A
z Eliminar la redundancia B 0 1
AB
z Proceso manual es engorroso 0 0 2
CD 00 01 11 10
1 1 3
z Métodos ordenan la tabla de verdad para AB 00 0 4 12 8
reconocer fácilmente patrones a simplificar C 00 01 11 10 01 1 5 13 9
z Gráficamente (Karnaugh) 0 0 2 6 4 11 3 7 15 11
z En forma tabular (Quine-McCluskey) 1 1 3 7 5 10 2 6 14 10

Correspondencia K-map y
Mapa de Karnaugh minitérminos (3 variables)
z El número al interior de cada celda
z representación decimal para la combinación de
entradas asociada
z Cada celda es un minterm (o maxterm)
z La celda almacena la salida asociada al minterm
z Los índices se forman mediante un código
adyacente (Gray)
z 2 celdas adyacentes tienen distancia 1
z 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 Sea F(X, Y, Z, W) = XY z X’YZ’W está expresado en
F(A, B, C, D) = ∑m(4, 5, 6, 7, 9, 10, 11, 13) + X’WZ + X’YZ’W forma canónica y genera
XY
AB ZW
sólo un minterm
00 01 11 10
CD 00 01 11 10 AB 00 0 0 1 0 z X’WZ genera 2 minterms
00 0 1 0 0
ACD 01 0 1 1 0 (X’WYZ + X’WY’Z)
01 0 1 1 1 11 1 1 1 0
0 1 0 1
z YX genera 4 minterms
11 ABC
10 0 0 1 0
10 0 1 0 1 (YXW’Z’ + YXWZ’ +
z Equivalente a la función YXW’Z + YXWZ)
F(A, B, C, D) = A’B + AB’C + AC’D

Mapas de Karnaugh Celdas adyacentes


z En general, para un función de n variables, z Adyacencia del mapa permite visualizar
un término producto no normalizado de n - r grupos de celdas contiguas a agrupar
z En un mapa de n variables, cada celda es
variables genera 2r minitérminos lógicamente adyacente a otras n celdas
z Si n = 4, z Se considera adyacencia horizontal y vertical,
z Término producto de 4 variables da 1 minterm pero no diagonal AB
A

z Término producto de 3 variables da 2 minterms C 00 01 11 10

z Término producto de 2 variables da 4 minterms 0 000 010 110 100

z Término producto de 1 variable da 8 minterms 1 001 011 111 101

© Mario Medina C. 3
Celdas adyacentes en mapa de Representación alternativa
Karnaugh mapas de Karnaugh
z Indicar sólo las filas y columnas donde las
variables valen 1

Mapa de 4 variables como


diagrama de Venn Subcubos
z Un mapa de Karnaugh z Subcubo: un conjunto de 2r celdas de valor 1
puede representarse o 0 (para minterms o maxterms,
también como un respectivamente), en el que cada celda es
diagrama de Venn lógicamente adyacente a otras r celdas de
valor 1 (o 0)
z Diagrama de Venn z El término producto (o suma) que se obtiene a
para función de 4 partir de un subcubo de 2r celdas se compone de
variables (n-r) literales.
z Círculo y ocho centrales z Sólo aparecen las variables que no cambian en todas
las celdas
se traslapan

Ejemplo de simplificación de Ejemplo de simplificación de


funciones funciones
AB
A z Usando álgebra booleana z Sea el siguiente mapa de
00 01 11 10
CD
F(A, B, C, D) = A’B’C’D + A’BC’D + Karnaugh AB
A
00 0 0 0 0
A’B’CD + A’BCD z La agrupación central es CD 00 01 11 10
01 1 1 0 0
D
F(A, B, C, D) = A’C’D + A’CD redundante 00 0 0 0 0

11 1 1 0 0 F(A, B, C, D) = A’D z Celdas ya están cubiertas por 01 0 0 1 1


C D
otros términos
10 0 0 0 0
z En el mapa, se puede ver la 11 0 1 1 0
z Expresión mínima tiene sólo C
B agrupación óptima de celdas 10 0 0 0 0
2 productos
(minterms) F(A, B, C, D) = AC’D + BCD B

z Demostración gráfica del


teorema del consenso!

© Mario Medina C. 4
Ejemplo de simplificación de
funciones Ejemplos de simplificación
z 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 z La función equivalente es
D
11 1 1 1 1
F(A, B, C, D) = C + A’BD + B’D’
C z 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

Minimización de funciones
Definiciones usando el Mapa de Karnaugh
z Implicante de una función: elemento o grupo z Objetivos de la minimización
de elementos que pueden combinarse en un z Convertir todos los implicantes en implicantes
mapa de Karnaugh y hacen 1 la función primarios
z Implicante primario: implicante que no z Cubrir todos los 1s (o 0s) utilizando el menor
puede combinarse, o no puede ser cubierto número posible de implicantes primarios
por otro implicante de la función z Todos los implicantes primarios esenciales
z Implicante primario esencial: implicante deben estar en el resultado final
primario que contiene celdas no cubiertas z La minimización no es necesariamente única
por ningún otro implicante primario.

© Mario Medina C. 5
Implicantes primarios y Implicantes primarios y
esenciales esenciales
z 6 implicantes primarios z 4 implicantes primarios
A
A’B’D, BC’, AC, A’C’D, AB, B’CD AB BD, CD, AC, B’C
CD 00 01 11 10
A
z 2 implicantes esenciales 00 0 1 1 0 z 3 implicantes esenciales CD
AB
00 01 11 10

AC, BC’ 01 1 1 1 0 BD, AC, B’C 00 0 0 0 0


D
z Expresión mínima 11 1 0 1 1 z Los implicantes esenciales 01 0 1 1 0
D
C
BC’ + AC + A’B’D 10 0 0 1 1 bastan para cubrir el mapa C
11 1 1 1 1

10 1 0 1 1
B z Expresión mínima
B
BD + AC + B’C

Implicantes primarios y
esenciales Simplificación con maxterms
z 5 implicantes primarios z Mismo procedimiento pero agrupando
A’C’D, ABC’, A’BC, ACD, BD A
CD
AB
00 01 11 10 los 0s
z 4 implicantes esenciales
A’C’D, ABC’, A’BC, ACD
00 0 0 1 0
z La formación de un maxterm a partir de los
01 1 1 1 0
z Los implicantes esenciales D valores 0 o 1 de las entradas es inversa a la
11 0 1 1 1

bastan para cubrir el mapa C


10 0 1 0 0
del minterm
z Expresión mínima B
z Equivalente a agrupar los 0s para formar
A’C’D + ABC’ + A’BC + ACD términos producto de F, y luego aplicar
DeMorgan para obtener la expresion en PoS

Simplificación con maxterms


AB
A Condiciones superfluas
CD 00 01 11 10 F = (B + C + D) (A + C + D) (B + C + D)

00 1 0 0 1 z En algunos circuitos pueden existir


01 0 1 0 0 combinaciones de entrada que no pueden
11 1 1 1 1
D
ocurrir
C
10 1 1 1 1
z Aunque en la implementación la salida asumirá
un valor lógico, al diseñador “no le importa” cual
B sea y no es necesario especificarla.
Considerando los 0s como los minterms de F
z Un circuito con entradas BCD 8421 tendrá sólo
10 combinaciones de entradas válidas de las 16
F = B C’ D’ + A C’D + B’C’D posibles.
F = B C’D’ + A C’D + B’C’D z Esto implica que las salidas asociadas al rango 1010 al
F = (B + C + D) (A + C + D) (B + C + D) 1111 pueden tener cualquier valor, pues nunca
ocurrirán.

© Mario Medina C. 6
Funciones con condiciones
Ejercicio: BCD incremento en 1 superfluas
z Sea una función que A
0
B
0
C
0
D
0
W
0
X
0
Y
0
Z
1 z Salidas asumen valor X para las
recibe como entrada 0 0 0 1 0 0 1 0
un dígito en BCD y 0 0 1 0 0 0 1 1 combinaciones de entrada que no importan.
cómo salida genera el 0 0 1 1 0 1 0 0
z Condiciones superfluas, opcionales o
dígito de entrada 0
0
1
1
0
0
0
1
0
0
1
1
0
1
1
0
indiferentes (don’t care)
incrementado en 1 en 0 1 1 0 0 1 1 1 z Estas funciones se llaman incompletamente
forma circular 0 1 1 1 1 0 0 0 especificadas
1 0 0 0 1 0 0 1 z Ojo!! Los términos X no corresponden ni a un 1
1 0 0 1 0 0 0 0
ni a un 0
A W 1 0 1 0 X X X X

B z Aunque si tomarán un valor de salida definido


C F X
Y
1
1
0
1
1
0
1
0
X
X
X
X
X
X
X
X z Un término superfluo es una X tanto en F como en F’
D Z 1 1 0 1 X X X X
1 1 1 0 X X X X
1 1 1 1 X X X X

Funciones con condiciones Condiciones superfluas y K-


superfluas Maps
z Eventualmente, los valores superfluos toman z Los estados superfluos X pueden ser tratados
un valor lógico definido por el diseñador individualmente como 0s o 1s con el fin de
z Generalmente se les asigna un estado inactivo, ayudar en el proceso de minimización
pero esto no simplifica el diseño z Formación de subcubos de mayor orden
z La asignación adecuada de valores de salida AB
00 01 11
A
10 F(A, B, C, D) = ∑m(1,3,5,7,9) + ∑d(6,12,13)
definidos a las condiciones superfluas CD
00 0 0 X 0
pueden simplificar el diseño. 01 1 1 X 1
z Por ejemplo, en el ejemplo anterior, la función 11 1 1 0 0
D

de salida Z podría implementarse simplemente C


10 0 X 0 0
como D’
B

Funciones con condiciones Funciones con condiciones


superfluas (minterms) superfluas (maxterms)
AB A
CD 00 01 11 10
AB A Si tratamos esta X como 1, podemos formar Tratar esta X como 1 simplifica el problema
00 0 0 X 0
CD 00 01 11 10 un subcubo de orden 2.
00 0 0 X 0 01 1 1 X 1
D Si tratamos esta X como 0, podemos formar
01 1 1 X 1
D
11 1 1 0 0 un subcubo de orden 3.
C
11 1 1 0 0 10 0 X 0 0
C
10 0 X 0 0 F(A,B,C,D) = ∑m(1,3,5,7,9) + ∑d(6,12,13) B

B Lo mismo ocurre si deseamos la expresión mínima en PoS


F = A’D + B’C’D (sin considerar las X)
(agrupando 0s):
F = C’D + A’D (considerando las X) F = D(A’ + C’)
Tratar esta X como 0
simplifica el problema.
Si se trata X como 1 en un mapa, debe tratarse igual en el otro
mapa!

© Mario Medina C. 7
Mapa de Karnaugh de 5
variables Mapa de Karnaugh de 5 variables
z Se usan 2 mapas de 4 variables y se deja una z Mapa de 5 variables
variable “afuera” z Dejamos variable A
BC BC “afuera”
DE DE
00 01 11 10 00 01 11 10 z X = DE’ + B’CE + A’BD’
00 0 4 12 8 00 16 20 28 24
1 5 13 9 17 21 29 25
+ BC’D’E
01 01
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 Mapa de Karnaugh de 5


variables variables
BC BC
DE 00 01 11 10
F(A, B, C, D, E) = ∑ m(2,5,7,8,10,13,15,17,19,21,23,24,29,31)
00 01 11 10 DE
A =0 00 A=0 00 1
0 4 12 8
01 01 1 1
1 5 13 9
BC BC 11 11 1 1
DE 00 01 11 10 DE 00 01 11 10 3 7 15 11
3
10 10 1 1
00 0 0 0 1 00 0 0 0 1 2 6 14 10
BC BC
01 0 1 1 0 01 1 1 1 0 DE 00 01 11 10
2 DE 00 01 11 10
A =1 00 A=1 00 1
11 0 1 1 0 11 1 1 1 0 16 20 28 24
01 1 1 1
17 21 29 25 01
10 1 0 0 1 4 10 0 0 0 0
11 11 1 1 1
19 23 31 27
10
1 A=1 18 22 30 26 10
A=0

F(A, B, C, D, E) = ∑ m(2,5,7,8,10,13,15,17,19,21,23,24,29,31)
F(A, B, C, D, E) = C E + A B E + B C D E + A C D E
1 2 3 4 F(A, B, C, D, E) = C E + A B E + B C D E + A C D E

Implicantes esenciales en mapa Representación espejo de


de 5 variables mapa de 5 variables

© Mario Medina C. 8
Representación alternativa Representación alternativa
z Diagrama muestra z Representación
celdas adyacentes alternativa de un
a minitérmino 5 mapa de 5
variables
z Triángulos
superiores son
adyacentes

Mapa de Karnaugh de 6 Mapa de Karnaugh de 6


variables variables
CD
EF 00 01 11 10
EF
CD
00 01 11 10 CD CD
00
AB =00 0 4 12 8
01
AB =00
00 1
EF 00 01 11 10 EF 00 01 11 10
1 5 13 9 01
11
3 7 15 11 11
10 00 0 4 12 8 00 16 20 28 24
2 6 14 10 10 1 1
⎛ 2, 8, 10, 18, 24, ⎞ 17 21 29 25
CD ⎜ ⎟ A=0 01 1 5 13 9 01
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 ⎜ ⎟ 11 3 7 15 11 11 19 23 31 27
01
17 21 29 25 01
⎝ 50, 53, 58, 61 ⎠
11 10 2 6 14 10 10 18 22 30 26
19 23 31 27 11
10
10
18 22 30 26 1 1 CD CD
CD CD
EF 00 01 11 10 EF 00 01 11 10 EF 00 01 11 10 EF 00 01 11 10
AB =11 00 00
48 52 60 56 AB =11
01 49 53 61 57 01 1 1 00 32 36 44 40 00 48 52 60 56
11 11
51 55 63 59
10
50 54 62 58 10 1 1 A=1 01 33 37 45 41 01 49 53 61 57

EF
CD
00 01 11 10
CD 11 35 39 47 43 11 51 55 63 59
EF 00 01 11 10
AB =10 00 32 AB =10 00 34 38 46 42 50 54 62 58
36 44 40 10 10
01 33 37 45 41 01 1 1
11 11
35 39 47 43
10
34 38 46 42 10 1 1 B=0 B=1

Mapa de Karnaugh de 6 Mapas de Karnaugh con


variables variables en el mapa
CD
EF 00 01 11 10
00 1
AB =00
01
11
10 1 1 z Alternativa para representar más variables
CD
EF
AB =01 00
00 01 11 10
1
aún en un mapa
01
⎛ 2, 8, 10, 18, 24, ⎞ z Celdas no almacenan valores 0 ó 1, sino que
⎜ ⎟ 11

F(A, B, C, D, E, F) = ∑ m⎜ 26, 34, 37, 42, 45, ⎟ 10 1

⎜ 50, 53, 58, 61 ⎟ CD


1
almacenan expresiones con variables que no
⎝ ⎠ EF
AB =11 00
00 01 11 10
están en el mapa
01 1 1
F(A, B, C, D, E, F) = D E F + A D E F + A C D F 11

10 1 1

CD
EF 00 01 11 10
00
AB =10
01 1 1
11
10 1 1

© Mario Medina C. 9
Mapas de Karnaugh con Mapas de Karnaugh con
variables en el mapa variables en el mapa
z Ejemplo: representar la z Separamos la función anterior
función F(A, B, C, D) = utilizando la variable D
A’B’C + A’BC + A’BC’D + z A’B’C y A’BC son 1 independiente del
ABCD + (AB’C) en un valor de D
mapa de Karnaugh de 3 z A’BC’D y ABCD son 1 sólo si D es 1
variables z AB’C es redundante
z El último término es
redundante

Mapas de Karnaugh con


variables en el mapa
z Si D es 0, función se
simplifica a A’C
z Si D es 1, función se
simplifica a C + A’B
z Entonces, función F es
F = A’C + D(C + A’B)

© Mario Medina C. 10

También podría gustarte