Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% encontró este documento útil (0 votos)
79 vistas57 páginas

06 Karnaugh

Descargar como pdf o txt
Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1/ 57

Minimización mediante

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.

 Las técnicas tradicionales de minimización:


 Ayudan a minimizar el retardo del circuito resultante
 Minimización en 2 niveles:
 Suma-de-productos (SoP)
 Producto-de-sumas (PoS)
Métodos de minimización lógica

 Se usan las herramientas del álgebra binaria


para reducir las expresiones booleanas.
 No hay algoritmos que aseguren llegar a una
solución mínima
 El resultado depende del conocimiento y la
experiencia del diseñador

 El resultado puede ser más complicado que el


problema original
 El proceso manual es tedioso y largo
Bases para los métodos de simplificación

 Sean las funciones F y G definidas como:


 F(A,B) = AB’ + AB
A B F
 G(A,B) = A’B’ + AB’
0 0 0
0 1 0
 Las simplificaciones nos llevan a: 1 0 1
 F(A,B) = A 1 1 1
 G(A,B) = B’
A B G
0 0 1
Las variables que aparecen en la función
0 1 0
en forma negada y no negada son 1 0 1
redundantes y se eliminan. 1 1 0
Bases para los métodos de simplificación...

 1. Método algebraico básico: 10/57

 Buscar repetidamente subconjuntos de 2


términos que difieran sólo en una variable
 Eliminar la redundancia
El proceso manual es engorroso

 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

Representación matricial de tablas verdad


de 3 funciones: F1(A,B), F2(A,B,C), F3(A,B,C,D)
A
B 0 1
AB
0 0 2
CD 00 01 11 10
1 1 3
00 0 4 12 8
AB 01 1 5 13 9
C 00 01 11 10 3 7 15 11
11
0 0 2 6 4 10 2 6 14 10
1 1 3 7 5

Ejemplos de Mapas de Karnaugh de 2, 3 y 4 variables.


Mapas de Karnaugh (M de K) …

 El número al interior de cada celda:


 Es la representación decimal para la
combinación de entradas asociada a la celda.
 Cada celda es un minterm (o maxterm) :
 La celda almacena la salida asociada al minterm
 Los valores en los ejes utilizan un código
adyacente (Gray):
 2 celdas adyacentes tienen distancia 1
 La última columna (fila) es adyacente con la
primera columna (fila)
Correspondencia entre el M de K y sus
Minitérminos (para 3 variables, F(A,B,C))
Correspondencia M de K y Minitérms
(con 4 variables)
Mapas de Karnaugh…
Mapas de Karnaugh…

 Ej1. Expresar en un K-Map la función:


F(A, B, C, D) = ∑m(4, 5, 6, 7, 9, 10, 11, 13)
AB
CD 00 01 11 10 AB
00 0 1 0 0
ACD
01 0 1 1 1
11 0 1 0 1
ABC
10 0 1 0 1

 La función inicial es equivalente a la


función reducida: F(A, B, C, D) = A’B + AB’C + AC’D
Mapas de Karnaugh…
Dada: F(X,Y,Z,W) = XY + X´WZ + X´YZ´W
Llevarla al M de K
 X’YZ’W está expresado en forma
XY canónica y genera sólo un minterm
ZW 00 01 11 10
00 0 0 1 0  X’WZ genera 2 minterms
01 0 1 1 0
11 1 1 1 0
 YX genera 4 minterms
10 0 0 1 0

En general, cada término no estandar


y faltándole n variables, generará 2n
minitérminos.
Tarea: Expandir F en minitérminos y llevarlos al M de K.
Celdas adyacentes
 La adyacencia en el M de K permite visualizar
grupos de celdas contiguas a ser agrupadas.
 En un mapa de m variables, cada celda es
lógicamente adyacente a otras m celdas
 Se considera la adyacencia horizontal y vertical,
pero no diagonal.
A
AB
C 00 01 11 10

0 000 010 110 100

1 001 011 111 101

B
Celdas adyacentes en mapa de K…
Representación alternativa de los
mapas de Karnaugh
20/57

 Indicar sólo filas y columnas donde las


variables valen 1
Mapa de 4 variables como diagrama de Venn

 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).

 El término producto (o suma) obtenido a partir


de un subcubo de 2r celdas, se compone de
(n-r) literales.
 Sólo aparecen las variables que no cambian en
todas las celdas (del subcubo).
* Importante
Simplificación de funciones
Ejemplo1: F(A, B, C, D) = A’B’C’D + A’BC’D +
A’B’CD + A’BCD

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 el siguiente mapa de AB


A
CD 00 01 11 10
Karnaugh: 00 0 0 0 0
 La agrupación central (rojo)
01 0 0 1 1
es redundante. D
11 0 1 1 0
 Celdas con unos ya están
C
cubiertas por otros términos. 10 0 0 0 0

 La expresión mínima tiene B


sólo 2 productos:
F(A, B, C, D) = AC’D + BCD
Tarea: Demostrar que:
AC’D + BCD + ABD = AC’D + BCD
Ejemplo3: 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.

La minimización no es necesariamente única.


Implicantes primarios y esenciales
Ejemplo 1: Dado el M de K
obtener los implicantes y la
función mínima. Solución: AB
A
CD 00 01 11 10
 6 implicantes primarios: 00 0 1 1 0
A’B’D, BC’, AC, A’C’D, AB, B’CD
01 1 1 1 0
 2 implicantes esenciales: D
11 1 0 1 1
AC, BC’ C
10 0 0 1 1
 Expresión mínima:
B
F(A,B,C,D) = BC’ + AC + A’B’D Ok
Tarea: Escribir la función dada en el M de K:
a) En una Tabla Verdad ; b) En forma de Mint.
c) En forma de Maxt’s.
Implicantes primarios y esenciales…
Ejemplo 2:
 4 implicantes primarios
BD, CD, AC, B’C
A
 3 implicantes prim. esenciales CD
AB
00 01 11 10
BD, AC, B’C 00 0 0 0 0
 Los implicantes prim. esenciales 01 0 1 1 0
bastan para cubrir el mapa de K. 11 1 1 1 1
D

 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

 Es el mismo procedimiento de los Minitérminos,


pero agrupando los 0’s.

 La formación de un maxiterm a partir de las celdas con


valores ceros de las entradas, es inversa a la del
minterm.
 Es equivalente a agrupar los 0´s para formar términos
productos de F, y luego aplicar De Morgan para
obtener la expresion en forma de PoS.
Ej1: Simplificación con maxterms
A
AB
CD 00 01 11 10 F = (B + C + D) (A + C + D) (B + C + D)

00 1 0 0 1

01 0 1 0 0 Ok…
D
11 1 1 1 1
C
10 1 1 1 1

Considerando los minterms de F

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.

Ejemplo1: Un circuito con entradas BCD 8421 tendrá


sólo 10 combinaciones de entradas válidas
de las 16 posibles.
Esto significa que las salidas asociadas al rango 1010-
1111 pueden tener cualquier valor, pues nunca
ocurrirán.
Ejemplo1: BCD incrementado en 1
 Sea un circuito que recibe A B C D W X Y Z

como entrada un dígito en 0 0 0 0 0 0 0 1

BCD y su salida genera el 0 0 0 1 0 0 1 0

mismo dígito de entrada, 0 0 1 0 0 0 1 1


0 0 1 1 0 1 0 0
incrementado en 1, en
forma circular. 0
0
1
1
0
0
0
1
0
0
1
1
0
1
1
0
0 1 1 0 0 1 1 1
0 1 1 1 1 0 0 0
A W 1 0 0 0 1 0 0 1
B F X 1 0 0 1 0 0 0 0
C Y
D 1 0 1 0 X X X X
Z
1 0 1 1 X X X X
1 1 0 0 X X X X
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 superfluas

 Las salidas
asumen el valor x para las
combinaciones de entrada que no importan

 Se les llama condiciones superfluas, opcionales


o indiferentes (don’t care)
 Estas funciones se llaman no-completamente especificadas
 Ojo: Los términos x no corresponden ni a un 1
ni a un 0
 Aunque si tomarán un valor posterior ( 0 ó 1)
 Un término superfluo es una x tanto en F como en F’
Funciones con condiciones superfluas…

 Los valores superfluos toman un valor lógico


definido posteriormente por el diseñador.

 La asignación conveniente de valores de salida,


a las condiciones superfluas, puede simplificar el
diseño.
 En el ejemplo 1 anterior, la función de salida Z podría
implementarse simplemente como D’.
ok
Condiciones superfluas y K-Maps

 Los minitérminos superfluos X pueden ser tratados


individualmente como 0’s ó 1’s con el fin de ayudar
en el proceso de minimización.
 Ayudan en la formación de subcubos de mayor orden
AB A
CD 00 01 11 10

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

Si X se trata como 1 en un mapa de 1’s, 00 0 0 X 0

debe tratarse igual en el otro mapa de 0’s 01 1 1 X 1


D
11 1 1 0 0
Si deseamos la expresión mínima en PoS, C
10 0 X 0 0
agrupando 0s: F = D(A’ + C’)
B
Mapa de Karnaugh
de 5 variables

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)   m2,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

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
Mapa de Karnaugh de 5 variables…

Ej2:

 Mapa de 5 variables

 F = DE’ + B’CE + A’BD’ +


BC’D’E
Ok…
Ej3: Implicantes esenciales en mapas de 5
variables (superposición)

Fmin = D’E’ +A’BC’E’ + BCE + B’C’D’ + ACDE


Ej3 en representación espejo de un
mapa de 5 variables

Tarea: obtener Fmin

Solución: Idéntica a la anterior.


Representación alternativa
 Diagrama muestra
celdas adyacentes
a minitérmino 5
Representación alternativa…

 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 CD Tarea: solucionar ahora…


EF 00 01 11 10 EF 00 01 11 10
AB =10 00 00
32 36 44 40 AB =10
01 33 37 45 41 01 1 1
11 11
35 39 47 43
10 34 38 46 42 10 1 1
Mapa de Karnaugh de 6 variables…
CD
EF 00 01 11 10
00 1
AB =00
01
11
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)

 Es una alternativa para representar


más variables en un mapa de K.

 Las celdas no almacenan valores 0 ó 1, sino que


almacenan expresiones con variables que no
están en el mapa.
Mapas de Karnaugh con
variables en el mapa…
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.
El último término es redundante

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…

 Si D es 0, la función se simplifica a: A’C


 Si D es 1, la función se simplifica a: C + A’B
 Entonces, la función F completa (D=0 y D=1)
es:

F = A’C + D(C + A’B)


Fin de la Unidad

También podría gustarte