Mapas de Karnaugh - Inicio · Departamento de …lsb/elo211/clases/c05.pdfcon el número decimal...

46
1 Profesor Leopoldo Silva Bijit 19-01-2010 Capítulo 5 Mapas de Karnaugh 5.1. Conceptos Esta representación gráfica de una función booleana ha sido utilizada desde 1953. Permite entender los principales conceptos sobre minimización de funciones, pero su uso práctico está limitado a un número relativamente bajo de variables, no más de 5 ó 6. Existe una relación uno a uno entre un mapa y una tabla de verdad. Una tabla tiene un renglón por cada mintérmino; y un mapa, como se verá, tiene un casillero o cuadro asociado a cada mintérmino. El mapa también puede ser considerado una extensión de los diagramas de Venn. Consideremos un diagrama de Venn para dos variables A y B: Figura 5.1 Mintérminos de dos variables en un diagrama de Venn. Si el orden de las variables para la asignación del código de mintérminos es AB, se puede rotular el diagrama con el número decimal asociado al mintérmino, queda: Figura 5.2 Códigos decimales de mintérminos en un diagrama de Venn. Puede observarse que resultan áreas desiguales para cada mintérmino; y que el gráfico refleja las adyacencias entre mintérminos, pero no tan claramente como un 2-cubo, el cual se muestra en la Figura 5.3: 3 B A 1 2 0 A B A A B’ A’ B’ B A’ B

Transcript of Mapas de Karnaugh - Inicio · Departamento de …lsb/elo211/clases/c05.pdfcon el número decimal...

1

Profesor Leopoldo Silva Bijit 19-01-2010

Capítulo 5

Mapas de Karnaugh

5.1. Conceptos

Esta representación gráfica de una función booleana ha sido utilizada desde 1953. Permite entender los

principales conceptos sobre minimización de funciones, pero su uso práctico está limitado a un número

relativamente bajo de variables, no más de 5 ó 6. Existe una relación uno a uno entre un mapa y una tabla de verdad. Una tabla tiene un renglón por cada mintérmino; y un mapa, como se verá, tiene un casillero o cuadro asociado a cada mintérmino. El mapa también puede ser considerado una extensión de los diagramas de Venn. Consideremos un diagrama de Venn para dos variables A y B:

Figura 5.1 Mintérminos de dos variables en un diagrama de Venn.

Si el orden de las variables para la asignación del código de mintérminos es AB, se puede rotular el diagrama con el número decimal asociado al mintérmino, queda:

Figura 5.2 Códigos decimales de mintérminos en un diagrama de Venn.

Puede observarse que resultan áreas desiguales para cada mintérmino; y que el gráfico refleja las adyacencias entre mintérminos, pero no tan claramente como un 2-cubo, el cual se muestra en la Figura 5.3:

3

B A

1 2

0

A B

A

A B’

A’ B’

B

A’ B

2 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

Figura 5.3 Mintérminos de dos variables en un 2-cubo.

En un mapa de Karnaugh para cada mintérmino se adopta un área de igual tamaño y forma cuadrada; y además, estos cuadrados se disponen de tal forma que reflejen las adyacencias. En la Figura 5.4, se ha superpuesto el 2-cubo, con un mapa de dos variables.

Figura 5.4 Mintérminos de dos variables en un mapa de Karnaugh.

La identificación de los cuadros con el número del mintérmino, depende de la elección del orden de las

variables que se haya elegido para la representación decimal equivalente. Por ejemplo, para dos variables A y

B:

0 1

0

1

A

f(A, B)

0 1

2 3

B 0 1

0

1

A

f(B, A)

0 2

1 3

B

Figura 5.5 Número decimal de los mintérminos y el orden de las variables.

La representación de funciones mediante mapas, se logra marcando los mintérminos presentes con un "1"; los ceros suelen omitirse.

Por ejemplo, las funciones AND y OR, de dos variables, se representan en mapas según:

A

f(A,B)

B 0 1

0

1

0 1

0

1

A 0 2

3 1

B

C

A 0 2

3 1

B

C

Capítulo 5. Mapas de Karnaugh 3

Profesor Leopoldo Silva Bijit 19-01-2010

Figura 5.6 Representación de funciones de dos variables en un mapa.

Nótese que 1 3f m ; y que 2 1 2 3f m m m .

Mapa para tres variables. Para tres variables, en orden: A, B y C, se ilustran los mintérminos en un diagrama de Venn y en un 3-cubo:

Figura 5.7 Diagrama de Venn para tres variables y un 3-cubo.

La Figura 5.8, muestra un desarrollo de un 3-cubo. Nótese que al abrir las caras del cubo, los mintérminos

que están a distancia uno, quedan adyacentes (exceptuando los de la cara 0451).

Los códigos de los mintérminos quedan ordenados según código Gray. El 3-cubo muestra también la

propiedad del código Gray de ser reflejado, la cara 0231 y la cara 4675 son 2-cubos con A=0 y A=1

respectivamente.

A B

0 1

0

1

0 0

0 2

0 1

3

1 2

0 1

3

f1(A,B)=A B

B A

1 0

1 1 1 2

0 1

3

f2(A,B)=A + B

7

B A

C

2

1

4

0

3 5

6 A 0

2 6

7

4

5 1

3

C

B

1 0

4 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

Figura 5.8 Del 3-cubo al mapa de Karnaugh de tres variables.

La Figura 5.9 muestra el desarrollo de un 3-cubo sobre el mapa de Karnaugh de tres variables:

Figura 5.9 Mapa de Karnaugh de tres variables y un 3-cubo.

Nótese que 0m es adyacente a 1 2,m m y 4m . En un mapa de Karnaugh se considera que los bordes de los

rectángulos son coincidentes, debido a la propiedad del código Gray de ser cíclico. Los cuatro mintérminos

de los extremos pueden visualizarse como muestra la Figura 5.10:

Figura 5.10 Bordes en un mapa de Karnaugh.

El mapa para tres variables puede obtenerse con dos mapas de dos variables. Resulta práctico colocar en un borde de cada cuadrado el número del mintérmino. De esta forma, resulta cómodo expresar una forma canónica en un mapa.

5.2. Formas de Mapas

A continuación se ilustran mapas, para 3, 4 y 5 variables. Los valores de columnas y renglones se ordenan empleando código Gray, para reflejar mejor las adyacencias. El orden de las variables, para la representación decimal equivalente del mintérmino, figura en la base de cada mapa.

f(A, B, C)

C

AB

00 01

0

1

1

0 2

3

11 10

7

6 4

5

0

6 2

7

5

0

1

4

3

C

B

A

f(A, B, C)

C = 1

2 6

4

3 5

7

f(A, B, C)

B = 1 A = 1

0

1

A = 0

C = 0

Capítulo 5. Mapas de Karnaugh 5

Profesor Leopoldo Silva Bijit 19-01-2010

Figura 5.11 Mapas de Karnaugh para tres y cuatro variables.

La Figura 5.12 muestra una forma alternativa de identificar los mintérminos, indicando las zonas donde las variables toman valor uno.

Figura 5.12 Mapa de Karnaugh para tres variables.

Nótese que el mapa de 5 variables se obtiene a partir de dos mapas de cuatro variables. A uno se le antecede un cero en la codificación de las columnas y al otro un 1.

La Figura 5.13 muestra un mapa para 5 variables codificado en Gray.

C

AB

00 01

0

1

1

0 2

3

11 10

7

6 4

5

f(A, B, C)

CD

AB

00 01

00

01

1

0 4

5

11 10

13

12 8

9

11

10

2

3 7

6

14

15 11

10

f(A, B, C, D)

C

A

B

6 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

Figura 5.13 Mapa de Karnaugh de cinco variables, codificado en Gray.

Sin embargo esta forma de generar mapas, no refleja bien las adyacencias. En un mapa de cinco variables cada mintérmino tiene cinco adyacentes, pero sólo pueden dibujarse cuatro cuadrados adyacentes en un lado a un cuadrado. Por ejemplo, en la Figura 5.13, se visualiza bien que el mintérmino 5 tiene adyacentes los mintérminos: 1, 4, 7 y 13; pero no tan claramente que también es adyacente al 21. Otra forma es una representación de mapas apilados en el espacio, como se muestra en la Figura 5.14. De esta forma puede visualizarse las adyacencias en diferentes planos. En esta representación se visualiza mejor que el mintérmino 5 es adyacente con el 21.

DE

ABC

000 001

00

01

1

0 4

5

011 010

13

12 8

9

11

10

2

3 7

6

14

15 11

10

f(A, B, C, D, E)

110 111

25

24

0

28

29

101 100

21

20 16

17

26

27 31

30

22

23 19

18

Capítulo 5. Mapas de Karnaugh 7

Profesor Leopoldo Silva Bijit 19-01-2010

Figura 5.14 Mapa de Karnaugh apilable de cinco variables.

Mapas para 6 o más variables son difíciles de manejar.

5.3. Manejo de Mapas

Los siguientes conceptos son útiles en la manipulación de mapas:

a) Un mapa de n variables tiene 2ncuadros.

b) Cada bloque o casillero de un mapa de n variables, tiene n bloques adyacentes; ya que los códigos

binarios de los n mintérminos adyacentes están a distancia uno.

c) Un bloque está asociado a un producto o cubo que contiene las n variables, pudiendo éstas estar o no

complementadas.

d) Agrupando dos bloques adyacentes, se logra un producto de (n-1) variables.

e) Los bloques pueden agruparse en un número que es una potencia de dos; es decir: 2, 4, 8, 16, etc.

f) Agrupando 2kbloques, que forman un k-cubo, la expresión booleana asociada es la que resulta de eliminar

k variables de las n correspondientes a un mintérmino.

Los siguientes mapas ilustran el concepto de agrupaciones de números pares de mintérminos, que forman

subcubos.

f(A, B, C, D, E)

DE

ABC

000 001

00

01

1

0 4

5

011 010

13

12 8

9

11

10

2

3 7

6

14

15 11

10

100 101

17

16

0

20

21

111 110

29

28 24

25

18

19 23

22

30

31 27

26

A=0

A=1

8 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

Figura 5.15 Agrupaciones de 8 y 4 mintérminos en un Mapa de Karnaugh de cuatro variables.

Figura 5.16. 2-cubo y mintérmino en un Mapa de Karnaugh de cuatro variables.

Para n = 4:

a) Un mintérmino se expresa como un producto de 4 variables.

b) Una agrupación de 2 mintérminos, que forman un 1-cubo (o que son adyacentes), puede expresarse en tres

variables.

c) Una agrupación de 4 mintérminos, que forman un 2-cubo, se expresa en dos variables.

d) Una agrupación de32 mintérminos, que forman un 3-cubo, reduce en 3 las variables; es decir, esta

agrupación puede expresarse como una variable.

e) Una agrupación de los42 mintérminos (forman un 4-cubo), puede expresarse como 1. Es decir, en 0

variables.

f) Nótese que bajo el mapa suele escribirse la función que éste representa.

g) La lectura de la expresión asociada a un grupo, se efectúa por la intersección de las zonas asociadas a las

variables.

h) El número de grupos de un literal, en caso de n variables, aplicando la fórmula desarrollada en 4.4, es:

CD

AB

00 01

00

01

0 0

0 0 1

0 4

5

11 10

1 1

1 1 13

12 8

9

11

10

0 0

0 0 2

3 7

6

1 1

1 1 14

15 11

10

f(A, B, C, D)=A

CD

AB

00 01

00

01

0 0

0 0 1

0 4

5

11 10

1 0

1 0 13

12 8

9

11

10

0 0

0 0 2

3 7

6

1 0

1 0 14

15 11

10

f(A, B, C, D)=AB

CD

AB

00 01

00

01

0 0

0 0 1

0 4

5

11 10

0 0

0 0 13

12 8

9

11

10

0 0

0 0 2

3 7

6

1 0

1 0 14

15 11

10

f(A, B, C, D)=ABC

CD

AB

00 01

00

01

0 0

0 0 1

0 4

5

11 10

0 0

0 0 13

12 8

9

11

10

0 0

0 0 2

3 7

6

1 0

0 0 14

15 11

10

f(A, B, C, D)=ABCD

Capítulo 5. Mapas de Karnaugh 9

Profesor Leopoldo Silva Bijit 19-01-2010

Para n=4, se tienen 8 grupos de un literal:

i) Los grupos de 2 literales, en caso de n variables, está dado por:

Con n=4, se tienen 24 grupos de dos literales:

j) Los grupos de k literales, cuando se tienen n variables, quedan dados por: Con k n :

Cuando k es igual a n, se logra el número de mintérminos.

k) Debido al alto número de subcubos, es importante ejercitarse en ubicarlos en el mapa.

Los menos evidentes son aquellos que se encuentran en los bordes.

Ejemplos de estos casos, para n=4: b’d’, b’c, a’b’d’, a’bd’

5.4. Uso de mapas

La obtención del mapa, a partir de una forma canónica es asunto trivial, si los casilleros han sido rotulados con los números decimales de los mintérminos. La obtención del mapa, a partir de una forma “suma de productos” puede obtenerse empleando los conceptos desarrollados en manejo de mapas en el punto 5.3, para representar los cubos de cada producto. Aplicando la inducción perfecta los mapas pueden emplearse para demostrar teoremas, y también para verificar alguna proposición del álgebra de Boole.

La principal aplicación de los mapas es la minimización de funciones, realizada en forma manual, lo que

resulta conveniente para 5 o menos variables.

Ejemplo 5.1. Mapa a partir de los mintérminos.

Obtener el mapa de: ( , , ) (1,2,5)f A B C m

Basta marcar con un uno los mintérminos presentes. Se obtiene:

1 ! 2 2 2

1 1!( 1)!

n nn

n

DCBADCBA ,,,,,,,

k

knk

n2

)!(!

!

2

n

AB, A'B, AB', A'B'

AC, A'C, AC', A'C'

AD, A'D, AD', A'D'

BC, B'C, BC', B'C'

BD, B'D, BD', B'D'

CD, C'D, CD', C'D'

22

2 2!2 2 2 ( 1)

2 2!( 2)!

n nn n

n

10 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

Figura 5.17. Mapa de Karnaugh a partir de lista de mintérminos.

Ejemplo 5.2. Mapa a partir de expresión.

Obtener el mapa de la siguiente función:

Para tres variables: Un mintérmino tiene 3 literales; una agrupación de dos mintérminos adyacentes tiene una expresión dependiente de dos variables.

Para aclarar el método, se dibujará un mapa para cada producto. Con un poco de experiencia, todos los

productos pueden dibujarse en el mismo mapa.

Para los cubos: A’C y B’C se obtienen:

Figura 5.18. Un mapa de Karnaugh por producto.

Y para A'BC: Finalmente:

( , , ) ' ' 'f A B C A C BC A BC

C

AB 00 01

0

1

1 1 1

0 2

3

11 10

7

6 4

5

f1(A, B, C)=A'C

C

AB

00 01

0

1

1

1

0 2

3

11 10

1

7

6 4

5

f2(A, B, C)=BC'

C

AB

00 01

0

1

1

1 1

0 2

3

11 10

1 7

6 4

5

( , , ) (1,2,5)f A B C m

Capítulo 5. Mapas de Karnaugh 11

Profesor Leopoldo Silva Bijit 19-01-2010

Figura 5.19. Mapa de Karnaugh de un mintérmino y de la función completa.

El mapa anterior permite escribir la forma canónica:

( , , ) (1,2,3,6)f A B C m

Nótese que el producto A'BC está incluido en A'C

Los mintérminos se marcan sólo una vez. Esto por idempotencia, ya que: i i im m m .

Ejemplo 5.3. Uso de mapas en la demostración de teoremas.

Dadas dos funciones, si se desea probar su equivalencia, la aplicación de los mapas simplifica largas

demostraciones algebraicas. Sólo es preciso obtener un mapa para cada una de las funciones, y luego

comparar la igualdad de sus formas canónicas.

Demostrar el teorema de De Morgan:

La expresión del lado derecho tiene el mapa que figura a la izquierda en la Figura 5.20. A la derecha de la

Figura 5.20 se tiene el mapa para el OR de las variables.

Figura 5.20. Mapas de Karnaugh en la demostración de teoremas.

Negando el mapa para la función OR, se obtiene idéntico mapa al de f1. Entonces f1 y f2’ son equivalentes por

tener igual forma canónica, lo cual demuestra por inducción completa la proposición, conocida como teorema

de De Morgan.

A

0 1

0

1

1

1

0 2

3

f1(A,B)=A'B'

B

A 0 1

0

1

1

1 1 1

1

0 2

3

f2(A,B)=A+B

C

AB

00 01

0

1

1 1

0 2

3

11 10

7

6 4

5

f3(A, B, C)=A'BC

C

AB

00 01

0

1

1

1 1 1

0 2

3

11 10

1

7

6 4

5

f(A, B, C)=A'C+BC'+A'BC

( ) ' ' 'a b a b

12 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

5.5. Minimización usando mapas de Karnaugh.

La simplificación de expresiones booleanas mediante reducciones puramente algebraicas presenta dificultades, ya que no puede encontrarse un procedimiento sistemático general, para efectuar la reducción. Además se presenta la dificultad de cómo saber que se ha encontrado la forma mínima. Los mapas, muestran la estructura interna de la función, facilitando la agrupación en subcubos. Se han desarrollado herramientas de diseño lógico que permiten efectuar minimizaciones para funciones de una o varias variables. Sin embargo los algoritmos y heurísticas en que están basados no son fáciles de entender, ya que conceptualizan aspectos de las funciones booleanas que son más adecuadas a un tratamiento algorítmico, mediante un computador. A continuación desarrollaremos métodos gráficos, basados en mapas, y que están limitados a un número reducido de variables (no más de 6), ya que su exposición permitirá entender los métodos automáticos, así como también permitir diseñar, con papel y lápiz, algunos casos sencillos.

5.5.1. Minimización como suma de productos.

Podemos plantear el problema de minimización diciendo que se desea obtener, a partir de una expresión booleana, una forma equivalente que contenga un número mínimo de términos, y tal que cada término tenga el mínimo número de literales posible. El método consiste en dibujar el mapa a partir de la función, y luego leer desde el mapa agrupando convenientemente los mintérminos presentes. Deben respetarse las siguientes reglas:

Deben agruparse tantos bloques como sea posible; ya que mientras mayor sea la agrupación, menor será el

número de literales.

Debe formarse el menor número de agrupaciones de bloques; ya que a menor número de grupos, se tendrá

menor número de términos.

Un bloque puede ser usado muchas veces, en distintas agrupaciones; pero a lo menos una vez. Una técnica consiste en formar primero los grupos con menor número de adyacencias. Por esta razón, los primeros mintérminos que deben marcarse son aquellos que no tienen adyacencias.

Ejemplo 5.4. Minimización a partir de los mintérminos

Se tiene:

Figura 5.21. Mapa de Karnaugh a partir de los mintérminos.

Si se considera primero la agrupación de los mintérminos (2, 3, 6, 7) que puede leerse como B, podría inducir, en caso de mapas complejos, a no agrupar convenientemente al mintérmino A’B’C’, que sólo tiene una adyacencia.

C

AB

00 01

0

1

1 1

1 1

0 2

3

11 10

1

1 7

6 4

5

f(A, B, C)= (0,2,3,6,7)

Capítulo 5. Mapas de Karnaugh 13

Profesor Leopoldo Silva Bijit 19-01-2010

Considerando formar grupos mayores con los mintérminos que tienen menos adyacencias quedan las siguientes agrupaciones de mintérminos: (0, 2) y (2, 3, 6, 7).

Figura 5.22. Agrupaciones en el Mapa de Karnaugh.

Veremos a continuación un ejemplo más complejo.

Ejemplo 5.5. Formación de grupos de mintérminos en minimización basada en mapas.

Se desea minimizar: f(A, B, C, D) = m(0, 1, 3, 8, 9, 11, 13, 14) Dibujando un mapa para cuatro variables, se logra:

Figura 5.23. Mapa de Karnaugh con los mintérminos.

Se observa que:

14m no tiene mintérminos adyacentes. Por esta razón no puede agruparse.

13m tiene un mintérmino adyacente. Por lo tanto, sólo puede agruparse con 9m .

0 3 8, ,m m m y 11m tienen dos mintérminos a distancia uno.

1m tiene 3 mintérminos adyacentes.

9m tiene 4 mintérminos a distancia uno.

Los grupos que forman sub-cubos suelen marcarse en al mapa, encerrando los mintérminos del grupo con una

línea cerrada.

C

AB

00 01

0

1

1 1

0 1 1

0 2

3

11 10

1 0

1 0 7

6 4

5

f(A, B, C)=B+A’C’

A’C’

B

CD

AB

00 01

00

01

1

1 1

0 4

5

11 10

1

1 1 13

12 8

9

11

10

1

2

3 7

6

1

1 14

15 11

10

f(A, B, C, D)= (0,1,3,8,9,11,13,14)

14 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

Ya se tienen los grupos:( 14m ) y (9m y 13m ); puede formarse ( 0 1 8 9, , ,m m m m ), con el objeto de hacer el grupo

lo mayor posible.

Sólo falta considerar 3m y 11m , que a su vez forman un grupo. Sin embargo, conviene efectuar la

agrupación: ( 1 3 9 11, , ,m m m m ), que emplea 1m y 9m , ya considerados, con el objeto de hacer el grupo lo mayor

posible.

Resulta finalmente: f(A,B,C,D)=ABCD’+AC'D+B’D+B’C’

Figura 5.24. Mínimo número de grupos.

Ejemplo 5.6.

Minimizar: f(A, B, C, D) = m(0, 1, 2, 7, 8, 9, 10, 15)

Figura 5.25. Solución ejemplo 5.6.

CD

AB

00 01

00

01

1 0

1 0 1

0 4

5

11 10

0 1

1 1 13

12 8

9

11

10

1 0

0 0 2

3 7

6

0 1

1 0 14

15 11

10

f(A,B,C,D)=ABCD’+AC'D+B’D+B’C’

CD

AB

00 01

00

01

1 0

1 0 1

0 4

5

11 10

0 1

0 1 13

12 8

9

11

10

0 1

1 0 2

3 7

6

1 0

0 1 14

15 11

10

f(A, B, C, D)=BCD+B’D’+B’C’

Capítulo 5. Mapas de Karnaugh 15

Profesor Leopoldo Silva Bijit 19-01-2010

Ejemplo 5.7.

Minimizar: f(A, B, C, D, E) = m(0,2,4,7,10,12,13,18,23,26,28,29).

Figura 5.26. Solución ejemplo 5.7.

Nótese que la representación es de sub-mapas apilados, pero dibujados en un plano. Se tienen los siguientes grupos: (7,23); (0,4); (12,13,28,29); (2,10,18,26)

5.5.2. Minimización en forma de producto de sumas.

El método consiste en desarrollar el mapa para f, a partir de la forma canónica. Luego se obtiene el mapa para f negado, de esta forma, se puede leer el producto de maxtérminos de f, como la suma de mintérminos de f’. Así se obtiene la forma mínima como suma de productos. Después se obtiene por involución, la función f; y finalmente se aplica De Morgan. Para una función dada, siempre deberán obtenerse los dos diseños; es decir la forma suma de productos y producto de sumas, ya que no es posible obtener una relación que indique cual de las dos formas será mínima.

Ejemplo 5.8

Para el mapa de la Figura 5.27, se pueden obtener las formas canónicas:

La suma de mintérminos, resulta:

f(A, B, C, D)= m(0, 1, 3, 4, 8, 9, 10, 11, 12, 13, 14, 15) La suma de maxtérminos, puede obtenerse según:

f’ = m(2, 5, 6, 7) = m2 + m5 + m6 + m7

Aplicando De Morgan, resulta:

f = m2’ m5’ m6’ m7’ = M2 M5 M6 M7= M(2, 5, 6, 7)

La función f, puede expresarse como suma de productos según:

f(A, B, C, D) = A + C’D’ + B’D con 5 literales.

DE

ABC

000 001

00

01

1 1

0 0 1

0 4

5

011 010

1 0

1 0 13

12 8

9

11

10

0 1

1 0 2

3 7

6

0 0

0 1 14

15 11

10

f(A, B, C, D, E)=B’CDE+A’B’D’E’+BCD’+C’DE’

100 101

0 0

0 0 17

16

0

20

21

111 110

1 0

1 0 29

28 24

25

0 1

1 0 18

19 23

22

0 0

0 1 30

31 27

26

16 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

También del mapa de f’, puede leerse, como suma de productos, según:

f ’ = A’BD + A’CD’

Aplicando De Morgan, puede expresarse como producto de sumas según:

f(A, B, C, D) = (A + B’ + D’)(A + C’ + D) con 6 literales.

Figura 5.27. Solución ejemplo 5.8.

Resulta mínima la forma suma de productos.

Ejemplo 5.9.

Minimizar, según producto de sumas: f(A,B,C,D) = (4,5,7,8,10,11,12,13,15) Para f(A,B,C,D) se tiene:

Figura 5.28. Mapa con los mintérminos de ejemplo 5.9

Luego, para f ' el mapa resulta:

CD

AB

00 01

00

01

0 1

0 1 1

0 4

5

11 10

1 1

1 0 13

12 8

9

11

10

0 1

0 0 2

3 7

6

1 1

0 1 14

15 11

10

CD

AB

00 01

00

01

1 1

1 0 1

0 4

5

11 10

1 1

1 1 13

12 8

9

11

10

1 0

0 0 2

3 7

6

1 1

1 1 14

15 11

10

Capítulo 5. Mapas de Karnaugh 17

Profesor Leopoldo Silva Bijit 19-01-2010

Figura 5.29. Mapa con los mintérminos de f’

Formando los siguientes grupos, en el mapa: (0, 1, 3, 2); (6, 14); (1, 9). Se obtiene: f’= A’B’ + BCD’ + B’C’D Por involución: (f’)’ = f = (A’B’ + BCD’ + B’C’D)’ Por De Morgan: f = (A’B’)’ (BCD’)’ (B’C’D)’ Finalmente, por De Morgan:

f = (A +B) (B’ +C’ +D) (B +C +D’) Con un poco de práctica, pueden agruparse los ceros en el primer mapa, y leer directamente las sumas, complementando las variables.

5.5.3. Condiciones superfluas (don't care)

Algunas funciones booleanas son completamente especificadas para todas las combinaciones posibles de sus variables. Se denominan funciones incompletamente especificadas cuando se establece que el valor de la función es "1" para ciertas combinaciones, "0" para otras y un valor cualquiera para el resto. Los mintérminos pueden agruparse en tres conjuntos: conjunto que activa la función (on set), conjunto que desactiva la función (off set) y conjunto de mintérminos superfluos (dc set). Los mintérminos que pueden ser especificados con valor "1" ó "0"; es decir: con cualquier valor, se denominan “condiciones superfluas”, o que “no importan” (don’t care). Ejemplo de esta situación, es cuando existe dependencia entre las variables de entrada; ésta puede originar que nunca se produzcan ciertas combinaciones de valores de las variables de entrada. La presencia de estas condiciones flexibiliza el diseño de circuitos combinacionales; ya que posibilita aumentar el tamaño de las agrupaciones, mediante la asignación de valor "1" a ciertas condiciones superfluas y "0" a otras, según convenga para aumentar los grupos de mintérminos que forman sub-cubos. Debe tenerse presente que no deben formarse agrupaciones que sólo contengan términos superfluos.

CD

AB

00 01

00

01

1

1 1

0 4

5

11 10

1 13

12 8

9

11

10

1

1 1 2

3 7

6

1 14

15 11

10

f '(A, B, C, D)

18 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

En el mapa, las condiciones superfluas pueden marcarse con una "d" o con una “X”. En algunos textos se emplea el símbolo ; el símbolo original representaba un "1" sobre un "0".

Ejemplo 5.10.

Se tiene f(A,B,C) = m(0,5) + d(1,4,7). En un mapa:

Figura 5.30. Mapa con condiciones superfluas.

Sin emplear las condiciones superfluas, se tiene: f = A’B’C’ + AB’C, con 6 literales.

Puede agruparse (0,1) y (5,7). En este caso: f = A’B’ + AC, con 4 literales.

Sin embargo, la agrupación más conveniente es (0, 1, 4, 5), y así se obtiene, con un literal:

f = B’

Nótese que: f(A,B,C) = (2,3,6) D(1,4,7) es decir, los maxtérminos superfluos tienen iguales números que los mintérminos superfluos. También se tienen:

f’(A, B, C) = m(2, 3, 6) + d(1, 4, 7) f’(A, B, C) = M(0, 5) D(1, 4, 7)

Si en el ejemplo anterior, se minimiza la función f, como suma de productos, se logra: f’=B. Obteniendo un resultado igual al anterior.

Figura 5.31. Mapa con condiciones superfluas de f’

Debido a la presencia de condiciones superfluas, no se cumplirá siempre que: f = (f ')'

C

AB

00 01

0

1

1

d 1

0 2

3

11 10

d

d 1 7

6 4

5

f(A, B, C)

C

AB

00 01

0

1

1

d 1 1

0 2

3

11 10

1 d

d 7

6 4

5

f '(A, B, C)

Capítulo 5. Mapas de Karnaugh 19

Profesor Leopoldo Silva Bijit 19-01-2010

No obstante, tanto f como (f ')' contienen los mintérminos especificados en la lista de f.

Ejemplo 5.11.

Puede comprobarse que f y (f ')' no son iguales, para la siguiente función que contiene mintérminos superfluos: f(A, B, C) = m(0, 1, 5) + d(2, 6) = A’C’ + B’C f’(A, B, C) = m(3, 4, 7) + d(2, 6) = B + AC’ f’’(A, B, C) = ( B + AC’)’ = B’ (AC’)’ = B’(A’+C) = A’B’ + B’C A’C’ + B’C

Ejemplo 5.12.

Diseñar traductor de código BCD a exceso-3. El código exceso-3, representa los dígitos decimales mediante su equivalente binario más tres. Tiene propiedades aritméticas que lo hacen útil en manipulaciones. Nótese que se tiene un sistema con cuatro entradas y cuatro salidas: Se ha asumido que la cifra BCD se

dispone en paralelo, y se desea lograr la equivalente exceso-3, también en paralelo. Se tiene:

BCD exceso-3

0 0000 0011 1 0001 0100 2 0010 0101 3 0011 0110 4 0100 0111 5 0101 1000 6 0110 1001 7 0111 1010 8 1000 1011 9 1001 1100

wxyz 4 3 2 1f f f f

Figura 5.32. Tabla traductor BCD a Exceso-3.

Si se conoce que en la entrada se tendrá una cifra BCD, entonces algunas combinaciones de las variables w, x, y, z deben tratarse como condiciones superfluas. Es el caso de los mintérminos con equivalentes binarios 1010 hasta 1111. En un mapa, esto puede anotarse:

20 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

Figura 5.33. Mapa de las condiciones superfluas del ejemplo 5.13.

Las expresiones canónicas para las funciones de salida son:

f1 = m(0,2,4,6,8) + d(10,11,12,13,14,15) f2 = m(0,3,4,7,8) + d(10,11,12,13,14,15) f3 = m(1,2,3,4,9) + d(10,11,12,13,14,15) f4 = m(5,6,7,8,9) + d(10,11,12,13,14,15)

Minimizando, para cada una de las funciones por separado, se logra para el sistema de múltiples salidas, con 17 entradas:

f1 = z’ f2= y’ z’ + yz f3= x’y + x’z + xy’z’ f4 = x’w +yw’z’

Puede apreciarse que en un sistema de salidas múltiples existe la posibilidad de ahorrar material: usando

parte o la totalidad de los productos de una función como partes de otra. Ejemplo de esto es el factor y’z' de

f2, que puede usarse en f3.

Una minimización multinivel con cuatro nodos, resulta con 16 literales:

f4 = w + x y + x z

f3 = f4' x + f4' y + f1' x'

f2 = f1 y' + f1' y

f1 = z'

Con un nodo adicional, resultan 13 literales.

f4 = x*nodo + w;

f3 = x*nodo’ + x’*nodo;

f2 = y*z + nodo’;

f1 = z’;

nodo = z + y;

Si se presenta una cifra BCD inválida en la entrada, la salida también será errónea. Para usar confiablemente

el circuito combinacional, diseñado empleando condiciones superfluas, debe asegurarse que la entrada sea

una cifra BCD válida.

yz

wx

00 01

00

01

1

0 4

5

11 10

d

d 13

12 8

9

11

10

2

3 7

6

d d

d d 14

15 11

10

f(w, x, y, z)

Capítulo 5. Mapas de Karnaugh 21

Profesor Leopoldo Silva Bijit 19-01-2010

Problemas resueltos.

Problema 5.1. Comparador binario.

Primero es conveniente definir las variables que se emplearán:

Se tienen, como entradas, dos números (N1 y N2) de dos cifras binarias cada uno.

Las salidas o los resultados de la comparación serán tres señales que denominaremos: Lt por less than (menor

que), Eq por equal (igual), y Gt por greather than (mayor que).

Asumiremos que la cifra más significativa de N1 será A, y B la menos significativa; la cifra más significativa

de N2 será C, y D la menos significativa.

Un diagrama general de las entradas y salidas del módulo combinacional que se diseñará es el siguiente:

LT

EQ

GT

A B < C D

A B = C D

A B > C D

A

B

C

D

N1

N2

Figura P5.1 Diagrama funcional comparador.

A continuación se especifica el diseño mediante una tabla de verdad. Ésta tiene 16 renglones.

Cuando N1 igual a N2 se activa la señal EQ.

Cuando N1 es mayor que N2 se activa la señal GT.

Cuando N1 es menor que N2 se activa la señal LT.

Figura P5.2. Tabla del comparador.

A continuación se plantean los 3 mapas de 4 variables y se efectúa la minimización, se obtienen:

LT = A'B'D + A'C + B'CD

A B C D LT EQ GT

0 0 0 0 0 1 0

0 0 0 1 1 0 0

0 0 1 0 1 0 0

0 0 1 1 1 0 0

0 1 0 0 0 0 1

0 1 0 1 0 1 0

0 1 1 0 1 0 0

0 1 1 1 1 0 0

1 0 0 0 0 0 1

1 0 0 1 0 0 1

1 0 1 0 0 1 0

1 0 1 1 1 0 0

1 1 0 0 0 0 1

1 1 0 1 0 0 1

1 1 1 0 0 0 1

1 1 1 1 0 1 0

22 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

EQ = A'B'C'D' + A'BC'D + ABCD + AB'CD' = XNOR(A, C) XNOR(B, D)

GT = BC'D' + AC' + ABD'

Problema 5.2. Multiplicador de dos números binarios de dos cifras cada uno.

Primero se definen las variables que se emplearán:

Los resultados de la multiplicación son cuatro señales que denominaremos: P3 el bit más significativo del

producto, hasta P0 que será el bit menos significativo del producto. También asumiremos que la cifra más

significativa de N1 será A, y B la menos significativa; la cifra más significativa de N2 será C, y D la menos

significativa. Un diagrama general de las entradas y salidas del módulo combinacional que se diseñará es el

siguiente:

Figura P5.3. Diagrama funcional multiplicador.

A continuación se especifica el diseño mediante una tabla de verdad. Ésta tiene 16 renglones.

Figura P5.4. Tabla de verdad de multiplicador.

Luego se plantean 4 mapas de 4 variables. Después se minimiza, y se obtienen:

P3 = ABCD

P2 = AB’C + ACD’

P1 = AB'D + AC'D + BCD' + A'BC

P0 = BD

Problema 5.3. Incrementador en uno de cifra BCD.

Se asume que en la entrada se tiene una cifra BCD válida.

P2

P0

P3

A

B

C

D

N1

N2 P1

A B C D P3 P2 P1 P0

0 0 0 0 0 0 0 0

0 0 0 1 0 0 0 0

0 0 1 0 0 0 0 0

0 0 1 1 0 0 0 0

0 1 0 0 0 0 0 0

0 1 0 1 0 0 0 1

0 1 1 0 0 0 1 0

0 1 1 1 0 0 1 1

1 0 0 0 0 0 0 0

1 0 0 1 0 0 1 0

1 0 1 0 0 1 0 0

1 0 1 1 0 1 1 0

1 1 0 0 0 0 0 0

1 1 0 1 0 0 1 1

1 1 1 0 0 1 1 0

1 1 1 1 1 0 0 1

Capítulo 5. Mapas de Karnaugh 23

Profesor Leopoldo Silva Bijit 19-01-2010

Primero se plantean las variables que se emplearán.

La entrada son cuatro señales que denominaremos: E3 el bit más significativo de la cifra BCD, hasta E0 que

será el bit menos significativo. La salida son cuatro señales que denominaremos: S3 el bit más significativo

de la cifra BCD aumentada en uno, hasta S0 que será el bit menos significativo.

Figura P5.5. Diagrama funcional incrementador BCD.

Se asume que cuando a 9 se le suma 1 se obtiene cifra decimal 0. Se descarta la reserva.

Se completa la tabla de verdad.

Figura P5.6. Tabla de verdad del incrementador BCD

Se plantean 4 mapas de 4 variables y se minimiza, empleando condiciones superfluas, se obtienen:

S3 = E2 E1 E0 + E3 E0' S2 = E2 E1' + E2 E0' + E2' E1 E0

S1 = E3' E1' E0 + E1 E0'

S0 = E0'

Problema 5.4. Semisumador binario.

Se denomina semi-sumador a un dispositivo que permite sumar, en binario, dos variables de entrada de un bit

(Ai y Bi). El sistema debe generar dos salidas: la suma (Si) y la reserva de salida (Ci carry).

La tabla de verdad resulta:

S2

S0

S3

E3

E2

E1

E0

S1

E3 E2 E1 E0 S3 S2 S1 S0

0 0 0 0 0 0 0 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 d d d d

1 0 1 1 d d d d

1 1 0 0 d d d d

1 1 0 1 d d d d

1 1 1 0 d d d d

1 1 1 1 d d d d

24 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

Figura P5.7. Tabla de verdad del semisumador

Del mapa pueden leerse las siguientes ecuaciones:

Si = Ai’Bi + AiBi’ = Ai Bi

Ci = Ai Bi

Figura P5.8. Implementación semisumador.

Problema 5.5. Sumador completo.

Si se desea sumar variables de varios bits se requiere un sumador completo, que tenga una tercera entrada

denominada reserva de entrada (carry-in):

Figura P5.9. Diagrama funcional sumador completo de un bit.

Se tiene la siguiente tabla de verdad:

Figura P5.10. Tabla de verdad del sumador completo de un bit.

El esquema de la Figura P5.11, muestra una suma de cuatro bits en base a la conexión de cuatro sumadores

completos:

Ai Bi Ci Si

0 0 0 0

0 1 0 1

1 0 0 1

1 1 1 0

Bi

Ai Si

Ci

Ai Bi Ci

Si Ci+1

Ai Bi Ci Ci+1 Si

0 0 0 0 0

0 0 1 0 1

0 1 0 0 1

0 1 1 1 0

1 0 0 0 1

1 0 1 1 0

1 1 0 1 0

1 1 1 1 1

Capítulo 5. Mapas de Karnaugh 25

Profesor Leopoldo Silva Bijit 19-01-2010

Figura P5.11. Diagrama funcional sumador completo de cuatro bits.

Las ecuaciones, para la tabla de la Figura P5.10, resultan:

Si = C i A i B i

C i +1 = B i C i + A i C i + A i Bi = C i (A i + B i) + A i B i

Un esquemático que representa a las ecuaciones anteriores se muestra en la Figura P5.12.

Figura P5.12. Red para sumador completo.

Un sumador completo, puede implementarse mediante dos semi-sumadores, observando que:

C i +1 = B i C i + A i C i + A i Bi = C i (A i + B i) + A i B i = C i (A i B i) + A i B i

Figura P5.13. Sumador completo mediante dos semisumadores.

Problema 5.6. Detección y corrección de errores en bits. Hamming.

En sistemas digitales, determinadas acciones sobre los datos colocan la integridad de éstos en peligro.

Ejemplo de procesos que pueden generar errores son: El almacenar bits en memorias dinámicas o en medios

magnéticos (superficies de discos flexibles o rígidos, que pueden dañarse físicamente o contaminarse por

interferencia en la escritura o lectura); la transmisión de bits mediante conductores de cobre, fibra o en forma

inalámbrica a través de grandes distancias.

A0 B0 C0

S0 C1

A1 B1 C1

S1 C2

A2 B2 C2

S2 C3

A3 B3 C3

S3 C4

Bi

Ai

Si Ci

Ci

Ai

Bi

Ci

Bi

Ai

Ci+1

Bi

Ai Ai Bi

Ai Bi

Ci+1

(Ai Bi )Ci

Si

Ci

Ai Bi Ci

26 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

Debe contemplarse en el diseño de sistemas digitales que estos errores pueden producirse y que debe

encontrarse procedimientos para tratarlos.

La idea básica es que cuando se almacena o envía información se le agregue bits adicionales, denominados de

redundancia.

La detección de errores emplea los bits adicionales cuando se accesa o recibe información para determinar si

existe corrupción de los datos. En la corrección de errores, la información adicional debe permitir detectar y

corregir los errores, dentro de ciertos límites.

La detección requiere menos bits redundantes, pero si se detecta un error, el receptor solicita que se vuelvan a

enviar los datos, lo cual agrega tiempo de latencia y complejidad.

En la corrección se tiene menor latencia, ya que el proceso de corrección es una parte de la lógica que recibe

los datos; y sólo si los errores sobrepasan los límites de la corrección, debe solicitarse el reenvío.

Existen procedimientos para detectar y corregir errores simples (paridad, Hamming) y múltiples (códigos de

redundancia cíclica).

Detección de un error simple.

Se envían n bits: b0, b1, b2, ..., bn-1. Se desea encontrar el modo de detectar un error de un bit.

Una solución es enviar (n+1) bits, el bit n-avo es uno si existe un número impar de unos en los n bits de

datos. Por esto al bit redundante se lo denomina de paridad (par en este caso), ya que la información más el

bit adicional contienen una cantidad par de unos.

Para dos variables booleanas, el or exclusivo de ellas es cero si el número de unos es par; y uno si es impar.

Para las n variables, la forma de computar (generar) el bit de paridad es mediante la siguiente ecuación

lógica:

bn = b0 b1 b2 ...bn-1

Si los datos se disponen en paralelo (todos al mismo tiempo) puede determinarse la paridad mediante un árbol

combinacional mediante xors. Si los datos se tienen en serie, basta una compuerta xor y un registro(o

memoria) de un bit.

Para verificar la paridad, en el receptor se recalcula:

R = b0 b1 b2 ...bn-1 bn

Si (R = =1) se detecta un error simple en un bit, y se toma alguna medida.

Se emplea paridad en algunas situaciones, por ejemplo: en transmisión serial, en arreglos de memoria donde

cada bit de los n, se almacena en un chip diferente.

Corrección de un error simple.

Se envían n bits: b0, b1, b2, ..., bn-1. Se desea encontrar el modo de detectar y corregir un error en un bit.

Códigos de Hamming (1950).

Se describe el procedimiento desarrollado por Hamming.

Se toman subconjuntos traslapables de b0, b1, b2, ..., bn-1.

Se calcula un bit de paridad para cada subconjunto.

Se envían m bits, n de datos y k de paridad.

Con suficientes bits de paridad puede identificarse el bit errado; ya que el receptor calcula una palabra de

chequeo, tal que si es cero, no hay errores; en caso de existir un error, el valor de la palabra de chequeo indica

la posición del bit errado. Para corregir el error, se complementa el bit en la posición indicada por la palabra

de chequeo.

Capítulo 5. Mapas de Karnaugh 27

Profesor Leopoldo Silva Bijit 19-01-2010

Se tienen:

n bits de datos: b0, b1, b2, ..., bn-1.

k de paridad: p0, p1, p2, ..., pk-1.

m en total: c1, c2, ..., cm. Nótese que los bits ci se enumeran a partir de uno.

Primera etapa: Asignar los bi y pi con ci .

Se asigna cada bi y cada pi una sola vez. Primero se asigna c1, luego c2 y así sucesivamente.

Se asigna ci a un bit de paridad si i es una potencia de dos; en caso contrario se asigna el ci a un bit de dato. El

proceso se detiene cuando no quedan más bits bi que asignar.

Ejemplo con n = 4. Se tienen b0, b1, b2, b3

Se asigna: c1 = p0 Ya que 20 = 1.

Luego: c2 = p1 Ya que 21 = 2.

c3 = b0 Ya que i = 3 no es una potencia de dos.

c4 = p2 Ya que 22 = 4.

c5 = b1

c6 = b2

c7 = b3 En este paso no quedan más bits que asignar.

En este caso resulta k = 3, y m = 7. Deben enviarse tres bits adicionales para detectar y corregir un error

simple. Si n es elevado se tendrá que k es aproximadamente igual a log2(n).

Cuatro bits de paridad permiten un máximo de m = 16, con 12 de datos.

Cinco bits de paridad permiten un máximo de m = 32, con 27 de datos.

Segunda etapa: Cálculo de los bits de paridad.

La determinación de los subconjuntos de c1, c2, ..., cm. debe permitir encontrar la posición del bit errado. Para

ello se escriben los ci en binario, y se forma un subconjunto con todos los bits que tengan un uno en

determinada posición de la secuencia binaria. Debido a la elección de los pi, sólo estará presente un pi en cada

subconjunto. Se calcula el pi del subconjunto como el xor de los bits de datos del subconjunto.

En el ejemplo con m = 7, se tienen:

Figura P5.14. Generación bits de paridad

Tercera etapa: Corregir el error de un bit en recepción:

Se separan los datos recibidos en subconjuntos, se calcula wi, el xor de todos los elementos de cada

subconjunto (incluidos los bits de paridad). Se calcula el valor de chequeo, mediante:

chequeo = w0 + 2* w1 + 4* w2 + ....

Si el valor de chequeo no es cero, un bit debe ser erróneo. Cada wi = 0 remueve la duda sobre algunos bits.

Cualquier bit puede tener un error (solo un bit), incluso uno de los de paridad puede haberse contaminado en

la transmisión o lectura. Si un bit está errado existe sólo una forma de corregirlo.

Si chequeo es cero, no hay error simple. En caso contrario se complementa el bit cchequeo

c1 = c001 = p0

c2 = c010 = p1

c3 = c011 = b0

c4 = c100 = p2

c5 = c101 = b1

c6 = c110 = b2

c7 = c111 = b3

Los subconjuntos, resultan:

(c1, c3, c5, c7) = (p0, b0, b1, b3)

(c2, c3, c6, c7) = (p1, b0, b2, b3)

(c4, c5, c6, c7) = (p2, b1, b2, b3)

Los bits de paridad se

calculan según:

p0 = b0 b1 b3

p1 = b0 b2 b3

p2 = b1 b2 b3

b0 b1 b3

p0

b0 b2 b3

p1

b1 b2 b3

p2

28 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

Para m = 7 se calculan los wi, a partir de los ci:

c1 c3 c

5

w

0 c7

c2 c3 c6 w

1 c7

c4 c5 c6 w

2 c7

Figura P5.15. Cálculo de los wi.

El valor de chequeo resulta: chequeo = w0 + 2* w1 + 4* w2

La siguiente tabla muestra los valores binarios de los wi posibles, y asumiendo que sólo un bit del

subconjunto puede estar errado si wi es uno; y que si wi es cero, los elementos del subconjunto asociado están

correctos.

Estudiemos el segundo renglón: Con w2 igual a cero, no pueden estar errados: p2, b1, b2, b3; y si además w1

es cero: p1, b0, b2, b3 llegan correctamente; y si w0 es 1 podría existir un error en p0, b0, b1, b3. Pero de las

listas anteriores: b0, b1, b2 y b3 llegaron correctamente; por lo tanto se determina que en este caso p0 llegó

errado.

w2 w1 w0 chequeo Pueden tener error No están errados Bit errado:

0 0 0 0 ninguno todos ninguno

0 0 1 1 p0, b0, b1, b3 p1, b0, b2, b3, p2, b1 p0

0 1 0 2 p1, b0, b2, b3 p0, b0, b1, b3, p2, b2 p1

0 1 1 3 p0, b0, b1, b3, p1, b2 p2, b1, b2, b3 b0

1 0 0 4 p2, b1, b2, b3 p0, b0, b1, b3, p1, b2 p2

1 0 1 5 p0, b0, b1, b3, p2, b2 p1, b0, b2, b3 b1

1 1 0 6 p1, b0, b2, b3, p2, b1 p0, b0, b1, b3 b2

1 1 1 7 b3 b3

Figura P5.16. Interpretación tabla de valores de wi

En la siguiente red, si w0 y w1 son unos y w2 es cero, se tendrá que f0 es b0'; en caso contrario es b0.

Figura P5.17. Corrección empleando wi

w0 = (c1 c3 c5 c7) = (p0 b0 b1 b3)

w1 = (c2 c3 c6 c7) = (p1 b0 b2 b3)

w2 = (c4 c5 c6 c7) = (p2 b1 b2 b3)

w1 w0

f0

c3 w'2

w'1 w0

f1

c5 w2

w1 w'0

f2

c6 w2

w1 w0

f3

c7

w2

Capítulo 5. Mapas de Karnaugh 29

Profesor Leopoldo Silva Bijit 19-01-2010

Ejemplo código Hamming de 7 bits.

A partir de los valores de los bits de información se calculan los de paridad.

a) Se calculan los wi, a partir de los ci , recibidos sin errores, según:

El valor de chequeo resulta: chequeo = w0 + 2* w1 + 4* w2 = 0

b) Se calculan los wi, a partir de los ci , asumiendo que c3 llega errado, según:

El valor de chequeo resulta:

chequeo = w0 + 2* w1 + 4* w2 = 1 + 2*1 +4 *0 = 3, lo cual implica que debe complementarse c3.

c) Se calculan los wi, a partir de los ci , asumiendo que c5 llega errado, según:

El valor de chequeo resulta:

chequeo = w0 + 2* w1 + 4* w2 = 1 + 2*0 +4 *1 = 5, lo cual implica que debe complementarse c5.

d) Se calculan los wi, a partir de los ci , asumiendo que c1 llega errado, según:

El valor de chequeo resulta:

chequeo = w0 + 2* w1 + 4* w2 = 1 + 2*0 +4 *0 = 1, lo cual implica que debe complementarse c1.

Problema 5.7.

Se tiene un número binario de cuatro bits: A3A2A1A0, donde A3 es la cifra más significativa, sea n el

equivalente decimal de este número.

Diseñar un sistema que acepte a n como entrada y que produzca en la salida el equivalente binario del número

decimal: ( n*4 +1).

Solución.

El mayor n que puede escribirse con cuatro bits es 15, por lo tanto la salida mayor será 61, lo cual requiere 6

cifras binarias para representarla. Sean éstas: S5S4S3S2S1S0.

La siguiente tabla de verdad ilustra la situación:

Con: b0 = 0; b1 = 1; b2= 0; b3 = 1

Los bits de paridad se calculan según:

p0 = b0 b1 b3 = 0 1 1 = 0

p1 = b0 b2 b3 = 0 0 1 = 1

p2 = b1 b2 b3 = 1 0 1 = 0

w0 = (c1 c3 c5 c7) = (p0 b0 b1 b3) = (0 0 1 1) = 0

w1 = (c2 c3 c6 c7) = (p1 b0 b2 b3) = (1 0 0 1) = 0

w2 = (c4 c5 c6 c7) = (p2 b1 b2 b3) = (0 1 0 1) = 0

c1 = c001 = p0 = 0

c2 = c010 = p1 = 1

c3 = c011 = b0 = 0

c4 = c100 = p2 = 0

c5 = c101 = b1 = 1

c6 = c110 = b2 = 0

c7 = c111 = b3 = 1

w0 = (c1 c3 c5 c7) = (p0 b0 b1 b3) = (0 1 1 1) = 1

w1 = (c2 c3 c6 c7) = (p1 b0 b2 b3) = (1 1 0 1) = 1

w2 = (c4 c5 c6 c7) = (p2 b1 b2 b3) = (0 1 0 1) = 0

w0 = (c1 c3 c5 c7) = (p0 b0 b1 b3) = (0 0 0 1) = 1

w1 = (c2 c3 c6 c7) = (p1 b0 b2 b3) = (1 0 0 1) = 0

w2 = (c4 c5 c6 c7) = (p2 b1 b2 b3) = (0 0 0 1) = 1

w0 = (c1 c3 c5 c7) = (p0 b0 b1 b3) = (1 0 1 1) = 1

w1 = (c2 c3 c6 c7) = (p1 b0 b2 b3) = (1 0 0 1) = 0

w2 = (c4 c5 c6 c7) = (p2 b1 b2 b3) = (0 1 0 1) = 0

30 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

n A3A2A1A0 n*4 +1 S5S4S3S2S1S0

0 0000 1 000001

1 0001 5 000101

2 0010 9 001001

3 0011 13 001101

4 0100 17 010001

5 0101 21 010101

6 0110 25 011001

7 0111 29 011101

8 1000 33 100001

9 1001 37 100101

10 1010 41 101001

11 1011 45 101101

12 1100 49 110001

13 1101 53 110101

14 1110 57 111001

15 1111 61 111101

Figura P5.18. Tabla de verdad Problema 5.7

Observando la tabla, se determina que S1= 0 y S0 = 1 son constantes, y que:

S5 = A3, S4 = A2, S3 = A1, y S2 = A0

El diseño mínimo no requiere compuertas, y se muestra a continuación:

Figura P5.19. Red Problema 5.7

A la derecha se muestra un diseño donde las señales S1 y S0 son salidas de compuertas.

Problema 5.8.

Se tiene un circuito digital de 4 entradas (A, B, C, D) y cuatro salidas (f1, f2, f3, f4).

a) Determinar como suma de mintérminos, la función f1 que es verdadera cuando exactamente dos de las

entradas sean verdaderas.

b) Determinar como producto de maxtérminos, la función f2 que es verdadera cuando exactamente tres de las

entradas sean verdaderas.

c) Determinar mediante un circuito lógico en base a AND, OR y NOT, la función f3, que es verdadera cuando

exactamente cuatro de las entradas sean verdaderas.

d) Determinar mediante una expresión booleana, la función f4, que es verdadera cuando exactamente cuatro

de las entradas sean falsas.

Solución.

Se tienen las siguientes tablas de verdad.

A3

A2

A1

A0

S5

S4

S3

S2

S1

S0 VCC

tierra

VCC

S1

S0

Capítulo 5. Mapas de Karnaugh 31

Profesor Leopoldo Silva Bijit 19-01-2010

A B C D f1 f2 f3 f4 Código

0 0 0 0 0 0 0 1 0

0 0 0 1 0 0 0 0 1

0 0 1 0 0 0 0 0 2

0 0 1 1 1 0 0 0 3

0 1 0 0 0 0 0 0 4

0 1 0 1 1 0 0 0 5

0 1 1 0 1 0 0 0 6

0 1 1 1 0 1 0 0 7

1 0 0 0 0 0 0 0 8

1 0 0 1 1 0 0 0 9

1 0 1 0 1 0 0 0 10

1 0 1 1 0 1 0 0 11

1 1 0 0 1 0 0 0 12

1 1 0 1 0 1 0 0 13

1 1 1 0 0 1 0 0 14

1 1 1 1 0 0 1 0 15

Figura P5.20. Tabla de verdad Problema 5.8

Entonces:

a) f1 = m(3, 5, 6, 9, 10, 12)

b) f2 = M(0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15)

c) f3 = m(15) = ABCD

d) f4 = m(0) = A'B'C'D'

Problema 5.9.

Se tiene una función booleana:

f(a, b, c, d) = m(7, 13, 14) + d(1, 3, 4, 5, 6, 9, 10)

a) Encontrar los implicantes primos e implicantes primos esenciales, fundamentando la respuesta.

b) Encontrar todos los diseños que implementen la función mínima en su forma suma de productos y

producto de sumas.

Solución.

a) Para la forma suma de productos se tiene el siguiente mapa de Karnaugh:

f3

D C B A

32 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

Figura P5.21. Suma de productos Problema 5.9

Observando el mapa o aplicando método de Quine o Quine-McCluskey, y empleando las condiciones

superfluas, se pueden formar: 3 implicantes primos de 4 mintérminos cada uno; y dos implicantes primos de

dos mintérminos cada uno. La siguiente tabla de implicantes, muestra que c’d es implicante primo esencial,

ya que es el único que contiene al mintérmino 13.

Implicantes

primos

7 13 14

a’b x

c’d

a’d x

acd’ x

bcd’ x

Figura P5.22. Tabla de implicantes. Problema 5.9

Se tienen 4 diseños alternativos con mínimo costo. Con 10 entradas cada uno.

f(a, b, c, d) = c’d + a’b + acd’

f(a, b, c, d) = c’d + a’b + bcd’

f(a, b, c, d) = c’d + a’d + acd’

f(a, b, c, d) = c’d + a’d + bcd’

b) Para la forma producto de sumas se tiene el siguiente mapa de Karnaugh:

cd

ab

00 01

00

01

d

d d 1

0 4

5

11 10

1 d 13

12 8

9

11

10

d 1

d 2

3 7

6

1 d 14

15 11

10

f(a, b, c, d)= m(7, 13, 14) + d(1, 3, 4, 5, 6, 9, 10)

Capítulo 5. Mapas de Karnaugh 33

Profesor Leopoldo Silva Bijit 19-01-2010

Figura P5.23. Mapa para suma de productos. Problema 5.9

Observando el mapa o aplicando método de Quine o Quine-McCluskey y empleando las condiciones

superfluas se pueden formar: Un implicante primo de 8 mintérminos; 3 implicantes primos de 4 mintérminos

cada uno; y un implicante primo de dos mintérminos cada uno.

La siguiente tabla de implicantes, muestra que c’d’ y acd son implicantes primos esenciales.

Implicantes

primos

0 2 8 11 12 15

b’ x x x x

c’d’ x x

a’c’ x

a’d’ x x

acd x

Figura P5.24. Tabla de implicantes de f’. Problema 5.9

La cobertura del mintérmino 2 se logra seleccionando el implicante b’ que cubre a a’d’.

Entonces la (única) función mínima es: f ’(a, b, c, d) = c’d’ + acd + b’, que en la forma pedida es:

f( a, b, c, d) = (c + d)(a’ + c’ + d’)(b) de 9 entradas.

Problema 5.10.

Se tiene el diseño mínimo como suma de productos para la siguiente función:

f(a, b, c, d) = abd + b’c’ + a’d’

Se conoce: que el mintérmino a’bcd’ es superfluo, que el maxtérmino (a’ + b + c + d’) es superfluo, y que el

implicante a’b’c’ es superfluo.

a) Determinar el mapa de Karnaugh para f, indicando los unos, ceros y condiciones superfluas.

b) Obtener el diseño mínimo como producto de sumas, indicando en un mapa los implicantes seleccionados.

Solución:

a1) Se ubican los mintérminos superfluos, y se los dibuja en el mapa:

cd

ab

00 01

00

01

1 d

d d 1

0 4

5

11 10

1 1

d 13

12 8

9

11

10

d

1 d 2

3 7

6

1 1

d 14

15 11

10

f ’(a, b, c, d)

34 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

a’bcd’ = m6 ; a’b’c’ = m0 + m1

Que el maxtérmino (a’ +b +c +d’) = M9 sea superfluo, indica que m9’ es superfluo.

a2) Se ubican los implicantes de f:

abd = m(13, 15); b’c’ = m(0, 1, 8, 9); a’d’ = m(0, 4, 2, 6)

Esto permite determinar los unos de la función como m(2, 4, 8, 13, 15); y también los ceros de la función

como M(3, 5, 7, 10, 11, 12, 14)

Figura P5.25. Mapa Problema 5.10

El mapa ilustra el diseño de la función mínima, con condiciones superfluas, expresada como suma de

productos:

f(a, b, c, d) = m(2, 4, 8, 13, 15) + d(0, 1, 6, 9) = abd + b’c’ + a’d’

Método 1(agrupando los ceros)

b1) Se desea diseñar f, según:

f(a, b, c, d) = M(3, 5, 7, 10, 11, 12, 14) Md(0, 1, 6, 9)

El grupo M(1, 3, 5, 7) debe incluirse ya que es el mayor y único grupo que cubre a 5 y 7.

El grupo M(12, 14) es el mayor y único grupo que cubre a 12, y debe estar presente.

Sólo resta cubrir a M(10, 11), lo cual puede hacerse incluyendo a dicho grupo. La incorporación del grupo

mayor M(1, 3, 9, 11) que cubre al 11, requiere otro grupo para cubrir al 10, ya sea M(10, 14) o M(10, 11).

cd

ab

00 01

00

01

d 1

d 0 1

0 4

5

11 10

0 1

1 d 13

12 8

9

11

10

0 0

1 d 2

3 7

6

1 0

0 0 14

15 11

10

f(a, b, c, d)= abd + b’c’ + a’d’

Capítulo 5. Mapas de Karnaugh 35

Profesor Leopoldo Silva Bijit 19-01-2010

Figura P5.26. Mapa suma productos. Problema 5.10

Para un diseño libre de perturbaciones debería incluirse a los grupos M(10, 14) y M(3, 11)

Método 2(agrupando los 1 de f ’)

b2) Se desea diseñar f, según:

f ’(a, b, c, d) = m(3, 5, 7, 10, 11, 12, 14) + d(0, 1, 6, 9)

Se tiene el mapa:

Figura P5.27. Mapa producto de sumas. Problema 5.10

En la tabla de implicantes se muestran sólo los mintérminos; no se requiere cubrir los superfluos. De la tabla

se advierte que a’d es implicante primo esencial, ya que agrupa al 5 y 7 que sólo él contiene. También abd’ es

implicante primo esencial ya que es el único grupo que contiene al mintérmino 12.

cd

ab

00 01

00

01

d 0

d 1 1

0 4

5

11 10

1 0

0 d 13

12 8

9

11

10

1 1

0 d 2

3 7

6

0 1

1 1 14

15 11

10

f ’(a, b, c, d) = a’d + abd’ + ab’c

cd

ab 00 01

00

01

d 1

d 0 1

0 4

5

11 10

0 1

1 d 13

12 8

9

11

10

0 0

1 d 2

3 7

6

1 0

0 0 14

15 11

10

f(a, b, c, d)= (a + d’)( a’+ b’ +d) (a’ + b +c’)

36 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

Figura P5.28. Tabla implicante. Mapa de la Figura P5.27

Para cubrir m10 y m11, la mejor opción es ab’c, lo cual puede deducirse de la tabla reducida.

Figura P5.29. Tabla reducida de la Figura P5.28

Se obtiene: f ’(a, b, c, d) = a’d + abd’ + ab’c y complementándola, se logra:

f(a, b, c, d)= (a + d’)( a’+ b’ +d) (a’ + b +c’)

Problema 5.11.

Se tiene f(a, b, c, d) formada por los siguientes mintérminos: 4, 5, 6, 8, 9, 10, 13.

Además se conoce que las variables de entrada nunca toman los valores lógicos que hacen verdadera a la

expresión: bcd + a’b’c’d’

a) Dibujar el mapa para la función f.

b) Minimizar como producto de sumas, en dos niveles.

c) Minimizar como suma de productos, en dos niveles.

Solución:

a) Considerando las condiciones superfluas y los mintérminos, en un mapa rotulado según notación de

conjuntos, resulta:

Figura P5.30. Mapa con condiciones superfluas.

b) Se muestran los grupos de mintérminos en el mapa de la Figura 5.30.

3 5 7 10 11 12 14

a’d x x x

abd’ x x

ab’c x x

acd’ x x

b’d x x

bcd’ x

10 11

ab’c x x

acd’ x

b’d x

d

d 1

0 1

0 1

1 1

a

0 d

0 1

d 0

0 1

c

b

Capítulo 5. Mapas de Karnaugh 37

Profesor Leopoldo Silva Bijit 19-01-2010

Figura P5.31. Implicantes de la Figura P5.30.

Resulta: f = a b’ d’ + a d c’ + a’ b

c) El mapa para f’ resulta:

Figura P5.32. Mapa del complemento de f.

Encontrando los implicantes, se obtiene:

f ‘ = a b d’ + d c + a’ b’

Aplicando De Morgan.

f = ( a’ + b’ + d)(d’ + c’)(a + b)

Problema 5.12.

La función f(A, B, C, D) está formada por los mintérminos 5, 9, 15.

a) Si se puede escoger un mintérmino cualquiera como superfluo, cuál o cuáles son las funciones mínimas

(todas las que encuentre); indicando, en cada caso, el mintérmino superfluo elegido.

b) Si se pueden escoger dos mintérminos cualesquiera como superfluos, cuál o cuáles son las funciones

mínimas (todas las que encuentre); indicando, en cada caso, los mintérminos superfluos elegidos.

c) Si se pueden escoger tres mintérminos cualesquiera como superfluos, cuál o cuáles son las funciones

mínimas (todas las que encuentre); indicando, en cada caso, los mintérminos superfluos elegidos.

Solución:

a) La Figura P5.33 muestra la elección conveniente de un mintérmino superfluo.

d

d 1

1

1

1 1

a

d

1

d

1

c

b

d

d

1

1

a

1 d

1

d 1

1

c

b

38 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

Figura P5.33. Elección de un mintérmino superfluo.

b1)

Figura P5.34. Elección de dos mintérminos superfluos.

CD

AB

00 01

00

01

1 1

0 4

5

11 10

d 1 13

12 8

9

11

10

2

3 7

6

1

14

15 11

10

f(A, B, C, D)

Se elige m13. Resulta: f = AC’D + BC’D + ABD

CD

AB

00 01

00

01

1 1

0 4

5

11 10

d 1 13

12 8

9

11

10

2

3 7

6

1 d

14

15 11

10

f(A, B, C, D)

Se elige m13 y m11.

f = AD + BC’D

Capítulo 5. Mapas de Karnaugh 39

Profesor Leopoldo Silva Bijit 19-01-2010

b2)

Figura P5.35. Elección de dos mintérminos superfluos b2).

b3)

Figura P5.36. Elección de dos mintérminos superfluos b3).

CD

AB

00 01

00

01

1 1

0 4

5

11 10

d 1 13

12 8

9

11

10

d

2

3 7

6

1

14

15 11

10

f(A, B, C, D)

Se elige m13 y m7.

f = BD + AC’D

CD

AB

00 01

00

01

d 1 1

0 4

5

11 10

d 1 13

12 8

9

11

10

2

3 7

6

1

14

15 11

10

f(A, B, C, D)

Se elige m13 y m1.

f = ABD + C’D

40 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

c1)

Figura P5.37. Elección de tres mintérminos superfluos c1).

c2)

Figura P5.38. Elección de tres mintérminos superfluos c2).

CD

AB

00 01

00

01

1 1

0 4

5

11 10

d 1 13

12 8

9

11

10

d

2

3 7

6

1 d

14

15 11

10

Se elige m13, m11 y m7.

f = BD + AD

CD

AB

00 01

00

01

d 1 1

0 4

5

11 10

d 1 13

12 8

9

11

10

2

3 7

6

1 d

14

15 11

10

Se elige m13, m11 y m1. f = C’D + AD

Capítulo 5. Mapas de Karnaugh 41

Profesor Leopoldo Silva Bijit 19-01-2010

c3)

Figura P5.39. Elección de tres mintérminos superfluos c3).

Problema 5.13.

Se tiene un circuito digital de 5 entradas (A, B, C, D, E)

Determinar sólo las expresiones booleanas que contienen el literal A, para los 3-cubos incrustados en el 5-

cubo.

Solución.

En un 5-cubo un 3-cubo puede expresarse con dos literales. Las combinaciones de dos letras de un conjunto

de 5 son: AB, AC, AD, AE, BC, BD, BE, CD, CE, DE. Para cada combinación pueden tenerse 4 expresiones;

por ejemplo para AB se tienen: A'B', A'B, AB', AB. En total se tienen cuarenta 3-cubos inscritos en un 5-cubo.

Entonces los 3-cubos pedidos son: AB, AB', AC, AC', AD, AD', AE, AE'.

Problema 5.14.

Representar en un mapa de Karnaugh de 5 variables, la expresión booleana:

C'D'E + B'C

Solución:

Los míntérminos asociados a B'C se encuentran en las columnas 001 y 101,

Resulta B'C = m(4, 5, 6, 7, 20, 21, 22, 23) son 8.

Los mintérminos asociados a C'D'E son m(1, 9, 17, 25) son 4, con C=0, D=0 y E=1.

CD

AB

00 01

00

01

d 1 1

0 4

5

11 10

d 1 13

12 8

9

11

10

d

2

3 7

6

1

14

15 11

10

Se elige m13, m7 y m1.

f = C’D + BD

42 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

Figura P5.40. Mapa para Problema 5.14.

Problema 5.15.

Graficar los mapas de Karnaugh de las funciones de cuatro variables:

f1=(AB+C)(ABC+D') +A'B'D' y f2=(A'+B'+D)(B'+D')

Solución:

f1=ABABC+ABD'+CABC+CD'+A'B'D' ; P6

=ABC+ABD'+CD' +A'B'D' ; P4, T8

= m(14,15) +m(12,14)+m(2,6,10,14)+m(0,2) ; T14

= m(0, 2, 6, 10, 12, 14, 15); T8

Figura P5.41. Mapa de f1.

f2 = A'B'+A'D'+B'B'+B'D'+B'D+DD'; P6, P4

= A'B'+A'D'+B'+B'(D'+D)+0 ;T8, P6, P7

= A'B' +A'D'+B' ; P3,P7, T8

= m(0, 1, 2, 3) + m(0, 2, 4, 6) + m(0, 1, 2 , 3, 8, 9, 10, 11) ; T14

= m(0, 1, 2, 3, 4, 6, 8, 9, 10, 11) ;T8

DE

ABC

000 001

00

01

1

1 1 1

0 4

5

011 010

1 13

12 8

9

11

10

1

1 2

3 7

6

14

15 11

10

100 101

1

1 1 17

16

0

20

21

111 110

1 29

28 24

25

1

1 18

19 23

22

30

31 27

26

CD

AB

00 01

00

01

1

1

0 4

5

11 10

1

13

12 8

9

11

10

1 1 2

3 7

6

1

1 1 14

15 11

10

f1(A, B, C, D)

Capítulo 5. Mapas de Karnaugh 43

Profesor Leopoldo Silva Bijit 19-01-2010

Figura P5.42. Mapa de f2.

Referencias.

Karnaugh M. “The map method for synthesis of combinatorial logic circuits”, Trans. AIEE Comm.

Electron.,Vol. 72, No. 4, pp. 593–598. 1953.

.

CD

AB

00 01

00

01

1 1

1 1

0 4

5

11 10

1

1 13

12 8

9

11

10

1

1 1 2

3 7

6

1

1 14

15 11

10

f2(A, B, C, D)

44 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

Índice general.

CAPÍTULO 5 ..................................................................................................................................................................... 1

MAPAS DE KARNAUGH ................................................................................................................................................ 1

5.1. CONCEPTOS ............................................................................................................................................................... 1 5.2. FORMAS DE MAPAS ................................................................................................................................................... 4 5.3. MANEJO DE MAPAS ................................................................................................................................................... 7 5.4. USO DE MAPAS ........................................................................................................................................................... 9

Ejemplo 5.1. Mapa a partir de los mintérminos. ........................................................................................................ 9 Ejemplo 5.2. Mapa a partir de expresión. ................................................................................................................ 10 Ejemplo 5.3. Uso de mapas en la demostración de teoremas. .................................................................................. 11

5.5. MINIMIZACIÓN USANDO MAPAS DE KARNAUGH. ..................................................................................................... 12 5.5.1. Minimización como suma de productos. ......................................................................................................... 12

Ejemplo 5.4. Minimización a partir de los mintérminos .......................................................................................................... 12 Ejemplo 5.5. Formación de grupos de mintérminos en minimización basada en mapas. ......................................................... 13 Ejemplo 5.6. ............................................................................................................................................................................. 14 Ejemplo 5.7. ............................................................................................................................................................................. 15

5.5.2. Minimización en forma de producto de sumas. ............................................................................................... 15 Ejemplo 5.8 .............................................................................................................................................................................. 15 Ejemplo 5.9. ............................................................................................................................................................................. 16

5.5.3. Condiciones superfluas (don't care) ................................................................................................................ 17 Ejemplo 5.10. ........................................................................................................................................................................... 18 Ejemplo 5.11. ........................................................................................................................................................................... 19 Ejemplo 5.12. ........................................................................................................................................................................... 19

PROBLEMAS RESUELTOS. ................................................................................................................................................ 21 Problema 5.1. Comparador binario. ......................................................................................................................... 21 Problema 5.2. Multiplicador de dos números binarios de dos cifras cada uno. ....................................................... 22 Problema 5.3. Incrementador en uno de cifra BCD. ................................................................................................. 22 Problema 5.4. Semisumador binario. ........................................................................................................................ 23 Problema 5.5. Sumador completo. ............................................................................................................................ 24 Problema 5.6. Detección y corrección de errores en bits. Hamming........................................................................ 25

Detección de un error simple. .................................................................................................................................................. 26 Corrección de un error simple. ................................................................................................................................................. 26 Ejemplo código Hamming de 7 bits. ........................................................................................................................................ 29

Problema 5.7. ............................................................................................................................................................ 29 Problema 5.8. ............................................................................................................................................................ 30 Problema 5.9. ............................................................................................................................................................ 31 Problema 5.10. .......................................................................................................................................................... 33 Problema 5.11. .......................................................................................................................................................... 36 Problema 5.12. .......................................................................................................................................................... 37 Problema 5.13. .......................................................................................................................................................... 41 Problema 5.14. .......................................................................................................................................................... 41 Problema 5.15. .......................................................................................................................................................... 42

REFERENCIAS. ................................................................................................................................................................ 43 ÍNDICE GENERAL. ........................................................................................................................................................... 44 ÍNDICE DE FIGURAS. ....................................................................................................................................................... 45

Capítulo 5. Mapas de Karnaugh 45

Profesor Leopoldo Silva Bijit 19-01-2010

Índice de Figuras.

Figura 5.1 Mintérminos de dos variables en un diagrama de Venn. ................................................................... 1 Figura 5.2 Códigos decimales de mintérminos en un diagrama de Venn. .......................................................... 1 Figura 5.3 Mintérminos de dos variables en un 2-cubo. ..................................................................................... 2 Figura 5.4 Mintérminos de dos variables en un mapa de Karnaugh. .................................................................. 2 Figura 5.5 Número decimal de los mintérminos y el orden de las variables. ...................................................... 2 Figura 5.6 Representación de funciones de dos variables en un mapa. ............................................................... 3 Figura 5.7 Diagrama de Venn para tres variables y un 3-cubo. .......................................................................... 3 Figura 5.8 Del 3-cubo al mapa de Karnaugh de tres variables. ........................................................................... 4 Figura 5.9 Mapa de Karnaugh de tres variables y un 3-cubo. ............................................................................. 4 Figura 5.10 Bordes en un mapa de Karnaugh. .................................................................................................... 4 Figura 5.11 Mapas de Karnaugh para tres y cuatro variables. ........................................................................... 5 Figura 5.12 Mapa de Karnaugh para tres variables. ........................................................................................... 5 Figura 5.13 Mapa de Karnaugh de cinco variables, codificado en Gray. ........................................................... 6 Figura 5.14 Mapa de Karnaugh apilable de cinco variables. ............................................................................. 7 Figura 5.15 Agrupaciones de 8 y 4 mintérminos en un Mapa de Karnaugh de cuatro variables. ...................... 8 Figura 5.16. 2-cubo y mintérmino en un Mapa de Karnaugh de cuatro variables. ............................................ 8 Figura 5.17. Mapa de Karnaugh a partir de lista de mintérminos. ................................................................... 10 Figura 5.18. Un mapa de Karnaugh por producto. ........................................................................................... 10 Figura 5.19. Mapa de Karnaugh de un mintérmino y de la función completa. ................................................ 11 Figura 5.20. Mapas de Karnaugh en la demostración de teoremas. ................................................................. 11 Figura 5.21. Mapa de Karnaugh a partir de los mintérminos. .......................................................................... 12 Figura 5.22. Agrupaciones en el Mapa de Karnaugh. ....................................................................................... 13 Figura 5.23. Mapa de Karnaugh con los mintérminos. ..................................................................................... 13 Figura 5.24. Mínimo número de grupos. ........................................................................................................... 14 Figura 5.25. Solución ejemplo 5.6. ................................................................................................................... 14 Figura 5.26. Solución ejemplo 5.7. ................................................................................................................... 15 Figura 5.27. Solución ejemplo 5.8. ................................................................................................................... 16 Figura 5.28. Mapa con los mintérminos de ejemplo 5.9 ................................................................................... 16 Figura 5.29. Mapa con los mintérminos de f’ .................................................................................................... 17 Figura 5.30. Mapa con condiciones superfluas. ................................................................................................ 18 Figura 5.31. Mapa con condiciones superfluas de f’ ......................................................................................... 18 Figura 5.32. Tabla traductor BCD a Exceso-3. ................................................................................................. 19 Figura 5.33. Mapa de las condiciones superfluas del ejemplo 5.13. ................................................................. 20 Figura P5.1 Diagrama funcional comparador. ................................................................................................. 21 Figura P5.2. Tabla del comparador. .................................................................................................................. 21 Figura P5.3. Diagrama funcional multiplicador. .............................................................................................. 22 Figura P5.4. Tabla de verdad de multiplicador. ................................................................................................ 22 Figura P5.5. Diagrama funcional incrementador BCD. .................................................................................... 23 Figura P5.6. Tabla de verdad del incrementador BCD...................................................................................... 23 Figura P5.7. Tabla de verdad del semisumador ................................................................................................ 24 Figura P5.8. Implementación semisumador. ..................................................................................................... 24 Figura P5.9. Diagrama funcional sumador completo de un bit. ........................................................................ 24 Figura P5.10. Tabla de verdad del sumador completo de un bit. ...................................................................... 24 Figura P5.11. Diagrama funcional sumador completo de cuatro bits. .............................................................. 25 Figura P5.12. Red para sumador completo. ...................................................................................................... 25 Figura P5.13. Sumador completo mediante dos semisumadores. ..................................................................... 25 Figura P5.14. Generación bits de paridad ......................................................................................................... 27 Figura P5.15. Cálculo de los wi. ........................................................................................................................ 28 Figura P5.16. Interpretación tabla de valores de wi........................................................................................... 28

46 Sistemas Digitales

Profesor Leopoldo Silva Bijit 19-01-2010

Figura P5.17. Corrección empleando wi ........................................................................................................... 28 Figura P5.18. Tabla de verdad Problema 5.7 .................................................................................................... 30 Figura P5.19. Red Problema 5.7 ........................................................................................................................ 30 Figura P5.20. Tabla de verdad Problema 5.8 .................................................................................................... 31 Figura P5.21. Suma de productos Problema 5.9 ............................................................................................... 32 Figura P5.22. Tabla de implicantes. Problema 5.9 ............................................................................................ 32 Figura P5.23. Mapa para suma de productos. Problema 5.9 ............................................................................. 33 Figura P5.24. Tabla de implicantes de f’. Problema 5.9 ................................................................................... 33 Figura P5.25. Mapa Problema 5.10 ................................................................................................................... 34 Figura P5.26. Mapa suma productos. Problema 5.10 ........................................................................................ 35 Figura P5.27. Mapa producto de sumas. Problema 5.10 ................................................................................... 35 Figura P5.28. Tabla implicante. Mapa de la Figura P5.27 ................................................................................ 36 Figura P5.29. Tabla reducida de la Figura P5.28 .............................................................................................. 36 Figura P5.30. Mapa con condiciones superfluas. .............................................................................................. 36 Figura P5.31. Implicantes de la Figura P5.30. .................................................................................................. 37 Figura P5.32. Mapa del complemento de f. ....................................................................................................... 37 Figura P5.33. Elección de un mintérmino superfluo. ........................................................................................ 38 Figura P5.34. Elección de dos mintérminos superfluos. ................................................................................... 38 Figura P5.35. Elección de dos mintérminos superfluos b2). ............................................................................. 39 Figura P5.36. Elección de dos mintérminos superfluos b3). ............................................................................. 39 Figura P5.37. Elección de tres mintérminos superfluos c1). ............................................................................. 40 Figura P5.38. Elección de tres mintérminos superfluos c2). ............................................................................. 40 Figura P5.39. Elección de tres mintérminos superfluos c3). ............................................................................. 41 Figura P5.40. Mapa para Problema 5.14. .......................................................................................................... 42 Figura P5.41. Mapa de f1. ................................................................................................................................. 42 Figura P5.42. Mapa de f2. ................................................................................................................................. 43