Vous êtes sur la page 1sur 22

Mtodos de los mapas de

Karnaugh
l

Mtodo de optimizacin en dos niveles

Se puede realizar manualmente hasta 6 variables

Se basa en la Propiedad de adyacencia

E, x B Ex + E x = E( x + x ) = E

(E + x )(E + x ) = E + ( x x ) = E

(dual)

Dos trminos son adyacentes si son idnticos excepto por

un literal, que aparece negado en un trmino y no negado


en el otro
Los dos trminos se simplifican en uno slo con eliminacin
del literal que los diferencia

Aplicacin de la propiedad de
adyacencia
l

Ejemplo:
f (a, b, c ) = (0,1,2,3,7) = a b c + a b c + a b c + a b c + a b c =
3

=
l

ab

ab + bc

+ bc

La observacin de las adyacencias puede ser difcil


en la prctica

Mapas de Karnaugh
l

Mapa que presenta la tabla de verdad de una


funcin de manera que los trminos adyacentes son
contiguos:

Una casilla para cada combinacin o trmino


Las casillas se numeran en cdigo Gray
En un mapa de n variables, cada casilla tiene n casillas

adyacentes que se corresponden con las combinaciones


que resultan de invertir el valor de cada una de las n
variables

Mapas de Karnaugh: adyacencias


l

Dos variables
a

0
1

Tres variables
a

bc

00

01

11

10

bc

00

01

11

10

Mapas de Karnaugh: adyacencias


Cuatro variables

ab

cd

00

01

11

10

ab

cd

00

00

01

01

11

11

10

10

00

01

11

10

Mapas de Karnaugh: adyacencias


l

Cinco variables

bc

de

00

01

11

10

bc

de

00

00

01

01

11

00

10

01

a=0

00

01

11

a=1

10

Mapas de Karnaugh: numeracin


de las casillas
l

Dos variables
a

b
0
1

ab

Tres variables
a

bc

Cuatro variables

00

01

11

10

cd

00

01

11

10

00

01

11

12

13

15

14

10

11

10

Mapas de Karnaugh: numeracin


de las casillas
Cinco variables

bc

de

00

01

11

10

00

01

11

12

13

10

bc

de

00

01

11

10

00

16

17

19

18

01

20

21

23

22

15

14

00

28

29

31

30

11

10

01

24

25

27

26

a=0

a=1

Representacin de una funcin


en el Mapa de Karnaugh
l

Se marcan las casillas que corresponden a los


mintrminos o los maxtrminos de la funcin

Ejemplo:

bc

00

01

11

10

f (a, b, c ) = (0,1,2,3,7) =
3

= ( 4,5,6)
3

bc

00

01

11

10

0
1

Obtencin de una expresin a


partir del Mapa de Karnaugh
l

Se siguen las reglas para mintrminos y maxtrminos

Regla para mintrminos

0 variable negada
1 variable sin negar

bc

00

01

11

10

Regla para maxtrminos

0 variable sin negar


1 variable negada

bc

00

a b c = m3

11

10

0
1

01

0
a + b + c = M5

Simplificacin mediante Mapas


de Karnaugh
l

Dos opciones

Por mintrminos (unos): se obtiene una suma de productos


Por maxtrminos (ceros): se obtiene un producto de sumas

Buscar grupos de casillas adyacentes

Un grupo de 2 casillas adyacentes elimina 1 variable


Un grupo de 4 casillas adyacentes elimina 2 variables
Un grupo de 8 casillas adyacentes elimina 3 variables
Un grupo de 16 casillas adyacentes elimina 4 variables
.

Objetivo: cubrir todos los mintrminos (maxtrminos) con los grupos


ms grandes posibles y con el menor nmero de grupos

Se pueden repetir trminos, si es necesario (propiedad de absorcin)

Simplificacin: formacin de
grupos
ab

cd

00

00

01

11

10

ab

1
1

01

11
10

cd

00

00

01

11

10

abc
bc d

01

11

10

cd

00

11

10

00

01

11

10

bd

ab

01

ab

bd

Simplificacin mediante Mapas


de Karnaugh: Algoritmo
l

Algoritmo sistemtico
1. Cubrir las casillas que no pueden formar grupos de 2
2. Cubrir las casillas que pueden formar grupos de 2, pero no
3.
4.
5.

de 4
Cubrir las casillas que pueden formar grupos de 4, pero no
de 8
Cubrir las casillas que pueden formar grupos de 8, pero no
de 16

Si en algn paso hay ms de una opcin:

Comenzar siempre cubriendo las casillas que tienen


menos opciones

Simplificacin mediante Mapas


de Karnaugh: Ejemplo
ab

cd

00

00

01

ab

10

11

cd

11

10

01

11

10

00

00

01

11

10

1
ab

cd

00

00

01

11

01

ab

10

cd

11

10

01

11

10

00

01

11

10

00

01

Funciones incompletas
l

Una funcin incompletamente especificada (o simplemente


incompleta) es aquella que no est especificada para alguna
combinacin de valores de sus entradas

Las funciones incompletas se dan en la prctica:

Cuando las entradas provienen de otro circuito que no puede


producir determinadas combinaciones por construccin
Cuando existen casos en que el valor de la funcin no tiene
sentido o es indiferente

Notacin:

Un valor indiferente se representa con X -


El conjunto de trminos indiferentes (dont cares) se denota con
la letra

Funciones incompletas
l

Ejemplo: Funcin que determina


si un nmero BCD es impar

Los nmeros del 10 al 15 no tienen


sentido en BCD

f (b3, b2, b1, b0) = (1,3,5,7,9) + (10,11,12,13,14,15) =


4

= (0,2,4,6,8) + (10,11,12,13,14,15)
4

Combinaciones indiferentes

b3

b2

b1

b0

Minimizacin de funciones
incompletas
l

Los trminos indiferentes son comodines : se


pueden cubrir o no, segn convenga para formar
grupos ms grandes
b 1b 0

b 3b 2

b 3b 2

01

11

00

01

11

10

11
10

00

10

b 1b 0

f (b3, b2, b1, b0 ) = b3 b0 + b2 b1 b0

01

11

00

01

00

10

Correcto

f (b3, b2, b1, b0 ) = b0

Funciones mltiples
l

En los circuitos digitales se implementan generalmente


funciones mltiples: varias funciones a la vez o una
funcin de mltiples salidas

Las funciones mltiples se pueden implementar de


forma ptima al considerarlas conjuntamente

Se pueden compartir trminos o partes comunes para ahorrar


lgica

La descomposicin de funciones mltiples de manera


que se maximicen los trminos comunes es difcil

Los algoritmos son difciles de aplicar manualmente


Generalmente lo haremos por inspeccin

Funciones mltiples: Ejemplo


a
b
c
f1(a, b, c, d) = a c + a b c + a c d
f 2(a, b, c, d) = a c + a b c + a c d

a
c
d

f1

a
c

Trminos comunes

a
c
d
a
b
c

f2

Funciones mltiples: Ejemplo


l

Es posible encontrar ms trminos comunes


f1(a, b, c, d) = a c + a b c + a c d = a c + a b c d + a c d
f 2(a, b, c, d) = a c + a b c + a c d = a c + a b c d + a b c

Las expresiones de las funciones no son ptimas por

separado, pero s son ptimas en conjunto!


Las herramientas de diseo incluyen algoritmos para
minimizar funciones mltiples

Funciones mltiples: Ejemplo


a
c
d

f1

a
c

Trminos comunes

a
b
c
d

a
b
c

f2

Sntesis multinivel
l

Si eliminamos la restriccin a dos niveles, se pueden encontrar


mejores soluciones

a
b
c
a
d
a
e

Se utilizan algoritmos heursticos, con ayuda de un ordenador

Ejemplo: f (a, b, c, d, e) = a b c + a d + a e = a (b c + d + e)
b
c

d
e

Multinivel

Vous aimerez peut-être aussi