REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA DEFENSA UNIVERSIDAD NACIONAL EXPERIMENTAL DE LA FUERZA ARMADA NACIONAL SECCIÓN: ISD_2
Profesora: Marinell Fernandez
Santa Teresa del Tuy Enero 2010
Alumnos: Ronald Pabon John Olivos Jorge Palacios Siorki Gordones Jesús Muñoz Yunerbí García
MAPA DE KARNAUGH Un mapa de Karnaugh (también conocido como tabla de Karnaugh o diagrama de Veitch, abreviado como K-Mapa o KV-Mapa) 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 K aprovechan la capacidad del cerebro humano de trabajar mejor con patrones que con ecuaciones y otras formas de expresión analítica. Externamente, un mapa de Karnaugh consiste de una serie de cuadrados, cada uno de los cuales representa una línea de la tabla de verdad. Puesto que la tabla de verdad de una función de N variables pose posee e 2N fila filas, s, el mapa mapa K corre corresp spon ondi dien ente te debe debe poseer poseer tamb también ién 2N cuadrados. Cada cuadrado alberga 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.
REGLAS PARA EL USO DE MAPAS DE KARNAUGH 1. Los lazos de minterms (minitérminos) o maxterms (maxitérminos) son con base en la potencia del sistema binario. 2. Los lazos van a ser horizontales y verticales; los diagonales no están permitidos. Aunque si están permitidos los verticales y horizontales que lleguen al final de la fila o la columna, y vuelvan a enlazarse otra vez al inicio, o viceversa. 3. En un lazo las variables que cambien se deben eliminar. Las variables que no cambien se deben representar en dicho lazo. Estas variables serán
positivas o negativas, positivas si dicho lazo que no cambia es un 1, negativas si es 0. 4. Hacer la menor cantidad de lazos o grupos con la mayor cantidad de maxterms y minterms. Estos lazos solo pueden estar formados por potencias de 2, por lo tanto los grupos serán de 2^1 o 2^2...2^n, mientras 2^n sea más pequeño que el número total de posiciones en la tabla.
MÉTODO DE REDUCCIÓN DE MAPAS DE KARNAUGH El Álgebra de Boole, resuelve problemas que dependiendo del número de términos que tenía la función canónica, siendo el número de compuertas lógicas utilizadas igual al número de términos obtenidos MÁS UNO; por lo tanto, los circuitos obtenidos son de dos niveles de conmutación con un tiempo mínimo de retardo, pero que de ninguna manera es el más sencillo ni el más económico.
MAPAS DE KARNAUGH DE 2 VARIABLES Sea f una función de 2 variables f (A,B) Para elaborar el mapa de Karnaugh tendremos 22 = 4 combinaciones. En la figura se muestra la tabla de verdad con la lista de los mintérminos y el lugar que ocupa cada uno de ellos en un mapa. Una manera mas sencilla de representar el mintérmino en la casilla correspondiente es señalando su valor decimal.
Por ejemplo la combinación A=1 y B=1 es el termino AB cuyo valor binario es 11 y que convertido a decimal da 3. (Mintérmino m3).
MAPAS DE KARNAUGH DE 3 VARIABLES
Sea f una función de 3 variables:f (A,B,C) Para elaborar el mapa de Karnaugh tendremos 2 3 = 8 combinaciones. Al igual que antes cada casilla del mapa corresponde a un mintémino de la tabla de verdad.
Es importante colocar las variables en el orden indicado de mas significativo a menos significativo (A, B, C), de otra forma el valor decimal de las casilla sería diferente.
MAPAS DE KARNAUGH DE 4 VARIABLES Sea f una función de 4 variables:f (A,B,C,D) Para elaborar el mapa de Karnaugh tendremos 2 4 = 16 combinaciones. Siguiendo el mismo procedimiento que para la función de 3 variables obtenemos el mapa que se muestra en la figura. Note el orden en que se colocan las variables A, B,C y mas significativo a menos significativo.
También como antes para las columnas AB, las filas CD siguen el orden 00, 01, 11, 00 para que haya adyacencia lógica
MAPAS DE KARNAUGH DE 5 VARIABLES Sea f una función de 5 variables:f (A,B,C,D,E) Para elaborar el mdk tendremos 2 5 = 32 combinaciones. Note que ahora una casilla, además de ser adyacente en forma horizontal o vertical, es adyacente a la casilla que ocupa la misma posición en el cuadrado cercano. Por ejemplo la casilla 15(01111) es adyacente al las casillas 13, 7, 14, 11 y a la 31(1111) Esto porque cambia una sola variable entre una casilla y otra.
MAPAS DE KARNAUGH DE 6 VARIABLES Sea f una función de 6 variables:f (A,B,C,D,E,F) Para
elaborar
el
mdk
tendremos
26
=
64
combinaciones.
Note que ahora una casilla, además de ser adyacente en forma horizontal
o vertical, es adyacente a la casilla que ocupa la misma posición en el cuadrado cercano horizontal y en el cuadrado cercano vertical. Por ejemplo la casilla 10 (001010) es adyacente a las casillas 11(001011), 14(001110), 8(001000), 2(000010) y a las casillas 26(011010) y 42 (101010)
PROCEDIMIENTO PARA MINIMIZAR UNA FUNCIÓN POR MAPAS K En forma definitiva, el mapa que se utilizará para la minimización de funciones booleanas con tres variables, será el que se muestra en la
Figura 2.9.(d). A continuación explicaremos la forma como se utilizará en este mapa. Los pasos a seguir serán los mismos para cualquier mapa, no importa cual sea el número de variables. 1. De la definición del problema y de la tabla funcional se obtiene la función canónica. 2. Los minitérminos o maxitérminos de la función canónica se trasladan al mapa K. Se coloca un 1 si es minitérmino y 0 si es maxitérmino. 3. Se realizan los enlaces abarcando el mayor número de términos bajo los siguientes criterios: a) El número de términos que se enlazan (agrupan) deben seguir la regla de formación binaria, es decir, de 1 en 1, de 2 en 2, de 4 en 4, de 8 en 8, etc. b) Al agrupar los términos, se debe cuidar la simetría con los ejes centrales y secundarios. 4. El hecho de que se haya tomado un término para un enlace no quiere decir que éste mismo no pueda utilizarse para otros enlaces. 5. La función reducida tendrá tantos términos como enlaces se hayan realizado.
6. Para obtener el término reducido se realizan dos movimientos sobre el mapa, uno vertical, que barre a las variables más significativas y otro horizontal, que barre a las variables menos significativas.
SIMPLIFICACIÓN DE FUNCIONES CON MAPAS DE KARNAUGH Obtener la función de un Mapa de Karnaugh es el procedimiento inverso a la de la realización del mapa. Un término de la función coloca uno o más "unos" en el mapa de Karnaugh. Tomar esos unos, agrupándolos de la forma adecuada, nos permite obtener los términos de la función Utilizaremos los Mapas de Karnaugh para obtener una función mínima de dos niveles Suma de Productos. Una expresión de dos niveles sdp se considerará la expresión mínima si: 1. No existe otra expresión equivalente que incluya menos productos. 2. No hay otra expresión equivalente que conste con el mismo número de productos, pero con un menor numero de literales. Observe que hablamos de UNA expresión mínima y lo LA expresión mínima. Esto porque pueden existir varias expresiones distintas, pero equivalentes, que satisfagan esta definición y tengan el mismo numero de productos y literales. La minimización de funciones sobre el mapa de Karnaugh se aprovecha del hecho de que las casillas del mapa están arregladas de tal forma que entre una casilla y otra, en forma horizontal o vertical existe ADYACENCIA LOGICA. Esto quiere decir que entre una casilla y otra solo cambia una variable.
Definimos los mintérminos adyacentes desde el punto de vista lógico como dos mintérminos que difieren solo en una variable. Agrupando casillas adyacentes obtenemos términos productos que eliminan las variables que se complementan, resultando esto en una versión simplificada de la expresión.
SUMA DE PRODUCTOS Suma de productos es una forma de representación de funciones booleanas constituida por operaciones lógicas o sobre un conjunto de términos formados por la operación.
PRODUCTO DE SUMA
El producto de sumas es otra forma de representación de funciones booleanas caracterizadas por la aplicación de operación sobre un conjunto de operaciones o sobre las entradas
MINTERMS Un minterm es un término producto que vale 1 en al menos un punto del dominio de una función booleana. Es definido por un producto (AND) donde cada variable aparece al menos una vez directa o complementada.
MAXTERMS Un maxterm es un término suma que vale 0 en al menos un punto del dominio de la función. Es determinado por una adición (OR) donde cada variable aparece al menos una vez, directa o complementada
LOGICA COMBINACIONAL Un circuito combinacional consiste en: - variables de salida, - compurtas lógicas y - variables de salida
entrada
circuito lógico combinacio
salida
PROCEDIMIENTO DE DISEÑO
1.
ENUNCIADO DEL PROBLEMA
2. DETERMINAR NUMERO DE VARIABLES DE E/S 3. ASIGNAR LETRAS A LAS VARIABLES
4. TABLA DE VERDAD 5. FUNCION DE BOOLE 6. DIAGRAMA LOGICO
SUMADOR En electrónica un sumador es un circuito lógico que calcula la operación suma. En los computadores modernos se encuentra en lo que se denomina Unidad aritmético lógica (ALU). Generalmente realizan las operaciones aritméticas en código binario decimal o BCD exceso 3, por regla general los sumadores emplean el sistema binario. En los casos en los que se esté empleando un complemento a dos para representar números negativos el sumador se convertirá en un sumador-substractor
SUMADOR MEDIO 1. PROBLEMA: circuito que elabore suma entre dos bits. 2. VARIABLES DE ENTRADA 2 VARIABLES DE SALIDA 2 3. VARIABLES DE ENTRADA: VARIABLES DE SALIDA :
x, y C, S
4. TABLA DE VERDAD x
y
C
S
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
5. a. S = xy' + x'y
C = xy
b. S = (x+y)(x'+y') C = xy c. S = (C + x'y')' d. S = x⊕y
C = (x'+y')' C = xy
6. DIAGRAMAS LOGICOS
SUMADOR COMPLETO 1. PROBLEMA: SUMAR TRES BITS (ACARREO) 2. VARABLES DE ENTRADA 3 VARIABLES DE SALIDA 2 3. VARIABLES DE ENTRADA: VARIABLES DE SALIDA : 4. TABLA DE VERDAD
x, y, z C, S
x 0
y 0
z 0
C 0
S 0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
1
1
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
SUSTRACTOR MEDIO 1. PROBLEMA: circuito que elabore una resta entre dos bits. 2. VARIABLES DE ENTRADA 2 VARIABLES DE SALIDA 2 3.
VARIABLES DE ENTRADA: VARIABLES DE SALIDA :
x, y C, D
4. TABLA DE VERDAD x
y
C
D
0
0
0
0
0
1
1
1
1
0
0
1
1
1
0
0
5. a. S = xy' + x'y
C = x'y
6. DIAGRAMAS LOGICOS
SUSTRACTOR COMPLETO 1. PROBLEMA: RESTAR TRES BITS (ACARREO) 2. VARABLES DE ENTRADA 3 VARIABLES DE SALIDA 2 3.
VARIABLES DE ENTRADA:
x, y, z
VARIABLES DE SALIDA : C, S 4. TABLA DE VERDAD
CONVERSIÓN ENTRE CÓDIGOS Los conversores de códigos son una aplicación de las puertas lógicas en los sistemas digitales. Los códigos mas utilizados son el binario BCD 8421, octal, hexadecimal y el decimal. Los dispositivos digitales pueden procesar solamente los bits "1" y "0" . Estas largas cadenas de 1 y 0 son difíciles de comprender por las personas. Por esta razón se necesitan los conversores de códigos para traducir el lenguaje de la gente al lenguaje de la maquina. Un ejemplo de conversor de código es una sencilla calculadora manual, la cual esta constituida por un dispositivo de entrada llamado teclado. Entre el teclado
y la unidad central de tratamiento "CPU" hay un codificador, que traduce el número decimal pulsado en el teclado a código binario. La "CPU" realiza su operación en binario y produce un resultado en código binario. El decodificador traduce el código binario de la CPU a un código especial que hacen que luzcan los segmentos adecuados en el visualizador de siete segmentos.
Los conversores de códigos se dividen en dos tipos: Codificador Decodificador
CODIFICADORES Un codificador es considerado como un traductor del lenguaje de la gente al lenguaje de la maquina, es decir, traduce una entrada decimal a un numero BCD 8421.
El diagrama lógico, en forma simplificada, de un codificador decimal a BCD se muestra en la figura 1
x
y
z
C
S
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
5. FUNCIONES DE BOOLE D = x'y'z + x'yz' + xy'z' + xyz yz
y ______________
00
01
11
1
10 1
1
1
C = x'y + x'z + yz yz
y ______________ 00
01 1
NAND DE MULTINIVELES
11
10
1 1
1
Cualquier compuerta lógica se puede negar, esto es, invertir el estado de su salida, simplemente agregando una compuerta NOT que realice esa tarea. Debido a que es una situación muy común, se fabrican compuertas que ya están negadas internamente. Este es el caso de la compuerta NAND: es simplemente la negación de la compuerta AND. Esto modifica su tabla de verdad, de hecho la invierte (se dice que la niega) quedando que la salida solo será un 0 cuando todas sus entradas estén en 1. El pequeño círculo en su salida es el que simboliza la negación. El numero de entradas debe ser como mínimo de dos, pero no es raro encontrar NAND de 3 o mas entradas.
Entrada (A) Entrada (B) Salida (S) 0
0
1
0
1
1
1
0
1
1
1
0
NOR DE MULTINIVELES Una compuerta lógica NOR es la negación de una compuerta OR, obtenida agregando una etapa NOT en su salida. Como podemos ver en su tabla de verdad, la salida de una compuerta NOR es 1 solamente cuando todas sus entradas son 0. al igual que en otras compuertas "negadas", la negación se
expresa en los esquemas mediante un círculo en la salida. El número de entradas también puede ser mayor a dos.
La siguiente es la tabla de verdad de esta compuerta:
Entrada (A) Entrada (B) Salida (S) 0
0
1
0
1
0
1
0
0
1
1
0
OR La función booleana que realiza la compuerta lógica OR es la asociada a la suma, y matemáticamente la expresamos como “+”. Esta compuerta presenta un estado alto en su salida cuando al menos una de sus entradas también esta en estado alto. En cualquier otro caso, la salida será 0. Tal como ocurre con las compuertas AND, el número de entradas puede ser mayor a dos. La siguiente es la tabla de
Entrada (A) Entrada (B) Salida (S) 0
0
0
0
1
1
1
0
1
1
1
1
verdad de esta compuerta: