fundamentos de lógica digital. sesión07. el mapa de karnaugh

16
1 Fundamentos de lógica digital. Sesión07. El mapa de Karnaugh Antes vimos que el álgebra Booleana es un arma poderosa para el estudio de los circuitos lógicos. Sin embargo, el álgebra Booleana tiene sus limitaciones. Considérese la siguiente expresión: AB’ + B Aparentemente, esta expresión ya no se puede simplificar. Sin embargo, podemos comprobar (construyendo las Tablas de Verdad) que esta expresión cuya simplificación no es tan obvia pese a todo es equivalente a la siguiente expresión: A + B la cual es mucho más sencilla. Se hace evidente que hay casos en los cuales el álgebra Booleana no es suficiente. Tenemos pues que recurrir a otras técnicas que la complementen. Los diagramas de subconjuntos nos proporcionan una manera sencilla de poder visualizar las relaciones que puede haber entre varias variables. Quizá los diagramas más sencillos de todos son los que representan al "1" lógico, el cual podemos representar como un cuadro completamente lleno, y al "0" lógico, el cual podemos representar como un cuadro completamente vacío: En este tipo de diagramas, no sólo podemos representar el "uno" y el "cero". También podemos representar variables. El diagrama más sencillo de todos es el que utilizamos para representar una sola variable, el cual está dividido en dos partes: una parte "llena" que es la parte en la cual la variable A toma el valor de "1" (a la izquierda, de color cian), y la parte "vacía" que es la parte en la cual la variable A toma el valor de "0" (a la derecha, sin color):

Upload: others

Post on 24-Jun-2022

23 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fundamentos de lógica digital. Sesión07. El mapa de Karnaugh

1

Fundamentos de lógica digital. Sesión07. El mapa de Karnaugh

Antes vimos que el álgebra Booleana es un arma poderosa para el estudio de los circuitos

lógicos.

Sin embargo, el álgebra Booleana tiene sus limitaciones.

Considérese la siguiente expresión:

AB’ + B

Aparentemente, esta expresión ya no se puede simplificar. Sin embargo, podemos

comprobar (construyendo las Tablas de Verdad) que esta expresión cuya simplificación no

es tan obvia pese a todo es equivalente a la siguiente expresión:

A + B

la cual es mucho más sencilla. Se hace evidente que hay casos en los cuales el álgebra

Booleana no es suficiente. Tenemos pues que recurrir a otras técnicas que la

complementen.

Los diagramas de subconjuntos nos proporcionan una manera sencilla de poder visualizar

las relaciones que puede haber entre varias variables. Quizá los diagramas más sencillos de

todos son los que representan al "1" lógico, el cual podemos representar como un cuadro

completamente lleno, y al "0" lógico, el cual podemos representar como un cuadro

completamente vacío:

En este tipo de diagramas, no sólo podemos representar el "uno" y el "cero". También

podemos representar variables. El diagrama más sencillo de todos es el que utilizamos para

representar una sola variable, el cual está dividido en dos partes: una parte "llena" que es la

parte en la cual la variable A toma el valor de "1" (a la izquierda, de color cian), y la parte

"vacía" que es la parte en la cual la variable A toma el valor de "0" (a la derecha, sin color):

Page 2: Fundamentos de lógica digital. Sesión07. El mapa de Karnaugh

2

Pero con estos diagramas no sólo podemos representar a la variable. También podemos

representar el inverso lógico de la variable, el cual será como se muestra a continuación:

Del mismo modo, podemos representar una segunda variable B y el complemento de la

misma de la siguiente manera:

Superimponiendo ambas variables en un mismo diagrama, podemos contestar algunas

preguntas interesantes como la siguiente: ¿en qué parte del diagrama mixto se encontrará la

región en la cual ambas variables A y B se traslapan? La respuesta se da a continuación:

Page 3: Fundamentos de lógica digital. Sesión07. El mapa de Karnaugh

3

A continuación, tenemos la región en donde la variable A se traslapa con el complemento

de la variable B, así como la región en la cual los complementos de ambas variables se

traslapan:

Hagámonos ahora otra pregunta: ¿cuál sería la región en la cual las variables A y B se unen

(en lugar de intersectarse), la porción del diagrama en donde podemos estar ya sea en A ó

en B, o sea la región que representaría la suma Booleana A+B de dichas variables? La

respuesta se da a continuación:

Y el área que representa la suma Booleana de los complementos de ambas variables es la

siguiente:

Por su parte, la expresión Boleana AB’+A’B que representa la salida de un bloque OR-

EXCLUSIVO es la siguiente:

Page 4: Fundamentos de lógica digital. Sesión07. El mapa de Karnaugh

4

Si queremos superimponer en el mismo mapa una tercera variable C, lo podemos hacer de

la siguiente manera:

Y si queremos superimponer en el mismo mapa una cuarta variable D, lo podemos hacer de

la siguiente manera:

El mismo procedimiento constructivo se puede extender hacia una quinta variable e

inclusive hacia una sexta variable, aunque la ventaja de visualización se va perdiendo

rápidamente encima de las cuatro variables.

Para representar en el mapa una expresión elaborada como (A+B)(C+D):

Page 5: Fundamentos de lógica digital. Sesión07. El mapa de Karnaugh

5

primero localizamos en el mapa la región que representa la suma de las regiones A y B, o lo

que es lo mismo, la suma Booleana de las variables A y B:

tras lo cual localizamos en el mapa la región que representa la suma de las regiones C y D,

o lo que es lo mismo, la suma Booleana de las variables C y D:

tras lo cual obtenemos un mapa que represente las regiones que ambos mapas de A+B y

C+D tengan en común, o sea la región común en la que ambos se intersectan, lo cual

equivale a llevar a cabo la operación lógica AND de A+B y de C+D.

Los diagramas de subconjuntos permiten verificar de manera casi inmediata todos los

teoremas Booleanos que fueron demostrados en el capítulo anterior. Por ejemplo, el

teorema que dice:

A + A’ = 1

Page 6: Fundamentos de lógica digital. Sesión07. El mapa de Karnaugh

6

es verificado de la siguiente manera:

Con cambios mínimos, los diagramas de subconjuntos nos sirven de base para

introducirnos a una de las herramientas de simplificación de circuitos lógicos más

populares que hay. Estudiaremos a continuación el siguiente mapa para dos variables

boleanas A y B conocido como el mapa de Karnaugh, inventado en 1952 por Edward W.

Veitch y refinado posteriormente por Maurice Karnaugh, un ingeniero de

telecomunicaciones trabajando para Bell Labs:

El mapa de Karnaugh o mapa-k es un diagrama utilizado para la simplificación de

funciones algebraicas Booleanas, permitiendo de manera gráfica reconocer patrones y así

reduce la necesidad de hacer cálculos extensos para la simplificación de expresiones

booleanas.

El mapa de karnaugh proporciona la misma información en un formato distinto.

Ventajas del mapa de karnaugh

El mapa-k nos permite convertir la tabla de verdad de una ecuación booleana en una

forma SOP (Suma de productos) o POS (Productos de suma) minimizada.

Reglas básicas y sencillas para la simplificación.

La facilidad del método permite que sea más rápido y más eficiente que otras

técnicas de simplificación en el Álgebra de Boole.

Para la construcción de nuestro primer mapa de Karnaugh, utilizaremos el concepto del

minterm. Supóngase que deseamos localizar el minterm AB’ en el mapa de Karnaugh.

Estudiando el mapa detenidamente, vemos que podemos representar dicho minterm en el

mapa como se muestra a continuación:

se trata de localizar la “coordenada” donde coinciden A y B’

Page 7: Fundamentos de lógica digital. Sesión07. El mapa de Karnaugh

7

De la misma manera, si deseamos representar los minterms AB y A’·B’ en el mapa de Karnaugh,

podemos hacerlo de la siguiente manera:

Aquí, AB sería la esquina superior izquierda y A’B’ la esquina inferior derecha.

Ahora bien, también podemos representar variables sencillas en el mapa de Karnaugh.

Supóngase que deseamos representar B’ en el mapa de Karnaugh. Esto lo logramos de la

siguiente manera:

En este caso todo el renglón inferior representa a B’, por eso colocamos dos unos.

Estudiamos ahora un hecho de importancia trascendental. Este último mapa de Karnaugh

nos indica que B’ es igual a la suma de los minterms AB’ y A’·B’, lo cual podemos

comprobar mediante el álgebra Boleana como sigue:

AB’ + A’·B’ = (A + A’)B’ = (1)B’ = B’

Tenemos aquí nuestra primera indicación sobre cómo podemos usar el mapa de Karnaugh

para simplificar circuitos lógicos.

Supóngase que la salida de un circuito está dada por la siguiente expresión:

Salida = A’B + A’·B’

Podemos describir la salida del circuito en un mapa de Karnaugh de la manera siguiente:

Page 8: Fundamentos de lógica digital. Sesión07. El mapa de Karnaugh

8

Vemos de inmediato en el mapa cómo los minterms A’B y A’·B’ forman dos grupos

adyacentes que están cubiertos completamente en el mapa por la variable A’. Concluimos,

pues, que la salida simplificada del circuito está dada por la siguiente expresión:

Salida = A’

La regla general para simplificar un circuito usando el mapa de Karnaugh es examinar el

mapa que le corresponde y determinar los agrupamientos más grandes de grupos

adyacentes que se pueden describir con el menor número de variables booleanas.

Usando el mapa de Karnaugh, tratemos ahora de simplificar la expresión que encontramos

al comienzo de este capítulo:

AB’ + B

Su mapa de Karnaugh con una simplificación posible tendrá el siguiente aspecto (el

"minterm" correspondiente a la variable B está enmarcado dentro de una línea verde

cubriendo todo el renglón representativo de B, mientras que el "minterm" AB’ es puesto

antes de los agrupamientos simplificadores en la esquina inferior izquierda):

Como se puede ver, es posible hacer dos agrupamientos de grupos adyacentes, los cuales

están descritos por la expresión:

Page 9: Fundamentos de lógica digital. Sesión07. El mapa de Karnaugh

9

A + B

que es la expresión simplificada que buscábamos.

Lo cual nos dice en resumen que:

Al agrupar un par de unos adyacentes en un mapa K se elimina la variable que aparece

tanto en forma no complementada como en forma complementada

Asimismo, el mapa de Karnaugh nos indica cuáles son las expresiones que no se pueden

simplificar. Por ejemplo, la siguiente expresión:

AB’ + A’B

está descrita por el siguiente mapa:

Esta expresión, como se puede ver en su mapa de Karnaugh, ya no se puede simplificar.

Existe otro tipo de representación para el mapa de Karnaugh, la cual es completamente

equivalente a la que ya hemos visto. Bajo esta representación, a continuación, tenemos un

mapa de Karnaugh para dos variables A y B:

Aquí la entrada correspondiente a la combinación AB=01 estará situada en el segundo

renglón y en la primera columna. Esta representación es completamente equivalente a la

representación vista al principio. A continuación, se muestran los dos tipos de

representación, lado a lado, para dos variables A y B:

Page 10: Fundamentos de lógica digital. Sesión07. El mapa de Karnaugh

10

REGLAS DEL MAPA DE KARNAUGH

1. Las agrupaciones o el término a considerar únicamente serán del número “1”.

2. Las agrupaciones únicamente se deben hacer en horizontal y vertical.

3. Las agrupaciones a considerar deben contener 2n elementos. Es decir cada

agrupación que contiene cada grupo tendrá 1, 2, 4, 8,…, 2n cantidad de número de

uno o unos.

4. Para una mejor simplificación se debe considerar el grupo más grande posible.

Page 11: Fundamentos de lógica digital. Sesión07. El mapa de Karnaugh

11

5. Se debe considerar todo número “1”.

6. Es posible solapar grupos de “1”.

7. Las formaciones de grupos también se pueden producir con las celdas extremas de

la tabla.

8. Debemos considerar el menor número de agrupaciones o grupos posibles

obedeciendo las reglas anteriores.

Para tres variables de entrada A, B y C, bajo la representación alterna un mapa de

Karnaugh tendrá el siguiente aspecto:

Page 12: Fundamentos de lógica digital. Sesión07. El mapa de Karnaugh

12

Aquí el casillero correspondiente a la entrada ABC= 011 estará situado en el segundo

renglón y en la segunda columna. Y el casillero correspondiente a la entrada ABC=101

estará situado en el segundo renglón y en la cuarta columna.

Y para cuatro variables A, B, C y D, el mapa de Karnaugh para este tipo de representación

será el siguiente:

Las casillas del mapa K se etiquetan de manera que las casillas adyacentes en forma

horizontal difieran sólo por una variable.

Observe que cada casilla en la fila superior se considera como adyacente a una casilla

correspondiente en la fila inferior. Por ejemplo, la casilla A’BC'D' en la fila superior es

adyacente a la casilla A'BCD' en la fila inferior ya que solo difieren por la variable A. Lo

mismo ocurre con las casillas de las columnas derecha e izquierda.

A continuación, se llevará a cabo la simplificación de un circuito lógico de tres variables a,

b y c, mediante un mapa de Karnaugh de este tipo trazado de la siguiente manera:

Dentro de este mapa de Karnaugh, se destacarán las combinaciones de valores tanto de las

entradas como de la salida:

Page 13: Fundamentos de lógica digital. Sesión07. El mapa de Karnaugh

13

El propósito del mapa de Karnaugh es aprovechar al máximo la capacidad humana de poder

"agrupar" visualmente patrones similares para poder descubrir así los agrupamientos de

"unos" (o alternamente, de "ceros") que pueden resultar en una simplificación. En este caso,

podemos llevar a cabo los siguientes agrupamientos:

¿Es posible agruparlos de otra manera válida?

El siguiente esquema nos muestra agrupados todos los pasos agrupados para llevar a cabo

la simplificación de un circuito lógico con dos variables de entrada con este tipo de mapa

de Karnaugh:

Empezamos con el circuito lógico puesto en la esquina inferior izquierda, obteniendo del

mismo la expresión de su salida lógica Out puesta en la esquina superior izquierda:

Page 14: Fundamentos de lógica digital. Sesión07. El mapa de Karnaugh

14

Out = A’B + AB’ + AB

Esta expresión está justo en la forma que requerimos (suma-de-productos) para construir el

mapa de Karnaugh usando minterms. El término A’B nos produce un "1" cuando A=0 y

B=1, y esta es nuestra primera entrada en el mapa de Karnaugh. El término AB’ nos

produce un "1" cuando A=1 y B=0, y esta es nuestra segunda entrada en el mapa de

Karnaugh. Y por último, el término AB nos produce un "1" cuando A=1 y B=1, y esta es

nuestra tercera entrada en el mapa de Karnaugh.

El siguiente paso consiste en llevar a cabo los agrupamientos que nos pueden dar una

simplificación del circuito. Estos son mostrados en el mapa de Karnaugh puesto en la

esquina superior derecha. El primer agrupamiento como "minterm" más sencillo es la

variable A (agrupando los valores de A=1) y el segundo agrupamiento como "minterm"

más sencillo es la variable B (agrupando los valores de B=1). Los "minterms" simplificados

en el mapa de Karnaugh nos dicen que podemos reemplazar la expresión original por la

siguiente expresión (en suma-de-produtos) más simplificada:

Out = A + B

El circuito lógico simplificado se muestra en la esquina inferior derecha del diagrama, el

cual requiere un solo componente lógico, un OR, a diferencia del circuito original que

requería de cuatro componentes, tres AND y un OR.

Considérese ahora un circuito lógico cuya salida Out está dada por la siguiente expresión:

Out = A’·B’·C’ + AB’·C’ + A’BC’ + ABC’

Este circuito lógico con tres variables de entrada tiene una salida dada como suma de

productos, lo cual nos permite localizar los "1" de los minterms que van dentro del mapa de

Karnaugh y lo cual nos permite llevar a cabo la simplificación "enrollando" el mapa

alrededor de un cilindro como se muestra:

Page 15: Fundamentos de lógica digital. Sesión07. El mapa de Karnaugh

15

No resulta difícil ver que la versión simplificada es simplemente:

Out = C’

A continuación, tenemos otro mapa de Karnaugh, ahora para un circuito con cuatro

variables de entrada A, B, C y D, tanto antes como después de haber encontrado un

conjunto de posibles simplificaciones:

Existen muchos casos en los cuales no todas las combinaciones lógicas de "ceros" y "unos"

a la entrada de un circuito son necesarias; un ejemplo de ello es el de un decodificador que

toma un número binario de cuatro bits a su entrada y lo convierte en una combinación de

siete salidas para encender selectivamente los segmentos de un indicador luminoso

numérico hecho a base de diodos emisores de luz LED; en este caso no se utilizará ninguna

de las combinaciones entre "1010" y "1111" puesto que no representan dígito alguno en el

sistema numérico decimal. Cuando tenemos algunas condiciones dentro de un circuito

lógico en las cuales la salida puede ser ya sea un "0" ó un "1" sin consecuencia alguna para

el diseño final (conocidas en la literatura de habla inglesa como condiciones “no importa”

don't care), podemos representar dichas condiciones simplemente con una "X" que se

sobreentiende que puede tener un valor de "0" ó de "1". A continuación tenemos otro mapa

de Karnaugh para un circuito con cuatro variables de entrada A, B, C, D, y cuatro

condiciones "X", tanto antes como después de haber encontrado para dicho circuito un

conjunto de posibles simplificaciones:

Page 16: Fundamentos de lógica digital. Sesión07. El mapa de Karnaugh

16

Como puede verse en una de las simplificaciones, la simplificación encerrada bajo una

línea de color rojo, estamos aprovechando la ventaja de que "X" puede representar ya sea

un "0" ó un "1" para tomarlo como un "1" y juntarlo con los demás "unos" del

agrupamiento. Esto mismo se ha llevado a cabo en la simplificación encerrada bajo una

línea de color azul en donde también hemos agrupado "unos".

De aquí se desprende lo siguiente:

Agrupamiento de grupos de cuatro (cuádruples)

Al agrupar un cuádruple de unos adyacentes se eliminan las dos variables que aparecen

tanto en forma complementada como en forma no complementada.

Agrupamiento de octetos (grupos de ocho)

Al agrupar un octeto de unos adyacentes se eliminan las tres variables que aparecen en su

forma complementada como en su forma no complementada.

Proceso completo de simplificación.

Cuando una variable aparece tanto en su forma complementada como no complementada

dentro de un grupo, esa variable se elimina de la expresión. Las variables que son iguales

para todas las casillas del grupo deben aparecer en la expresión final