Prof. Marienny Arriechi Sección: SAIA-A Un mapa de Karnaugh (también conocido como tabla de Karnaugh o diagrama de Veitch, abreviado como Mapa-K o Mapa-KV) es un diagrama utilizado para la simplificación de funciones algebraicas Booleanas. El mapa de Karnaugh fue inventado en 1950 por Maurice Karnaugh, un físico y matemático de los laboratorios Bell.
Los mapas de Karnaugh reducen la necesidad
de hacer cálculos extensos para la simplificación de expresiones booleanas, aprovechando la capacidad del cerebro humano para el reconocimiento de patrones y otras formas de expresión analítica, permitiendo así identificar y eliminar condiciones muy inmensas. Se basa en algunos teoremas boléanos para su funcionamiento. Para lograr una simplificación más efectiva y mejor, es necesario integrar dos elementos: Las reglas de agrupamiento y la práctica por parte del estudiante. Al igual que la tabla de la verdad permite ordenar las variables con su comportamiento en la salida, y pasar a la construcción de las ecuaciones lógicas y el dibujo del circuito lógico correspondiente. En los bordes superiores y Ahora: ¿que encontramos en cada laterales, se colocan los celda? Recordando algo de matrices, valores que pueden tomar cada expresión de celda estará las variables participantes constituida por el producto de las en la ecuación lógica ó el variables de la fila y la columna problema que se está asociada a la celda, por ejemplo: resolviendo, y en la barra diagonal el nombre de las variables. Recuerde el valor asignado a las variables:
La celda sombreada, está
constituida por el producto de A (0)= A y BC (11)= BC, los cuales a su vez están multiplicados por el 1 presente en la celda. Por ejemplo veamos los términos que estarían contentivos en un MK de 4 variables: Algunos autores, en vez de colocar NOTA: La enumeración de unos y ceros para representar los las variables se hace de valores que toman las variables, menor a mayor, en código colocan directamente a la variable Gray. Repase el concepto en su forma normal o de Adyacencia. Rellene complementada. Lo que al usted los recuadros que momento de determinar la faltan en cuanto a expresión de la celda se hace de numeración se refiere. una forma directa. Evalúe usted el método que se le haga más fácil de entender y utilizar. Por cierto, ¿Este MK de tres variables es igual al mostrado en páginas anteriores? • REGLAS DE AGRUPAMIENTO Y SIMPLIFICACION Cada grupo de celdas le permitirá a usted tener un término SDP ó PDS simplificado. A medida que logres formar un grupo más grande de celdas, el término será más reducido y simplificado. Repase las notas colocadas en la guía de ejercicios. Grupos válidos: 1, 2, 4, 8 y 16 celdas. Bajo el concepto de adyacencia. Con respecto a los otros números de grupos de celdas que no aparecen y que son NO VALIDOS, como por ejemplo, 3, 5, 6, 7 etc., Pueden ser agrupados en varios subgrupos dentro del número válido de celdas, recordando que cada grupo es un término simplificado. NOTA: Adyacencia: Se refiere a dos celdas en las cuales sólo cambia una variable entre una y otra celda. Para esto se basa en el código Gray visto por usted en Informática. Dos celdas diagonales NO son adyacentes, Generalmente son adyacentes las celdas contiguas en horizontal y/o vertical.
NOTA: Si una celda ya pertenece a un grupo, NO es necesario involucrarla a otro grupo, a
menos que exista una celda adyacente a esta que la tome para hacer un grupo. El grupo subrayado es innecesario. Nótese que para este mismo ejemplo, hay varias formas de agrupamiento, las cuales respetando las normas, son perfectamente válidas, lo que le llevará a concluir que NO HAY una sola forma de resolución sobre un MK
Por cada grupo de dos celdas
propuesto, se reduce en una variable el término producto. Por ejemplo: Se tiene un MK de 2 variables, el término le queda en 1 variable, si tiene un MK de 3 variables, el término le queda en 2 variables y así sucesivamente. NOTA: Cada grupo reduce en dos variables a las expresiones lógicas del total de las variables participantes
NOTA: Cada grupo reduce en 3 variables a las expresiones
lógicas del total de las variables participantes, lo que da origen a un término de una variable. Al igual que los MK anteriores, un grupo de 16 celdas, origina una expresión que vale 1. Una condición don’t care es una combinación de entradas para las cuales la salida no importa si es un 1 o un 0. Esto permite al diseñador del circuito simplificar su implementación ya que le permite elegir el valor de salida más favorable para sus intereses. Un ejemplo de la aparición de esta condición don’t care es la siguientes: supóngase un circuito que a su entrada recibe un código BCD (de 4 bits) y que debe proporcionar una salida (0 o 1) en base a unas ciertas especificaciones. Se hará un ejemplo, en el que se indique con un 1 si el numero a la entrada es primo, o lo que es lo mismo, si corresponde a los decimales 2, 3, 5, 7. Como se recordará, el código BCD únicamente representa los valores 0…9 en decimal. Debido a esto, sólo trabaja con 10 combinaciones de las 24 = 16 posibles. Esto quiere decir, que para las 6 combinaciones sobrantes la salida que proporcione el circuito es indiferente y constituyen condiciones don’t care. La tabla de verdad que reflejaría este funcionamiento es la siguiente: En esta tabla se ha incluido como primera columna el valor decimal BCD al que corresponde la combinación de 4 bits, X3,X2,X1,X0. A partir del valor 9 se puede observar que se han marcado con “x” el resto de combinaciones binarias ya que no se utilizan en BCD. La salida correspondiente a cada una de estas combinaciones binarias se marca también con “x. De esta forma, se indica que esa combinación tiene la condición don’t care y que por tanto, el valor que aparezca en la salida no importa. • A la hora de efectuar la simplificación de los En este mapa se puede observar que las mapas de Karnaugh ya que el diseñador, a la casillas con los valores decimales 2, 3, 5 y 7 hora de formar los grupos, podrá elegir y asignar a deben ser obligatoriamente 1 (son números cada uno de los valores de “x” el valor 1 o 0 según primos). Las casillas con los valores le convenga. decimales 0, 1, 4, 6, 8, 9 deben ser • Le interesará asignar a una “x” un valor 1 si la obligatoriamente 0 (no son números casilla, adyacente a otras de valor 1, permite primos). Y finalmente, los valores decimales crear un grupo más grande y por lo tanto se 10..15 ostentan la condición de don’t care. obtiene una mayor simplificación. En caso Siguiendo el procedimiento indicado se contrario, le interesará asignar a “x” el valor 0. realiza la creación de grupos o cubos. En la figura siguiente se puede observar la Siguiente con el ejemplo de este apartado, si agrupación elegida: trasladamos al Mapa de Karnaugh la tabla de verdad que describe la función se obtendrá lo siguiente: Siguiendo con la diapositiva anterior se han creado dos grupos: Azul: Este grupo inicialmente sólo contenía las casillas 2 y 3, pero se ha decidido, en aras de obtener un grupo mayor, considerar que las “x” de las casillas 10 y 11 son 1. Por tanto, se forma un grupo de cuatro 1. Verde: Este grupo inicialmente estaba compuesto por las casillas 5 y 7, pero al considerar que las “x” de las casillas 13 y 15 son 1 se puede construir un grupo mayor de cuatro 1. De forma implícita, se ha considerado que las “x” de las casillas 12 y 14 valen 0 ya que no sirven al objetivo de ampliar los grupos de 1 existentes. La función resultante será por tanto: S = X2’·X1 + X2·X0 Si no se hubiera hecho uso de este grado de libertad que proporcionan las condiciones don’t care se habría supuesto en el procedimiento anterior que todas las “x” son 0. Se puede comprobar que, en ese caso, el resultado habría proporcionado dos grupos de 2 unos. Cada grupo de 2 unos da lugar a un término con 3 variables que es más complejo que los de 2 variables ( los obtenidos teniendo en cuenta las condiciones don’t care.