Mapas de Karnaugh y método de Quine McCluskey Ing. Mónica Patricia René_2010 Ing. Mónica P. René_2010 1 Introducción Vimos como representar funciones de conmutación con tablas de verdad, implementándolas con compuertas lógicas. Además mediante el álgebra de Boole, reducimos dichas funciones de conmutación para que puedan emplearse el mínimo número posible de compuertas lógicas. Cuando la función de conmutación depende de muchas entradas, el método para reducir la función mediante teoremas y postulados del álgebra booleana se vuelve tedioso. Además una misma función se puede expresar algebraicamente de distintas maneras. Los métodos que veremos a continuación remedian estas dificultades. Ing. Mónica P. René_2010 2 Mapas de Karnaugh Como una tabla de verdad, el mapa de Karnaugh de una función, especifica el valor de dicha función para todas las combinaciones de valores de las variables independientes (entradas). Es un diagrama en forma de matriz de cuadros, donde cada cuadro corresponde a un minitérmino de la función. Las expresiones simplificadas, que se generan del mapa, siempre están en una de las dos formas estándar: suma de minitérminos o producto de maxitérminos. La expresión más simple no es única. Ing. Mónica P. René_2010 3 Mapas de Karnaugh de dos y tres variables Para dos variables, existen 4 minitérminos, por lo tanto 4 cuadros en la matriz. Ejemplo A,B: variables de entrada A A 0 B 1 B 0 A=0, B=0 1 1 A=1, B=1 A=0, B=1 AB A´ B A A 0 1 0 0 m m2 m1 m3 1 AB´ A´ B´ A B 0 1 0 0 2 00 10 1 1 3 01 11 B B 0 1 A B 0 0 0 1 1 0 1 1 0 1 1 0 A=1, B=0 B 0 A Ing. Mónica P. René_2010 4 Mapas de Karnaugh de dos y tres variables Se pueden leer los minitérminos igual que en una tabla de verdad. Cada 1 contenido en el mapa corresponde a un término producto de F. Un 1 contenido en la celda 00, indica que A´B´ es un término producto de F. Los términos productos ubicados en celdas adyacentes, pueden combinarse, dado que solo difieren en una sola variable. A´B´ y A´B se combinan para formar A´. Lo anterior se indica mediante un lazo que envuelve a los correspondientes unos sobre el mapa. Ejemplo Para la siguiente tabla de verdad construya el mapa de K. A A B F 0 0 1 0 0 1 1 1 1 0 0 1 1 0 1 0 B 1 0 1 0 A 1 0 B 0 A´ B´ 1 1 0 1 0 A´ B F= A´ B´+A´B A 1 0 B 0 A´ B´+A´B=A´ 1 1 0 1 0 F=A´ Ing. Mónica P. René_2010 5 Mapas de Karnaugh de dos y tres variables Para tres variables: A BC 0 1 000 100 A 00 001 101 011 111 11 100 ES ADYACENTE A 110 01 11 010 10 NOTACION BINARIA A BC 0 4 0 0 0 0 1 5 0 0 1 0 01 3 7 0 1 0 1 11 2 6 0 1 1 1 10 110 10 1 BC 00 01 0 A B C F NOTACION DECIMAL 00 0 1 0 1 0 0 1 0 1 1 1 0 0 1 1 0 1 0 Los términos productos situados en celdas adyacentes se pueden combinar 1 1 0 1 utilizando el teorema XY´+XY=X 1 1 1 0 Por ejemplo el término producto 001 (A´B´C) se puede combinar con tres términos producto como se ve en la fig. Las filas superiores e inferiores del mapa también son adyacentes (100 con 110 y 000 con 010) Ing. Mónica P. René_2010 6 Mapas de Karnaugh de dos y tres variables Dada la expansión en términos producto de una función, puede representarse sobre un mapa colocando unos en las celdas que corresponden a lo minitérminos de la función y ceros en las celdas restantes. A BC 0 1 0 0 1 1 1 0 0 0 00 01 11 10 F(A,B,C)=∑(m1,m3,m5) Ing. Mónica P. René_2010 7 Mapas de Karnaugh de dos y tres variables Si una función se especifica en forma algebraica, no es necesario expandirla en términos producto antes de representarla sobre un mapa. Por ejemplo suponiendo que f(a,b,c,d)=abc´+b´c+a´ construiremos el mapa como se muestra: a El término abc’ es 1 cuando a=1, y bc=10, por lo que 0 1 bc colocamos un 1 en la celda que corresponde a la 1 0 00 columna a= 1 y la fila bc=10 1 1 El término b´c es 1 cuando bc=01,por lo que 01 colocamos un 1 en ambas celdas de la fila bc=01 1 0 11 del mapa. 1 1 10 El término a´ es 1 cuando a=0, por lo que colocamos un 1 en todas las celdas de la columna a=0 del mapa. Nota: dado que hay un 1 en la celda abc=001 no tenemos que colocar un segundo 1 ahí, ya que x+x=x Ing. Mónica P. René_2010 8 Mapas de Karnaugh de dos y tres variables Ejemplo de deducción de una expresión simplificada utilizando un mapa de Karnaugh. F(a,b,c)=a´b´c+a´bc+ab´c a bc 0 0 a 1 bc 0 00 0 1 0 0 1 1 1 0 0 0 00 1 1 01 01 1 0 11 0 T1= a´b´c+a´bc=a´c 11 0 10 F(a,b,c)=∑(m1,m3,m5) Inserción de los términos productos (o minitérminos) T2= a´b´c+ab´c=b´c 10 F=a´c+b´c Forma simplificada de F Rellenamos el mapa con los términos producto correspondientes. Agrupamos mediante los lazos. Simplificamos. F(a,b,c)=a´c+b´c Ing. Mónica P. René_2010 9 Mapas de Karnaugh de dos y tres variables Si queremos encontrar el complemento de la función mostrada en el ejemplo anterior, simplemente cambiamos en el mapa los 0 por 1 y los 1 por 0. F´(a,b,c)=(a´b´c+a´bc+ab´c)´ a bc 0 1 a 1 bc 1 00 1 1 1 0 0 0 1 1 1 00 0 0 01 01 0 1 T1= b´c´+bc´=c´ 11 11 1 1 10 F’(a,b,c)=∑(m0,m2,m4,m6,m7) Inserción de los términos productos (o minitérminos) 0 T2= ab F´=c´+ab Forma simplificada de F´ Simplificamos como se explicó. F´(a,b,c)=c´+ab Ing. Mónica P. René_2010 10 Mapas de Karnaugh de dos y tres variables Si queremos expresar la función F como un producto de sumas(o productos de maxitérminos), buscamos el complemento de dicha función simplificamos y luego aplicamos el teorema de Morgan, para volver a complementar, y poder expresar F finalmente como un producto de maxitérminos. Para el ejemplo anterior donde F(a,b,c)=a´b´c+a´bc+ab´c vimos como encontrar F´(a,b,c)=c´+ab Ahora aplicando el teorema de Morgán, para volver a complemetar: (F’)’= F = c (a’ +b’) producto de maxitérminos Ing. Mónica P. René_2010 11 Mapas de Karnaugh de cuatro variables Las siguientes figuras muestran la distribución de un mapa K de cuatro variables: AB 00 01 11 10 0 4 12 8 1 5 13 9 3 7 15 11 2 6 14 10 CD 00 01 11 10 La definición de celdas adyacentes se amplia, no sólo las filas superior e inferior son adyacentes, sino que también lo son la primera y la última columna. Ing. Mónica P. René_2010 12 Ejemplos Checar concepto de desbordamiento pag. 16 Fundamentos de diseño lógico, Charles H. Roth, Jr., 5ª ed.Thomson • Problemas 5.3, a),b)c) • 5.4 • 5.5 (observación la operación EQU (equivalencia)=XNOR) • 5.6 (solo hallar la suma mínima de productos de cada función) Ing. Mónica P. René_2010 13 Método de Quine McCluskey Este método proporciona un procedimiento simplificado y sistémico que puede programarse en una computadora. Se utiliza cuando el número de variables es más grande o se tienen que simplificar varias funciones y ya no es aconsejable utilizar mapas de K. Ing. Mónica P. René_2010 14 Método de Quine McCluskey El procedimiento consta de dos pasos: Eliminar tantos literales como sea posible de cada término, aplicando sistemáticamente el teorema XY+XY´=X . Los términos resultantes se denominan resultantes primos. Utilizar un gráfico de implicantes primos para seleccionar un conjunto mínimo de implicantes primos que, combinados mediante la operación OR, equivalgan a la función que se va a simplificar y que contenga un número mínimo de literales. Ing. Mónica P. René_2010 15 Método de Quine McCluskey Procedimiento: La función debe estar dada como una suma de minitérminos ( o suma de productos). De no estar en la forma anterior, deberá expandirse a una suma de minitérminos según los procedimientos vistos en temas anteriores. Se forman sistemáticamente todos los implicantes primos de la función, combinando los minitérminos. Los minitérminos se representarán en notación binaria y se combinarán utilizando el teorema de absorción XY+XY´=X Donde X representa un producto literal e Y es una sola variable Ing. Mónica P. René_2010 16 Método de Quine McCluskey Ej. AB´CD´ AB´CD 101 0 101 1 X Y´ X Y A´BC´D A´BCD ´ 0 1 0 1 0 1 1 0 AB´C 101 el guión indica una variable que falta X (no se combinan) (no se combinan) Para hallar todos los implicantes primos, deben compararse todos los pares posibles de producto y combinarse siempre que se pueda. Veamos mediante un ejemplo como formar la tabla de determinación de implicantes primos. Ing. Mónica P. René_2010 17 Método de Quine McCluskey Veamos un ejemplo, dada la siguiente función encuentre los implicantes primos f a, b, c, d m 0, 1, 2, 5, 6, 7, 8, 9, 10, 14 Dividimos los minitérminos en grupos, numerados según la cantidad de unos contenidos en dichos minitérminos: grupo 0 0 0000 grupo 1 1 2 8 0001 0010 1000 grupo 2 5 6 9 10 0101 0110 1001 1010 grupo 3 7 14 0111 1110 Luego, dos términos podrán combinarse si difieren en exactamente una variable. Compararemos los términos del grupo 0 con los del grupo 1. Ing. Mónica P. René_2010 18 Método de Quine McCluskey GRUPO 0 1 COLUMNA 1 COLUMNA 2 COLUMNA 3 0 0000 0,1 000- 0,1,8,9 -00- 1 0001 0,2 00-0 0,2,8,10 -0-0 2 0010 0,8 -000 0,8,1,9 -00- 8 1000 1,5 0-01 0,8,2,10 -0-0 5 0101 1,9 -001 2,6,10,14 --10 6 0110 2,6 0-10 2,10,6,14 --10 9 1001 2,10 -010 10 010 8,9 100- 7 0111 8,10 10-0 14 1110 5,7 01-1 6,7 011- 6,14 -110 10,14 1-10 2 3 Tabla 1 Ing. Mónica P. René_2010 19 Método de Quine McCluskey Se combinan a´b´c´d´+a´b´c´d=a´b´c´ Se combinan a´b´c´d´+a´b´cd´=a´b´d´ Se combinan a´b´c´d´+ab´c´d´=b´c´d´ Los términos anteriores se combinan para eliminar una variable, utilizando el teorema de absorción XY+XY´=X Los términos de la columna 2 se dividen también en grupos según la cantidad de unos que contienen. Los términos del primer grupo de la columna 2 solo tienen que compararse con los términos del segundo grupo que contengan guiones en las mismas posiciones, a´b´c´+ab´c´=b´c´. El término resultante se enumera en la columna 3. Luego repetimos el procedimiento anterior para la columna 3. Ing. Mónica P. René_2010 20 Método de Quine McCluskey De la tabla anterior, los términos que no se han combinado con otros términos, se denominan implicantes primos. Luego la función es la suma de sus implicantes primos. f a c d a bd a bc b‘ c ‘ b´d´ cd´ 1, 5 5, 7 6, 7 0, 1, 8, 9 0, 2, 8, 10 2, 6, 10, 14 Pero la expresión anterior todavía se puede reducir: f a bd b´c cd´ Vamos a utilizar la segunda parte del método para encontrar un conjunto mínimo de implicantes primos. Ing. Mónica P. René_2010 21 Método de Quine McCluskey La segunda parte del método de Quine McCluskey emplea un gráfico de implicantes primos para seleccionar un conjunto mínimo de implicantes primos. A partir de la tabla anterior (tabla 1), se construye una tabla de implicantes primos como se muestra a continuación: (0,1,8,9) (0,2,8,10) (2,6,10,14) (1,5) (5,7) (6,7) b´c´ b´d´ cd´ a´c´d a´bd a´bc 0 1 2 3 4 5 6 7 8 x x x x x x x x 9 14 ¤ x x x 10 x x ¤ x x x Si un término producto está cubierto sólo mediante un implicante primo, entonces dicho implicante primo se denomina implicante primo esencial. Ing. Mónica P. René_2010 22 Método de Quine McCluskey Los implicantes primos esenciales son fáciles de encontrar y se deben incluir en la suma mínima de productos de la función. Si una determinada columna contiene sólo una X, entonces la correspondiente fila es un implicante primo esencial. En la tabla anterior, las columnas 9 y 14 contienen una sola X, por lo que b´c´y cd´ son implicantes primos esenciales. Cada vez que se selecciona un implicante primo esencial, se debe tachar la fila correspondiente (ver líneas rojas en tabla siguiente). Luego, las columnas que corresponden a todos los términos producto cubiertos por dichos implicantes primos también deben tacharse (ver líneas negras en tabla siguiente). Veamos como queda la tabla. Ing. Mónica P. René_2010 23 Método de Quine McCluskey (0,1,8,9) (0,2,8,10) (2,6,10,14) (1,5) (5,7) (6,7) b´c´ b´d´ cd´ a´c´d a´bd a´bc 0 1 2 3 4 5 6 7 8 x x x x x x x x x x x 9 10 14 ¤ x x ¤ x x x Luego se debe elegir un conjunto mínimo de implicantes primos para cubrir las restantes columnas. En este ejemplo a´bd cubre las dos columnas restantes. Ing. Mónica P. René_2010 24 Método de Quine McCluskey Cubriendo las dos columnas restantes (líneas violetas). (0,1,8,9) (0,2,8,10) (2,6,10,14) (1,5) (5,7) (6,7) b´c´ b´d´ cd´ a´c´d a´bd a´bc 0 1 2 3 4 5 6 7 8 x x x x x x x x x x x 9 10 14 ¤ x x ¤ x x x Finalmente la suma mínima de productos resultante es: f a bd b´c cd´ Ing. Mónica P. René_2010 25 Método de Quine McCluskey Entonces luego de seleccionar los implicantes primos esenciales, los términos producto a los que cubren pueden eliminarse del gráfico de implicantes mínimos, tachando las correspondientes columnas. Si los esenciales no cubren todos los términos producto, entonces son necesarios implicantes primos no esenciales. En gráficos de implicantes primos más grandes, pueden emplearse procedimientos adicionales para reducir. Los mapas K son útiles para funciones con tres a cinco variables. El método de Quine McCluskey se puede utilizar en computadoras de alta velocidad para simplificar funciones con hasta 15 variables o más. Para problemas con un gran número de variables pero pocos términos, la simplificación algebraica puede ser el método más sencillo. Ing. Mónica P. René_2010 26 Método de Quine McCluskey En las situaciones en las que no se requiera de una solución mínima o en las que obtener una solución mínima requiere de una potencia de cálculo excesiva, pueden utilizarse procedimientos herústicos. El método Espresso-II es uno de los métodos herústicos más populares, el cual puede generar soluciones mínimas aproximadas para una amplia variedad de problemas. Hasta el momento, sólo consideramos la implementación de una única función de conmutación. Ing. Mónica P. René_2010 27 Método de Quine McCluskey • • Problemas Fundamentos de diseño lógico, Charles H. Roth, Jr.,Thomson, 5a ed. 6.2 6.3 Segundo trabajo práctico de laboratorio Ing. Mónica P. René_2010 28
© Copyright 2024