TD2-Tema07 Karnaugh
TD2-Tema07 Karnaugh
Introduccin
La efectividad de la simplificacin booleana no debe depender de nuestra habilidad usando leyes y reglas Es necesaria la utilizacin de una metodologa sistemtica para simplificar las funciones booleanas Los objetivos de este tema son:
Describir el mtodo de Karnaugh para la simplificacin de funciones lgicas en forma de suma de productos y de producto de sumas Definir el concepto de funcin incompletamente especificada Introducir la necesidad de minimizar de forma conjunta las funciones correspondientes a circuitos con salida mltiple
2
Funciones incompletamente especificadas Circuitos con salida mltiple Funciones con ms de cuatro variables Resumen y bibliografa
Simplificacin de funciones lgicas con el mtodo de Karnaugh 3
Mtodo de Karnaugh
El mtodo de Karnaugh proporciona una forma sistemtica para simplificar funciones booleanas La clave para realizar este proceso consiste en representar la funcin que se desea simplificar usando lo que se conoce como mapa de Karnaugh Si se aplica adecuadamente, este mtodo genera las expresiones ms simples posibles, tanto en forma de suma de productos como de producto de sumas
Simplificacin de funciones lgicas con el mtodo de Karnaugh 4
Mapas de Karnaugh
Un mapa de Karnaugh es similar a una tabla de verdad, ya que muestra todos los posibles valores de la salida para cada combinacin posible de las entradas En lugar de organizarse en filas y columnas, un mapa de Karnaugh es un conjunto de celdas en el que cada celda representa un valor binario de las entradas Las celdas se distribuyen de manera que simplificar una determinada expresin consiste en agrupar adecuadamente algunas de las de celdas
Simplificacin de funciones lgicas con el mtodo de Karnaugh 5
Mapas de Karnaugh
El nmero de celdas de un mapa de Karnaugh es igual al nmero total de posibles combinaciones de los valores de las variables de entrada Por ejemplo, un mapa de Karnaugh de 3 variables tendra un total de 23 = 8 celdas y uno de 4 variables tendra 24 = 16 celdas
AB C 0 1 AB CD 00 01 11 10 00 01 11 10 00 01 11 10
6
Adyacencia de celdas
Las celdas de un mapa de Karnaugh se disponen de manera que entre dos celdas adyacentes slo cambie el valor de una nica variable (slo cambia 1 bit) Fsicamente, cada celda es adyacente a las que estn situadas inmediatamente junto a cualquiera de sus cuatro lados Una celda no es adyacente a aquellas que tocan diagonalmente alguna de sus esquinas
Simplificacin de funciones lgicas con el mtodo de Karnaugh 7
Adyacencia de celdas
Podemos pensar que el mapa de Karnaugh se dobla como si fuera un cilindro, de manera que se toquen los extremos inferior-superior o izquierda-derecha
Las celdas de la fila inferior son adyacentes a la superior Las celdas de la columna izquierda son adyacentes a la derecha
Funciones incompletamente especificadas Circuitos con salida mltiple Funciones con ms de cuatro variables Resumen y bibliografa
Simplificacin de funciones lgicas con el mtodo de Karnaugh 9
Una expresin suma de productos minimizada por el mtodo de Karnaugh estar formada por el mnimo nmero de trminos producto posible Adems, cada trmino producto de una expresin minimizada estar compuesto por el mnimo nmero posible de variables Esta simplificacin dar lugar a una expresin que, en general, podr ser implementada usando menos puertas lgicas de las que necesitara su forma cannica
Simplificacin de funciones lgicas con el mtodo de Karnaugh 10
Lo ms conveniente para generar el mapa de Karnaugh de una expresin suma de productos es que la expresin est en forma cannica El primer paso de este proceso es colocar un 1 en la celda correspondiente a cada combinacin de valores de las variables que hagan valer 1 a algn trmino producto Cuando se haya terminado, el mapa tendr tantas celdas con un 1 como trminos producto haya en la expresin Las celdas vacas son aquellas para las que la expresin vale 0, aunque no es necesario escribirlos
Simplificacin de funciones lgicas con el mtodo de Karnaugh 11
Ejemplo:
C AB 00 01 11 10 1 1 0 1 1 1
12
Ejemplo:
AB 00 01 11 10 C 0 1 1 1 1 1
13
Ejemplo:
AB CD 00
00 01 11 10 1
14
La minimizacin de una suma de productos comienza agrupando los 1 que estn situados en celdas adyacentes del mapa
Un grupo debe contener el mayor nmero posible de celdas
Toda celda del grupo debe ser adyacente a otra celda del grupo El nmero de celdas de cada grupo debe ser potencia de dos
Cada 1 del mapa debe estar incluido en al menos un grupo, aunque un 1 puede estar incluido en varios grupos solapados
Puede haber varias agrupaciones vlidas posibles, pero siempre teniendo en cuenta que el objetivo final de este proceso es maximizar el tamao de los grupos al mismo tiempo que se trata de minimizar el nmero de grupos
Simplificacin de funciones lgicas con el mtodo de Karnaugh 15
Ejemplos:
C AB 00 01 11 10 1 0 1 1 1 1 C AB 00 01 11 10 1 0 1 1 1 1
16
1 1
Cada grupo de celdas da lugar a un trmino producto compuesto por todas las variables que aparecen en el grupo con un nico valor Las variables que aparecen con dos valores distintos en un grupo no se tienen en cuenta La expresin mnima en forma de suma de productos se obtiene sumando todos los trminos producto obtenidos a partir de los grupos del mapa
Simplificacin de funciones lgicas con el mtodo de Karnaugh 17
Ejemplo:
C AB 00 01 11 10
Simplificacin de funciones lgicas con el mtodo de Karnaugh 18
0 1
1 ABC 1 BC AB AB + BC + ABC
Ejemplo:
AB 00 01 11 10 1 C 0 1 1 1 1
19
1 1 B AC AC B + AC + AC
Ejemplo:
AB CD 00 1 1 1 1 1 1 1 01 11 10 1 1 1 1 ABC
20
ABC + BC + D D BC
00 01 11 10
10
Los 1 de una tabla de verdad se pueden trasladar directamente a un mapa de Karnaugh Por ejemplo: F(A,B,C) = (0,4,6,7)
A 0) 1) 2) 3) 4) 5) 6) 7) B C
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
1 0 0 0 1 0 1 1
AB ABC
00 01
ABC
11
ABC ABC
1 1
10
21
00 01 11 10
BC
Forma minimizada: AB + BC
1 1
AB
Forma cannica: ABC + ABC + ABC + ABC
22
11
Funciones incompletamente especificadas Circuitos con salida mltiple Funciones con ms de cuatro variables Resumen y bibliografa
Simplificacin de funciones lgicas con el mtodo de Karnaugh 23
Una expresin producto de sumas minimizada por el mtodo de Karnaugh estar formada por el mnimo nmero de trminos suma posible Adems, cada trmino suma de una expresin minimizada estar compuesto por el mnimo nmero posible de variables Esta simplificacin dar lugar a una expresin que, en general, podr ser implementada usando menos puertas lgicas de las que necesitara su forma cannica
Simplificacin de funciones lgicas con el mtodo de Karnaugh 24
12
Lo ms conveniente para generar el mapa de Karnaugh de una expresin producto de sumas es que la expresin est en forma cannica El primer paso de este proceso es colocar un 0 en la celda correspondiente a cada combinacin de valores de las variables que hagan valer 0 a algn trmino suma Cuando se haya terminado, el mapa tendr tantas celdas con un 0 como trminos suma haya en la expresin Las celdas vacas son aquellas para las que la expresin vale 1, aunque no es necesario escribirlos
Simplificacin de funciones lgicas con el mtodo de Karnaugh 25
Ejemplo:
C AB 00 01 11 10 0 0 0 0
0
26
13
Ejemplo:
AB CD 00
00 01 11 10
27
La minimizacin de un producto de sumas comienza agrupando los 0 que estn situados en celdas adyacentes del mapa
Un grupo debe contener el mayor nmero posible de celdas
Toda celda del grupo debe ser adyacente a otra celda del grupo El nmero de celdas de cada grupo debe ser potencia de dos
Cada 0 del mapa debe estar incluido en al menos un grupo, aunque un 0 puede estar incluido en varios grupos solapados
Puede haber varias agrupaciones vlidas posibles, pero siempre teniendo en cuenta que el objetivo final de este proceso es maximizar el tamao de los grupos al mismo tiempo que se trata de minimizar el nmero de grupos
Simplificacin de funciones lgicas con el mtodo de Karnaugh 28
14
Ejemplos:
AB 00 01 11 10 C 0 0 0 0 0 1 0 AB 00 01 11 10 0
29
0 0
1 0 0
Cada grupo de celdas da lugar a un trmino suma compuesto por todas las variables que aparecen en el grupo con un nico valor Las variables que aparecen con dos valores distintos en un grupo no se tienen en cuenta La expresin mnima en forma de producto de sumas se obtiene multiplicando todos los trminos suma obtenidos a partir de los grupos del mapa
Simplificacin de funciones lgicas con el mtodo de Karnaugh 30
15
Ejemplo:
C AB 00 01 11 10 0 0 0 0 0
31
Ejemplo:
C AB 00 01 11 10 0 B+C
32
0 0
1 0 0 A+C (A+C)(B+C)
16
Ejemplo:
AB CD 00 0 0 0 0 01 0 0 0 0
33
11
10 C 0 0 B+D C(B+D)
00 01 11 10
Los 0 de una tabla de verdad se pueden trasladar directamente a un mapa de Karnaugh Por ejemplo: F(A,B,C) = (1,2,3,5)
A 0) 1) 2) 3) 4) 5) 6) 7) B C
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
1 0 0 0 1 0 1 1
00 01 11 10
0 0 0
A+B+C
0
34
17
00 01 11 10
0 0 0
B+C A+B
Forma cannica:
(A+B+C)(A+B+C)(A+B+C)(A+B+C)
35
La conversin entre suma de productos y producto de sumas es sencilla utilizando un mapa de Karnaugh, ya que donde no hay un 1 hay un 0 y viceversa
A 0) 1) 2) 3) 4) 5) 6) 7) B C
AB C
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
1 0 0 0 1 0 1 1
00 1 01
F(A,B,C) = (0,4,6,7)
11 1 10 1
C
AB
F(A,B,C) = (1,2,3,5)
00 01 0 11 10
0 0 0
36
18
Resumen y bibliografa
37
Dado que estas combinaciones no ocurren nunca, se las puede considerar como trminos indiferentes a efectos de calcular el valor de la salida
Esto significa que a la celda del mapa de Karnaugh correspondiente a un trmino indiferente le podemos asignar tanto un 0 como un 1, segn convenga
38
19
CD AB 00 01 11 10 x 1 x 1 00 x 1 x x x x 01 11 10
ABC + ABCD
39
CD AB 00 01 11 10 x 1 x 1 00 x 1 x x x x 01 11 10
A + BCD
40
20
CD AB 00 01 11 10 x 0 x 0 00 x 0 x x 0 x x 01 11 10
(A+B+C)(A+B+C)
41
CD AB 00 01 11 10 x 0 x 0 00 x 0 x x 0 x x 01 11 10
A (B+C)
42
21
Resumen y bibliografa
43
Si se simplificaran las funciones por separado no se tendra la seguridad de obtener el circuito mnimo, ya que puede que varias funciones se solapen
Por lo tanto hay que simplificar las funciones de forma conjunta, intentando buscar trminos comunes a las funciones para minimizar el circuito total
44
22
Por ejemplo, un circuito con tres salidas puede simplificarse dando los siguientes pasos:
Buscar los trminos que sean comunes a las tres funciones Buscar los trminos que sean comunes a dos de las funciones y que no estn cubiertos en el paso anterior Buscar los trminos que aparecen nicamente en una funcin y que no estn cubiertos en el paso anterior
45
Simplificacin de multi-funciones
Aqu podemos ver un ejemplo de 3 funciones:
CD AB 00 01 11 10
F1(A,B,C,D) = (5,6,9,12,13,14,15)
F1
00 01 1 1 11 1 1 1 1 1 10
CD AB 00 01 11 10
F2(A,B,C,D) = (0,4,8,9,11,12,13,15)
F2
00 01 11 10
1 1 1 1 1 1 1 1
CD AB 00 01 11 10
F3(A,B,C,D) = (3,5,6,7,13,14,15)
Simplificacin de funciones lgicas con el mtodo de Karnaugh
F3
00 01 11 10
1 1 1 1 1 1
46
23
Simplificacin de multi-funciones
Se calculan los productos posibles de las funciones
CD AB 00 01 11 10 CD AB 00 01 11 10
F1
00 1 1 01 11 1 1 1 1 1 10
CD AB 00 01 11 10
00
En cada producto hay que detectar las combinaciones que no se cubren en productos superiores
F1F2
01 11 1 1 1 1 10
CD AB 00 01 11 10
F2
00 1 01 1 11 1 1 1 10 1 1 1
CD AB 00 01 11 10
F1F3
00 01 11 10
1 1 1 1 1
F3
00 01 11 10
CD AB 00 01 11 10
CD AB 00 01 11 10
1 1 1 1 1 1
F2F3
00 01 11 10
1 1
F1F2F3
00 01 11 10
1 1
47
Simplificacin de multi-funciones
La funcin F1 no tiene ningn trmino que slo aparezca en ella
CD AB 00 F1 01 11 10 1 1 1 1
48
00
01
11 10
1 1 1
24
Simplificacin de multi-funciones
En la funcin F2 existen trminos que slo aparecen en ella, por lo que debemos cubrirlos obteniendo la mnima expresin posible
CD AB 00 F2 01 11 10 00 1 1 1 1 1 1 1 1
49
01
11 10
CD + AD
Simplificacin de multi-funciones
En la funcin F3 existen trminos que slo aparecen en ella, por lo que debemos cubrirlos obteniendo la mnima expresin posible
CD AB 00 F3 01 11 10
Simplificacin de funciones lgicas con el mtodo de Karnaugh 50
00
01
11 10 1
1 1
1 1
1 1
ACD
25
Simplificacin de multi-funciones
El producto de funciones F1 F2 tiene trminos comunes a las dos funciones pero que no aparecen en las tres, as que se cubren obteniendo la mnima expresin posible
CD AB 00 F1 F2 01 11 10 1 1 1
51
00
01
11 10
ACD + ABC
Simplificacin de multi-funciones
El producto de funciones F1 F3 tiene trminos comunes a las dos funciones pero que no aparecen en las tres, as que se cubren obteniendo la mnima expresin posible
CD AB 00 F1 F3 01 11 10
Simplificacin de funciones lgicas con el mtodo de Karnaugh 52
00
01
11 10
1 1 1
1 1
BCD + BCD
26
Simplificacin de multi-funciones
El producto de funciones F2 F3 no tiene trminos que sean comunes a las dos funciones pero que no aparezcan en las tres
CD AB 00 F2F3 01 11 10
Simplificacin de funciones lgicas con el mtodo de Karnaugh 53
00
01
11 10
Simplificacin de multi-funciones
El producto de funciones F1 F2 F3 tiene trminos comunes a las tres funciones, por lo que hay que cubrirlos obteniendo la mnima expresin posible
CD AB 00 F1F2F3 01 11 10
Simplificacin de funciones lgicas con el mtodo de Karnaugh 54
00
01
11 10
ABD
27
Simplificacin de multi-funciones
A partir de los mapas anteriores podemos obtener las expresiones de las tres funciones
Simplificacin de multi-funciones
Todos los trminos de la expresin obtenida para la funcin F1 son necesarios, ya que cada uno de ellos es el nico que cubre al menos una de las combinaciones
F1(A,B,C,D) = (5,6,9,12,13,14,15) F1 = ACD + ABC + BCD+ BCD + ABD ACD ABC 9,13 12,13 BCD BCD 5,13 6,14
56
ABD
13,15
28
Simplificacin de multi-funciones
Los dos primeros trminos de la funcin F1 son necesarios, ya que cada uno de ellos es el nico que cubre al menos una de las combinaciones Estos dos trminos son suficientes para cubrir todas las combinaciones, por lo que los dems no son necesarios
F2(A,B,C,D) = (0,4,8,9,11,12,13,15) F2 = CD + AD + ACD+ ABC + ABD CD AD 0,4,8,12 ACD 9,13 ABD 12,13
57
13,15
9,11,13,15 ABC
Simplificacin de multi-funciones
Todos los trminos de la expresin obtenida para la funcin F3 son necesarios, ya que cada uno de ellos es el nico que cubre al menos una de las combinaciones Tres de los trminos coinciden con los de la funcin F1, por lo que no se necesitarn puertas lgicas adicionales
F3(A,B,C,D) = (3,5,6,7,13,14,15) F3 = ACD + BCD+ BCD + ABD ACD BCD 3,7 5,13
BCD ABD
6,14
58
13,15
29
Funciones incompletamente especificadas Circuitos con salida mltiple Funciones con ms de cuatro variables Resumen y bibliografa
Simplificacin de funciones lgicas con el mtodo de Karnaugh 59
Las funciones booleanas de cinco variables pueden simplificarse usando un mapa de Karnaugh de 32 celdas Para poder mantener la adyacencia ser necesario representar este mapa de 32 celdas usando dos mapas de 16 celdas cada uno
BC DE A=0 00 01 11 10 BC DE A=1 00 01 11 10 00 01 11 10 00 01 11 10
60
30
La mejor manera de visualizar la adyacencia entre los dos mapas es imaginar que el mapa para A = 0 est situado encima del mapa para A = 1
BC DE 00 01 11 10 A=0 00 01 11 10 1 1 1 1 1 1 1 BC BCD ACDE BCE ADE DE 00 01 11 10 1 A=1 00 01 11 10 1 1 1 1
Obviamente, este procedimiento complica mucho la simplificacin, a parte de que sera todava ms difcil simplificar funciones con ms de cinco variables
Simplificacin de funciones lgicas con el mtodo de Karnaugh 61
Funciones incompletamente especificadas Circuitos con salida mltiple Funciones con ms de cuatro variables Resumen y bibliografa
Simplificacin de funciones lgicas con el mtodo de Karnaugh 62
31
Resumen
La expresin minimizada de un circuito ser aquella que requiera un menor nmero de puertas y, por tanto, requerir un menor coste de implementacin, sufrir un retardo menor y consumir menos energa El mtodo de Karnaugh permite obtener, de forma sistemtica, la funcin lgica mnima que representa un circuito digital Este mtodo permite trabajar con funciones incompletamente especificadas y con funciones de salida mltiple, aprovechando sus caractersticas particulares para minimizar an ms las funciones
Simplificacin de funciones lgicas con el mtodo de Karnaugh 63
Bibliografa
Fundamentos de Sistemas Digitales (7 edicin)
Captulo 4 Thomas L. Floyd Prentice Hall, 2000
Captulo 4 Daniel D. Gajski Prentice Hall, 1997 Captulo 3 Enrique Mandado Marcombo, 1991
64
32