stringtranslate.com

Mapa de Karnaugh

Un ejemplo de mapa de Karnaugh. Esta imagen muestra en realidad dos mapas de Karnaugh: para la función ƒ , utilizando minterms (rectángulos de colores) y para su complemento, utilizando maxterms (rectángulos grises). En la imagen, E () significa una suma de minterms, denotada en el artículo como .

El mapa de Karnaugh ( KM o K-map ) es un método para simplificar expresiones del álgebra de Boole . Maurice Karnaugh lo introdujo en 1953 [1] [2] como un refinamiento del diagrama de Veitch de 1952 de Edward W. Veitch , [3] [4] que a su vez fue un redescubrimiento del diagrama lógico de Allan Marquand de 1881 [5] [6] también conocido como diagrama de Marquand [4] pero ahora con un enfoque puesto en su utilidad para circuitos de conmutación. [4] Los diagramas de Veitch también se conocen como diagramas de Marquand-Veitch , [4] diagramas de Svoboda [7] -(aunque solo en raras ocasiones)- e incluso mapas de Karnaugh como mapas de Karnaugh-Veitch ( mapas KV ).

El mapa de Karnaugh reduce la necesidad de realizar cálculos extensos al aprovechar la capacidad de reconocimiento de patrones de los humanos. [1] También permite la rápida identificación y eliminación de posibles condiciones de carrera . [ Aclaración necesaria ]

Los resultados booleanos requeridos se transfieren desde una tabla de verdad a una cuadrícula bidimensional donde, en los mapas de Karnaugh, las celdas se ordenan en código Gray , [8] [4] y cada posición de celda representa una combinación de condiciones de entrada. Las celdas también se conocen como minterms, mientras que cada valor de celda representa el valor de salida correspondiente de la función booleana. Se identifican grupos óptimos de 1 o 0, que representan los términos de una forma canónica de la lógica en la tabla de verdad original. [9] Estos términos se pueden usar para escribir una expresión booleana mínima que represente la lógica requerida.

Los mapas de Karnaugh se utilizan para simplificar los requisitos lógicos del mundo real de modo que se puedan implementar utilizando el número mínimo de puertas lógicas . Una expresión de suma de productos (SOP) siempre se puede implementar utilizando puertas AND que alimentan a una puerta OR , y una expresión de producto de sumas (POS) conduce a puertas OR que alimentan a una puerta AND. La expresión POS da un complemento de la función (si F es la función, entonces su complemento será F'). [10] Los mapas de Karnaugh también se pueden utilizar para simplificar expresiones lógicas en el diseño de software. Las condiciones booleanas, como se utilizan por ejemplo en declaraciones condicionales , pueden volverse muy complicadas, lo que hace que el código sea difícil de leer y mantener. Una vez minimizadas, las expresiones canónicas de suma de productos y producto de sumas se pueden implementar directamente utilizando operadores lógicos AND y OR. [11]

Ejemplo

Los mapas de Karnaugh se utilizan para facilitar la simplificación de las funciones del álgebra de Boole . Por ejemplo, considere la función booleana descrita por la siguiente tabla de verdad .

A continuación se presentan dos notaciones diferentes que describen la misma función en álgebra booleana no simplificada, utilizando las variables booleanas A , B , C , D y sus inversas.

Mapa K dibujado sobre un toro y en un plano. Las celdas marcadas con puntos son adyacentes.
Construcción de un mapa K. En lugar de los valores de salida (los valores más a la derecha en la tabla de verdad), este diagrama muestra una representación decimal de la entrada ABCD (los valores más a la izquierda en la tabla de verdad), por lo tanto, no es un mapa de Karnaugh.
En tres dimensiones, se puede doblar un rectángulo hasta convertirlo en un toro.

Construcción

En el ejemplo anterior, las cuatro variables de entrada se pueden combinar de 16 maneras diferentes, por lo que la tabla de verdad tiene 16 filas y el mapa de Karnaugh tiene 16 posiciones. Por lo tanto, el mapa de Karnaugh está organizado en una cuadrícula de 4 × 4.

Los índices de filas y columnas (mostrados en la parte superior e inferior del lado izquierdo del mapa de Karnaugh) están ordenados en código Gray en lugar de en orden numérico binario. El código Gray garantiza que solo cambie una variable entre cada par de celdas adyacentes. Cada celda del mapa de Karnaugh completo contiene un dígito binario que representa la salida de la función para esa combinación de entradas.

Agrupamiento

Una vez construido el mapa de Karnaugh, se utiliza para encontrar una de las formas más simples posibles (una forma canónica ) para la información de la tabla de verdad. Los 1 adyacentes en el mapa de Karnaugh representan oportunidades para simplificar la expresión. Los mintérminos ('términos mínimos') para la expresión final se encuentran al encerrar en un círculo los grupos de 1 en el mapa. Los grupos de mintérminos deben ser rectangulares y deben tener un área que sea una potencia de dos (es decir, 1, 2, 4, 8...). Los rectángulos de mintérminos deben ser lo más grandes posible sin contener ningún 0. Los grupos pueden superponerse para que cada uno sea más grande. Las agrupaciones óptimas en el ejemplo siguiente están marcadas por las líneas verde, roja y azul, y los grupos rojo y verde se superponen. El grupo rojo es un cuadrado de 2 × 2, el grupo verde es un rectángulo de 4 × 1 y el área de superposición se indica en marrón.

Las celdas suelen estar indicadas por una abreviatura que describe el valor lógico de las entradas que cubre la celda. Por ejemplo, AD significaría una celda que cubre el área 2x2 donde A y D son verdaderas, es decir, las celdas numeradas 13, 9, 15, 11 en el diagrama anterior. Por otro lado, A D significaría las celdas donde A es verdadera y D es falsa (es decir, D es verdadera).

La cuadrícula está conectada toroidalmente , lo que significa que los grupos rectangulares pueden envolverse a lo largo de los bordes (ver imagen). Las celdas del extremo derecho son en realidad "adyacentes" a las del extremo izquierdo, en el sentido de que los valores de entrada correspondientes solo difieren en un bit; de manera similar, también lo son las de la parte superior y las de la parte inferior. Por lo tanto, A D puede ser un término válido (incluye las celdas 12 y 8 en la parte superior y se envuelve hacia la parte inferior para incluir las celdas 10 y 14), al igual que B D , que incluye las cuatro esquinas.

Solución

Diagrama que muestra dos mapas K. El mapa K para la función f(A, B, C, D) se muestra como rectángulos de colores que corresponden a los mintérminos. La región marrón es una superposición del cuadrado rojo de 2×2 y el rectángulo verde de 4×1. El mapa K para la inversa de f se muestra como rectángulos grises, que corresponden a los maxtérminos.

Una vez que se ha construido el mapa de Karnaugh y se han vinculado los 1 adyacentes mediante cajas rectangulares y cuadradas, los mintérminos algebraicos se pueden encontrar examinando qué variables permanecen iguales dentro de cada caja.

Para el grupo rojo:

Por lo tanto, el primer mintérmino en la expresión de suma de productos booleana es A C .

En el grupo verde, A y B mantienen el mismo estado, mientras que C y D cambian. B es 0 y debe ser negado antes de poder incluirlo. Por lo tanto, el segundo término es A B . Nótese que es aceptable que el grupo verde se superponga con el rojo.

De la misma manera, la agrupación azul da el término BC D .

Las soluciones de cada agrupación se combinan: la forma normal del circuito es .

Así, el mapa de Karnaugh ha guiado una simplificación de

También habría sido posible derivar esta simplificación aplicando cuidadosamente los axiomas del álgebra de Boole , pero el tiempo que lleva hacerlo crece exponencialmente con el número de términos.

Inverso

La inversa de una función se resuelve de la misma manera, agrupando los 0. [nb 1]

Los tres términos que cubren la inversa se muestran con cuadros grises con bordes de diferentes colores:

Esto produce el inverso:

Mediante el uso de las leyes de De Morgan se puede determinar el producto de sumas :

No me importa

El valor de ⁠ ⁠ para ABCD = 1111 se reemplaza por un "no importa". Esto elimina por completo el término verde y permite que el término rojo sea más grande. También permite que el término inverso azul se desplace y se haga más grande.

Los mapas de Karnaugh también permiten minimizar más fácilmente las funciones cuyas tablas de verdad incluyen condiciones de " no importa ". Una condición de "no importa" es una combinación de entradas para las cuales al diseñador no le importa cuál es la salida. Por lo tanto, las condiciones de "no importa" pueden incluirse o excluirse de cualquier grupo rectangular, lo que lo haga más grande. Por lo general, se indican en el mapa con un guión o una X.

El ejemplo de la derecha es el mismo que el ejemplo anterior, pero con el valor de f (1,1,1,1) reemplazado por un "no importa". Esto permite que el término rojo se expanda completamente hacia abajo y, por lo tanto, elimina por completo el término verde.

Esto produce la nueva ecuación mínima:

Tenga en cuenta que el primer término es simplemente A , no A C. En este caso, al no importarle se le ha quitado un término (el rectángulo verde), se ha simplificado otro (el rojo) y se ha eliminado el peligro de carrera (eliminando el término amarillo como se muestra en la siguiente sección sobre peligros de carrera).

El caso inverso se simplifica de la siguiente manera:

Mediante el uso de las leyes de De Morgan se puede determinar el producto de sumas :

Peligros de carrera

Eliminación

Los mapas de Karnaugh son útiles para detectar y eliminar condiciones de carrera . Los peligros de carrera son muy fáciles de detectar con un mapa de Karnaugh, porque puede existir una condición de carrera al moverse entre cualquier par de regiones adyacentes, pero disjuntas, circunscritas en el mapa. Sin embargo, debido a la naturaleza de la codificación Gray, adyacente tiene una definición especial explicada anteriormente: de hecho, nos estamos moviendo sobre un toro, en lugar de un rectángulo, que envuelve la parte superior, inferior y los lados.

En este diagrama están presentes riesgos de carrera.
Diagrama anterior con términos de consenso agregados para evitar riesgos de carrera.

La naturaleza física de la implementación determinará si se producirán o no fallos, y la aplicación determinará si es necesario preocuparse por ellos. En la lógica sincronizada, basta con que la lógica se asiente en el valor deseado a tiempo para cumplir con el plazo de tiempo. En nuestro ejemplo, no estamos considerando la lógica sincronizada.

En nuestro caso, un término adicional eliminaría el riesgo de carrera potencial, creando un puente entre los estados de salida verde y azul o los estados de salida azul y rojo: esto se muestra como la región amarilla (que envuelve desde la parte inferior hasta la parte superior de la mitad derecha) en el diagrama adyacente.

El término es redundante en términos de la lógica estática del sistema, pero dichos términos redundantes o de consenso suelen ser necesarios para garantizar un rendimiento dinámico sin competencia.

De manera similar, se debe agregar un término adicional de a la inversa para eliminar otro riesgo potencial de carrera. La aplicación de las leyes de De Morgan crea otra expresión de producto de sumas para f , pero con un nuevo factor de .

Ejemplos de mapas de 2 variables

Los siguientes son todos los posibles mapas de Karnaugh de 2 variables y 2 × 2. Junto con cada uno se enumeran los mintérminos en función de y la ecuación mínima libre de riesgo de carrera ( ver sección anterior ). Un mintérmino se define como una expresión que da la forma más mínima de expresión de las variables mapeadas. Se pueden formar todos los bloques interconectados horizontales y verticales posibles. Estos bloques deben ser del tamaño de las potencias de 2 (1, 2, 4, 8, 16, 32, ...). Estas expresiones crean un mapeo lógico mínimo de las expresiones de variables lógicas mínimas para las expresiones binarias que se mapearán. Aquí están todos los bloques con un campo.

Un bloque puede continuar en la parte inferior, superior, izquierda o derecha del gráfico. Incluso puede extenderse más allá del borde del gráfico para minimizar las variables. Esto se debe a que cada variable lógica corresponde a cada columna vertical y fila horizontal. Una visualización del mapa k puede considerarse cilíndrica. Los campos en los bordes de la izquierda y la derecha son adyacentes, y la parte superior e inferior son adyacentes. Los mapas k para cuatro variables deben representarse como una forma de rosquilla o toro. Las cuatro esquinas del cuadrado dibujado por el mapa k son adyacentes. Se necesitan mapas aún más complejos para 5 variables y más.

Métodos gráficos relacionados

Los métodos de minimización gráfica relacionados incluyen:

Véase también

Notas

  1. ^ Esto no debe confundirse con la negación del resultado de la función encontrada previamente.

Referencias

  1. ^ ab Karnaugh, Maurice (noviembre de 1953) [23 de abril de 1953, 17 de marzo de 1953]. "El método de mapas para la síntesis de circuitos lógicos combinacionales" (PDF) . Transactions of the American Institute of Electrical Engineers, Part I: Communication and Electronics . 72 (5): 593–599. doi :10.1109/TCE.1953.6371932. Documento 53-217. Archivado desde el original (PDF) el 2017-04-16 . Consultado el 2017-04-16 .(NB. También contiene una breve reseña de Samuel H. Caldwell .)
  2. ^ Curtis, Herbert Allen (1962). Un nuevo enfoque para el diseño de circuitos de conmutación . The Bell Laboratories Series (1.ª ed.). Princeton, Nueva Jersey, EE. UU.: D. van Nostrand Company, Inc. ISBN  0-44201794-4. OCLC  1036797958. S2CID  57068910. ISBN 978-0-44201794-1 . arca:/13960/t56d6st0q. (viii+635 páginas) (NB: Este libro fue reimpreso por Chin Jih en 1969.)
  3. ^ ab Veitch, Edward Westbrook (1952-05-03) [1952-05-02]. "Un método gráfico para simplificar funciones de verdad". Actas de la reunión nacional de la ACM de 1952 (Pittsburgh) en - ACM '52 . Nueva York, EE. UU.: Association for Computing Machinery . págs. 127–133. doi :10.1145/609784.609801. S2CID  17284651.
  4. ^ abcdefg Brown, Frank Markham (2012) [2003, 1990]. Razonamiento booleano: la lógica de las ecuaciones booleanas (reedición de la 2.ª ed.). Mineola, Nueva York: Dover Publications, Inc. ISBN  978-0-486-42785-0.[1]
  5. ^ ab Marquand, Allan (1881). "XXXIII: Sobre diagramas lógicos para n términos". Revista filosófica y revista científica de Londres, Edimburgo y Dublín . 5. 12 (75): 266–270. doi :10.1080/14786448108627104 . Consultado el 15 de mayo de 2017 .(NB. Muchas fuentes secundarias citan erróneamente este trabajo como "Un diagrama lógico para n términos" o "Sobre un diagrama lógico para n términos").
  6. ^ ab Gardner, Martin (1958). "6. La máquina de Marquand y otros". Máquinas lógicas y diagramas (1.ª ed.). Nueva York, EE. UU.: McGraw-Hill Book Company, Inc., págs. 104-116. ISBN 1-11784984-8. LCCN  58-6683. ark:/13960/t5cc1sj6b.(x+157 páginas)
  7. ^ ab Klir, George Jiří (mayo de 1972). "Notas de referencia al capítulo 2". Introducción a la metodología de los circuitos de conmutación (1.ª ed.). Binghamton, Nueva York, EE. UU.: Litton Educational Publishing, Inc. / D. van Nostrand Company . pág. 84. ISBN 0-442-24463-0. LCCN  72-181095. C4463-000-3.(xvi+573+1 páginas)
  8. ^ Wakerly, John F. (1994). Diseño digital: principios y prácticas . Nueva Jersey, EE. UU.: Prentice Hall . pp. 48-49, 222. ISBN. 0-13-211459-3.(NB. Las dos secciones de la página tomadas en conjunto dicen que los K-maps están etiquetados con código Gray . La primera sección dice que están etiquetados con un código que cambia solo un bit entre entradas y la segunda sección dice que dicho código se llama código Gray).
  9. ^ Belton, David (abril de 1998). «Mapas de Karnaugh: reglas de simplificación». Archivado desde el original el 18 de abril de 2017. Consultado el 30 de mayo de 2009 .
  10. ^ Dodge, Nathan B. (septiembre de 2015). "Simplificación de circuitos lógicos con mapas de Karnaugh" (PDF) . Universidad de Texas en Dallas , Escuela de Ingeniería y Ciencias de la Computación Erik Jonsson . Archivado (PDF) desde el original el 18 de abril de 2017. Consultado el 18 de abril de 2017 .
  11. ^ Cook, Aaron. "Uso de mapas de Karnaugh para simplificar el código". Quantum Rarity. Archivado desde el original el 18 de abril de 2017. Consultado el 7 de octubre de 2012 .

Lectura adicional

Enlaces externos