25
UNIVERSIDAD TECNICA DE AMBATO FACULTAD DE CIENCIAS HUMANAS Y DE LA EDUCACION CARRERA DE DOCENCIA EN INFORMATICA Elemento No 03 “MAPAS DE KARNAUGH” ELECTRONICA DIGITAL NOMBRE: IVAN FABRICIO VILLACIS YANEZ DOCENTE: ING. WILMA GAVILANES AÑO LECTIVO 2012-2013

Elemento 03

Embed Size (px)

DESCRIPTION

circuitos digitales

Citation preview

Page 1: Elemento 03

UNIVERSIDAD TECNICA DE AMBATO

FACULTAD DE CIENCIAS HUMANAS

Y DE LA EDUCACION

CARRERA DE DOCENCIA EN INFORMATICA

Elemento No 03

“MAPAS DE KARNAUGH”

ELECTRONICA DIGITAL

NOMBRE:

IVAN FABRICIO VILLACIS YANEZ

DOCENTE:

ING. WILMA GAVILANES

AÑO LECTIVO

2012-2013

Page 2: Elemento 03

DIAGRAMAS O MAPAS DE KARNAUGH

Los diagramas de Karnaugh sirven principalmente para minimizar expresiones del tipo suma de productos o productos de sumas, obteniendo otra suma de productos o producto de sumas.La expresión obtenida será mínima, por ejemplo para suma de productos, si no existe otra con menor número de sumandos ni otra con igual número de sumandos con menor cantidad de variables.

Hasta ahora, para obtener la forma canónica de una función, se debía armar la tabla de verdad de la misma y obtener la función expresada por suma de productos o productos de sumas. Mediante Karnaugh representamos la función y se obtiene directamente la forma canónica, considerando los unos o ceros obtenidos del diagrama.

Una suma de productos se realiza circuitalmente con dos niveles de compuertas donde cada sumando representa una compuerta, y cada letra del producto es una entrada de compuerta. El costo que representa adicionar una compuerta es mucho mayor que colocar una compuerta con mayor número de entradas. Luego dados dos circuitos equivalentes, será más económico aquel que contenga menos compuertas y si tienen igual número de compuertas, aquel que tenga un menor número de entradas.

La propiedad más importante del diagrama de Karnaugh es la adyacencia de las celdas ya que si en dos celdas adyacentes existen unos (que representan minitérminos de la función) se puede realizar la operación de sacar factor común entre dichas celdas y eliminar así una variable. Dos celdas son adyacentes si no difieren en más de un bit.

Por ejemplo en un diagrama de Karnaugh de cuatro variables, dos minitérminos adyacentes difieren entre sí en una sola variable. Cuatro minitérminos adyacentes difieren entre sí en dos variables, teniendo en común las dos restantes. Ocho minitérminos adyacentes difieren entre sí en tres variables, teniendo una sola variable en común.

Así como cada sumando de una función se representa por un número de minitérminos que es potencia de dos (1,2,4,8,16...) de manera inversa cada lazo posible de minitérminos adyacentes sólo puede abarcar 1,2,4,8,... minitérminos.

Se llama subcubo de orden n al lazo de 2n minitérminos. Un lazo de un minitérmino es un lazo 20 y conforma un cubo de orden cero. Un lazo 21 es el que conforma un cubo de orden uno. Si todas las celdas de un diagrama de Karnaugh están cubiertas por unos, entonces las función es verdadera y resulta F=1. De manera inversa, si no existe ningún minitérmino entonces la función es falsa y resulta F=0.

Implicantes primos: Son los mayores subcubos (lazos) que se pueden encontrar en un diagrama tales que dos cualquiera de ellos, no puede ser enlazado a su vez por otro subcubo de orden mayor que los contenga, proporcionando una simplificación adicional.

Los implicantes primos pueden compartir minitérminos entre sí.

Cuando un implicante primo tiene por los menos un minitérmino libre, es decir, no compartido con ningún otro subcubo, se denomina término esencial y debe aparecer necesariamente en el resultado final.

Cuando un implicante primo tiene todos sus minitérminos compartidos con otros implicantes primos se dice que es un implicante primo no esencial y no debe aparecer en el resultado final.

Page 3: Elemento 03

Reglas para simplificar una función mediante el diagrama de Karnaugh

a) Representar la función en el diagrama b) Determinar los implicantes primos para lo cual se debe: - Enlazar cada uno de los minitérminos aislados no adyacentes a ningún otro minitérmino (subcubo de orden cero) - Enlazar los pares de unos adyacentes entre sí (subcubos de orden uno) que no pueden formar parte de un subcubo de mayor orden. - Continuar la búsqueda de cubos de mayor orden hasta cubrir todos los unos de la función. - Determinar los implicantes primos esenciales. - Los unos de la función que no han sido enlazados por dichos términos esenciales, deben cubrirse con el menor número de implicantes no esenciales

Redundancias:

En un circuito de n entradas son posibles 2n combinaciones de variables de entrada. En ciertas aplicaciones algunas de dichas combinaciones puede no existir o no tener sentido. En aplicaciones del tipo decimal es común tomar sólo 10 de las 16 combinaciones posibles con cuatro variables de entrada. En ese caso se plantea que las seis combinaciones restantes son redundantes, pudiendo ser utilizadas para la simplificación del circuito, ya que se asume que nunca se presentará dicha combinación en las entradas. En el diagrama de Karnaugh las redundancias se representan con un letra “ x “.

Veamos esto en forma práctica:

Es un método para encontrar la forma más simplificada de representar una función lógica.

Esto es... Encontrar la función que relaciona todas las variables disponibles de tal modo que el resultado sea la mínima expresión.

Para esto vamos a aclarar tres conceptos que son fundamentales

a)- Minitérmino Es cada una de las combinaciones posibles entre todas las variables disponibles, por ejemplo con 2 variables obtienes 4 minitérminos; con 3 obtienes 8; con 4, 16 etc., como te darás cuenta se puede encontrar la cantidad de minitérminos haciendo 2n donde n es el número de variables disponibles.

b)- Numeración de un minitérmino Cada minitérmino es numerado en decimal de acuerdo a la combinación de las variables y su equivalente en binario así...

El Mapa de Karnaugh representa la misma tabla de verdad a través de una matriz, en la cual en la primer fila y la primer columna se indican las posibles combinaciones de las variables. Aquí tienes tres mapas para 2, 3 y 4 variables...

Page 4: Elemento 03

Analicemos el mapa para cuatro variables, las dos primeras columnas (columnas adyacentes) difieren sólo en la variable d, y c permanece sin cambio, en la segunda y tercer columna (columnas adyacentes) cambia c, y d permanece sin cambio, ocurre lo mismo en las filas. En general se dice que...

Dos columnas o filas adyacentes sólo pueden diferir en el estado de una de sus variables

Observa también que según lo dicho anteriormente la primer columna con la última serían adyacentes, al igual que la primer fila y la última, ya que sólo difieren en una de sus variables

c)- Valor lógico de un minitérmino (esos que estaban escritos en rojo), bien, estos deben tener un valor lógico, y es el que resulta de la operación que se realiza entre las variables. lógicamente 0 ó 1

Lo que haremos ahora será colocar el valor de cada minitérmino según la tabla de verdad que estamos buscando, por ejemplo:

El siguiente paso, es agrupar los unos adyacentes (horizontal o verticalmente) en grupos de potencias de 2, es decir, en grupos de 2, de 4, de 8 etc. y nos quedaría así...

Te preguntarás que pasó con la fila de abajo... bueno, recuerda que la primer columna y la última son adyacentes, por lo tanto sus minitérminos también lo son.

De ahora en más a cada grupo de unos se le asigna la unión (producto lógico) de las variables que se mantienen constantes (ya sea uno o cero) ignorando aquellas que cambian, tal como se puede ver en esta imagen...

Page 5: Elemento 03

Para terminar, simplemente se realiza la suma lógica entre los términos obtenidos dando como resultado la función que estamos buscando, es decir...

f = (~a . ~b) + (a . ~c)

Puedes plantear tu problema como una función de variables, en nuestro ejemplo quedaría de esta forma...

f(a, b, c) = S(0, 1, 4, 6)

F es la función buscada (a, b, c) son las variables utilizadas (0, 1, 4, 6) son los minitérminos que dan como resultado 1 o un nivel alto. S La sumatoria de las funciones que producen el estado alto en dichos minitérminos.

Sólo resta convertir esa función en su circuito eléctrico correspondiente. Veamos, si la función es...

(NOT a AND NOT b) OR (a AND NOT c)

El esquema eléctrico que le corresponde es el que viene a continuación...

El resultado de todo este lío, es un circuito con la menor cantidad de compuertas posibles, lo cual lo hace más económico, por otro lado cumple totalmente con la tabla de verdad planteada al inicio del problema, y a demás recuerda que al tener menor cantidad de compuertas la transmisión de datos se hace más rápida.

Puedes bajarte de la página de la cátedra un pequeño programa de simulación de mapas de karnaugh para practicar distintas simplificaciones.

f = (~a . ~b) + (a . ~c) o sea...

Page 10: Elemento 03

MAPA DE KARNAUGH

DEFINICION

Un mapa de Karnaugh es un diagrama utilizado para la simplificación de funciones

algebraicasBooleanas. El mapa de Karnaugh fue inventado en 1950 por Maurice

Karnaugh, un físico y matemático de loslaboratorios 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.

El mapa de Karnaugh consiste en una representación bidimensional de la tabla de

verdad de la función a simplificar. Puesto que la tabla de verdad de una función de N

variables posee 2N filas, el mapa K correspondiente debe poseer también 2N cuadrados.

Las variables de la expresión son ordenadas en función de su peso y siguiendo el código

Gray, de manera que sólo una de las variables varía entre celdas adyacentes. La

transferencia de los términos de la tabla de verdad al mapa de Karnaugh se realiza de

forma directa, albergando un 0 ó un 1, dependiendo del valor que toma la función en

cada fila. Las tablas de Karnaugh se pueden utilizar para funciones de hasta 6 variables.

Los Mapas de Karnaugh son una herramienta muy utilizada para la simplificación

de circuitos lógicos.

Cuando se tiene una función lógica con su tabla de verdad y se desea implementar esa

función de la manera más económica posible se utiliza este método.

Ejemplo: Se tiene la siguientetabla de verdad para tres variables.

Se desarrolla la función lógica basada en ella. (primera forma canónica). Ver que en la

fórmula se incluyen solamente las variables (A, B, C) cuando F cuando es igual a "1".

Si A en la tabla de verdad es "0" se pone A, si B = "1" se pone B, Si C = "0" se pone C,

etc.

Page 11: Elemento 03

F = A B C + A B C + A BC + A B C + A B C + A B C

Una vez obtenida la función lógica, se implementa el mapa de Karnaugh.

Este mapa tiene 8 casillas que corresponden a 2n, donde n = 3 (número de variables (A,

B, C))

La primera fila corresponde a A = 0

La segunda fila corresponde a A = 1

La primera columna corresponde a BC = 00 (B=0 y C=0)

La segunda columna corresponde a BC = 01 (B=0 y C=1)

La tercera columna corresponde a BC = 11 (B=1 y C=1)

La cuarta columna corresponde a BC = 10 (B=1 y C=0)

En el mapa de Karnaugh se han puesto "1" en las casillas que corresponden a los valores

de F = "1" en la tabla de verdad. Tomar en cuenta la numeración de las filas de la tabla

de verdad y la numeración de las casillas en el mapa de Karnaugh. Para proceder con la

simplificación, se crean grupos de "1"s que tengan 1, 2, 4, 8, 16, etc. (sólo potencias de

2). Los "1" deben estar adyacentes (no en diagonal) y mientras más "1"s tenga el grupo,

Page 12: Elemento 03

mejor. La función mejor simplificada es aquella que tiene el menor número de grupos

con el mayor número de "1"s en cada grupo.

Se ve del gráfico que hay dos grupos cada uno de cuatro "1"s, (se permite compartir

casillas entre los grupos). La nueva expresión de la función boolena simplificada se

deduce del mapa de Karnaugh.

- Para el primer grupo (rojo): la simplificación da B (los "1"s de la tercera y cuarta

columna) corresponden a B sin negar)

- Para el segundo grupo (azul): la simplificación da A (los "1"s están en la fila inferior

que corresponde a A sin negar)

Entonces el resultado es F = B + A ó F = A + B

EJEMPLO:

Una tabla de verdad como la de la derecha da la siguiente

función booleana:

F = ABC + AB C + A B C + A B C

Se ve claramente que la función es un reflejo del contenido de la tabla de verdad cuando

F = "1"

Con esta ecuación se crea el mapa de Karnaugh y se escogen los grupos. Se lograron

hacer 3 grupos de dos "1"s cada uno.

Se puede ver que no es posible hacer grupos de 3, porque 3 no es potencia de 2. Se

observa que hay una casilla que es compartida por los tres grupos.

La función simplificada es:

F = AB + A C + B C

Grupo en azul: AB, grupo marrón:AC, grupo verde:BC

Ejemplo

Page 13: Elemento 03

Dada la siguiente función algebraica Booleana representada como el sumatorio de

sus minitérminos, y con las variables Booleanas , , , , la función se puede

representar con dos notaciones distintas:

TABLA DE VERDAD

Utilizando los minitérminos definidos, se elabora la tabla de verdad:

#

0 0 0 0 0 0 1 0 0 0 1 0 2 0 0 1 0 0 3 0 0 1 1 0 4 0 1 0 0 0 5 0 1 0 1 0 6 0 1 1 0 1 7 0 1 1 1 0 8 1 0 0 0 1 9 1 0 0 1 1 10 1 0 1 0 1 11 1 0 1 1 1 12 1 1 0 0 1 13 1 1 0 1 1 14 1 1 1 0 1 15 1 1 1 1 0

Mapa de Karnaugh

Page 14: Elemento 03

Las variables de entrada pueden combinarse de 16 formas diferentes, por lo que el mapa

de Karnaugh tendrá 16 celdas, distribuidas en una cuadricula de 4 × 4.

La combinación de dígitos binarios en el mapa representa el resultado de la función por

cada combinación de entradas. Por ejemplo, la celda en la esquina superior izquierda del

mapa es 0, porque el resultado de la función es ƒ = 0 cuando A = 0, B = 0, C = 0, D = 0.

De igual manera, la esquina inferior derecha es 1 porque el resultado de la función

es ƒ = 1 cuando A = 1, B = 0, C = 1, D = 0.

Una vez construido el mapa de Karnaugh, la siguiente tarea es la de seleccionar

conjuntos de términos de manera que se obtenga el menor número de términos

posible. Estos términos se seleccionan formando grupos de rectángulos cuyas areas

sean potencia de 2 (ej. 1, 2, 4, 8, ...) tratando de agrupar el mayor número de términos

posible.

Qué términos seleccionar va dependiendo de cómo se quiera realizar la simplificación,

puesto que esta puede realizarse por minitérminos o por maxitérminos.

El mapa de Karnaugh es un método gráfico que se utiliza para simplificar una ecuación

lógica para convertir una tabla de verdad a su circuito lógico correspondiente en un

proceso simple y ordenado. Aunque un mapa de Karnaugh (que de aquí en adelante se

abreviará como mapa K) se puede utilizar para resolver problemas con cualquier

numero de variables de entrada, su utilidad practica se limita a seis variables. El

siguiente análisis se limitara a problemas de hasta cuatro entradas , ya que los

problemas con cinco y seis entradas son demasiado complicados y se resuelven mejor

con un programa de computadora.

Formato del mapa de Kamaugh El mapa K, al igual que una tabla de verdad, es un

medio para demostrar la relaci6n entre las entradas l6gicas y la salida que se busca. La

figura +-11 da tres ejemplos de mapas K para dos, tres y cuatro variables, junto con las

tablas de verdad correspondientes. Estos ejemplos ilustran varios puntos importantes:

1. La tabla de verdad da el valor de la salida X para cada combinaci6n de valores de

entrada. El mapa K proporciona la misma informaci6n en un formato diferente. Cada

caso en la tabla de verdad corresponde a un cuadrado en el mapa. Por ejemplo, en la

figura 4-11 (a),

Page 15: Elemento 03

La condición A = 0, B = 0 en la tabla de verdad corresponde al cuadrado A' B' en el

mapa K. Ya que la tabla de verdad muestra X = 1 para este caso, se coloca un 1 en el

cuadrado A'B' en el mapa K. En forma similar, la condición A = 1, B = 1 en la tabla de

verdad corresponde al cuadrado AB del mapa K, ya que X = 1 para este caso, se coloca

un 1 en el cuadrado AS. Los demás cuadrados se llenan con ceros. Esta misma idea se

utiliza en los mapas de tres y cuatro variables que se muestran en la figura.

2. Los cuadrados del mapa K se marcan de modo que los cuadrados horizontalmente

adyacentes so1o difieran en una variable. Por ejemplo, el cuadrado superior de la

izquierda del mapa de cuatro variables es A'B'C'D' en tanto que el cuadrado que se

encuentra a la derecha es A'B'C'D (solo la variable D es diferente). De la misma manera,

los cuadrados verticalmente adyacentes difieren so1o en una variable. Por ejemplo, el

cuadrado superior izquierdo es A'B'C'D' en tanto que el que se encuentra a la derecha

es A'BC'D' (solo la variable B es diferente).

Note que cada cuadrado del renglon superior se considera adyacente al correspondiente

cuadrado del renglon inferior .Por ejemplo, el cuadrado A'B'CD del renglon superior es

Page 16: Elemento 03

adyacente al cuadrado AB'CD del rengl6n inferior porque so1o difieren en la

variable A. Haga de cuenta que la parte superior del mapa se dobla hasta tocar la parte

inferior. Asimismo, los cuadrados del extremo izquierdo de la columna son adyacentes

a los del extremo derecho de la columna.

3. A fin de que los cuadrados que son adyacentes tanto vertical como horizontalmente

difieran en una sola variable, el marcado de arriba hacia abajo debe hacerse en el orden

indicado, -A'B', A' B, AB, AB'. Lo anterior también es válido para el marcado de

izquierda a derecha:

4. Una vez que el mapa K se ha llenado con ceros y unos, la expresi6n de suma de

productos para la salida X se puede obtener operando con OR aquellos que contienen un

1. En el mapa con tres variables de la figura 4-11(b), los cuadrados A'B'C', A'BC', A

BC' y ABC contienen un 1, de modo que X = A'B'C' + A'B'C + A'BC' + ABC'.

Agrupamiento La expresión de salida X se puede simplificar adecuadamente

combinando los cuadros en el mapa K que contengan 1. El proceso para combinar estos

unos se denomina agrupamiento.

Agrupamiento de grupos de dos (pares) La figura 4-12(a) es el mapa K de una tabla

de verdad con tres variables. Este mapa contiene un par de unos que son verticalmente

adyacentes entre si; el primero representa A'BC' y, el segundo ABC'. Note que en estos

dos términos sólo la variable A aparece en forma normal y complementada (B y C'

permanecen sin cambio). Estos dos términos se pueden agrupar (combinar) para dar un

resultante que elimine la variable A, ya que ésta aparece en forma normal y

complementada. Esto se demuestra fácilmente como sigue:

Este mismo principio es válido para cualquier par de unos vertical u horizontalmente

adyacentes. La figura 4-12(b) muestra un ejemplo de dos unos horizontalmente

adyacentes. Estos se pueden agrupar y luego eliminar la variable C, ya que aparecen en

forma no complementada y complementada para dar una resultante de X = A' B.

Otro ejemplo se da en la figura 4-12{c). En un mapa K los cuadrados de los renglones

superior e inferior se consideran adyacentes. Asi, los dos unos en este mapa se pueden

repetir para dar una resultante de A'B'C' + AB'C' + B'C'.

Page 17: Elemento 03

La figura 4-12(d) muestra un mapa K que tiene dos pares de unos que se pueden

agrupar. Los dos unos en el renglón superior son horizontalmente adyacentes. Los dos

unos en el renglón inferior son, asimismo, adyacentes puesto que en un mapa K los

cuadrados de las columnas de los extremos izquierdo y derecho se consideran

adyacentes. Cuando se agrupa el par superior de unos, la variable D se elimina (ya que

aparece como D y D') para dar el término A'B'C. El agrupamiento del par inferior

elimina la variable C para dar el término AB'C'. Estos dos términos se operan con OR a

fin de obtener el resultado final para X.

Para resumir lo anterior:

El agrupamiento de un par de unos adyacentes en un mapa K elimina la variable que

aparece en forma complementada y no complementada.

Agrupamiento de grupos de cuatro (cuádruples) Un mapa K puede contener Un

grupo de cuatro unos que sean adyacentes entre sí. Este grupo se

Page 18: Elemento 03

denomina cuádruple. La figura 4-13 muestra varios ejemplos de cuádruples. En la parte

(a) los cuatro unos son verticalmente adyacentes y en la parte (b) son horizontalmente

adyacentes. El mapa K de la figura 4 - 13(c) contiene cuatro unos en un cuadrado y se

consideran adyacentes entre sí. Los cuatro unos en la figura 4-13(d) también son

adyacentes igual que los de la figura 4 - 13(e) ya que, como mencionamos

anteriormente. los renglones superior e inferior y las columnas de los extremos

izquierdo y derecho se consideran adyacentes entre sí.

Cuando se repite un cuádruple, el término resultante contiene sólo las variables que no

cambian de forma para todos los cuadrados del cuádruple. Por ejemplo, en la figura 4 -

13(a) los cuatro cuadrados que contienen un uno son A'B'C, A'BC, ABC y AB'C. El

análisis de estos términos revela que solamente la variable C permanece sin alterarse (A

y B aparecen en forma complementada y no complementada). De este modo, la

expresión resultante para X es simplemente X = C. Esto se puede demostrar de la

siguiente manera:

Page 19: Elemento 03

Para poner otro ejemplo, consideramos las figura 4 - 13(d), donde los cuatro cuadrados

que contienen unos son ABC'D', A'B'C'D', ABCD', y AB'CD'. El análisis de estos

términos indica que sólo las variables A y D' permanecen sin cambios, así que la

expresión simplificada para X es

X = AD

Esto se puede probar de la misma manera anteriormente utilizada.

El lector debe verificar cada uno de los otros casos de la figura 4 -13 para comprobar

que sean las expresiones indicadas para X. Para resumir:

El agrupamiento cuádruple de unos elimina las dos variables que aparecen

en la forma complementada y no complementada.

Agrupamiento de grupos en ocho (octetos) Un grupo de ocho unos que son

adyacentes entre sí se denomina octeto. En la figura 4-14 se dan varios ejemplos de

octetos. Cuando

porque solo una de ellas permanece inalterada. Por ejemplo, el análisis de los ocho cuadrados agrupados en la figura 14 -14(a) muestra que so1o la variable B está en la misma forma para los ocho cuadrados; las otras variables aparecen en forma complementada y no complementada. Así, para este mapa, X = B. El lector puede verificar los resultados de los otros ejemplos en la figura 4 - 14.

Page 20: Elemento 03

EJERCICIOS

1.- Diseñe un semáforo que permita simular silos el tránsito de una avenida.

Page 22: Elemento 03

UTILIZACION DE SIMULADOR LOGICO PARA VERIFICAR CIRCUITOS

1- COMPUERTOS AND, NOR, NOT 2- SIMILITUD DE SEMISUMADORES

3- DE SUMADOR Y SEMISUMADORES

Page 23: Elemento 03

4- SEMAFORO

5- Se desea controlar dos motores M1 y M2 por medio de 3 interruptores A,B,C que cumplan las siguientes condiciones.

1. Si A esta activo y los otros 2 no lo están se activa el M1. 2. Si C está activo y los otros 2 no lo están se activa M2. 3. Si los 3 interuptores están inactivos se activan M1 YM2.

Page 24: Elemento 03

6- Visualizar con un displey o un led de 8 salidas hacer que funcionen los números del 1 al 8