Descargar

Diseño digital para Ingeniería (página 2)


Partes: 1, 2, 3
6105104103102101100 Los pesos para los números fraccionarios son potencias negativas de diez, aumentando de izquierda a derecha, comenzando por 10-1. Peso:….106105104103102101100, 10-110-210-310-4 La expresión general para descomponer el valor de una magnitud expresada en cualquier sistema numérico para obtener su valor decimal: donde, di= Dígito en la posición i. r = Base del sistema utilizado. n = No. de dígitos fraccionarios. p = No. de dígitos enteros. La base r del sistema numérico es el número total de dígitos permitidos para el sistema. Ejemplo 235.63 = 2×102 + 3×101 + 5 x 100 + 6×10-1 + 3×10-2

edu.red

Diseño Digital para Ingeniería 7

1.2. Sistema Binario

El sistema binario es un sistema en base dos. Es el sistema utilizado por los computadores digitales y tiene sólo dos valores lógicos posibles – "0 y 1" – para sus coeficientes, los cuales se pueden representar físicamente de distintas maneras, como las siguientes: • • • • Tensiones alto y bajo. Interruptor cerrado o abierto. Sentido de magnetización de un núcleo magnético. Corriente eléctrica alta o baja. Los dígitos 0 y 1 se llaman bits.

En un número entero binario el BIT a la derecha es el BIT menos significativo (LSB, Least Significant Bit) y tiene un peso de 20=1. El BIT del extremo izquierdo el BIT más significativo (MSB, Most Significant Bit) y tiene un peso dependiente del tamaño del numero binario. Los pesos crecen de derecha a izquierda en potencias de 2. En números fraccionarios el bit a la izquierda de la coma es el MSB y su peso es de 2-1= 0,5. Los pesos decrecen de izquierda a derecha en potencias negativas de 2.

Peso: 2n-1….2423222120, 2-12-22-3……2-n.

En el cual n es el número de bits a partir de la coma binaria. La tabla 1.1.1. muestra la equivalencia de los números decimales del 0 al 15 a su correspondiente binario. Tabla 1. Sistema decimal y binario

Ejemplo 101101,11 = 1×25+ 0x24 + 1×23+ 1×22 + 0x21 + 1×20 + 1×2-1 + 1×2-2

En decimal se tiene: 32 + 8 + 4 + 1 + 0,5 + 0,25= 45,7510.

edu.red

Diseño Digital para Ingeniería 8

1.3. Sistema Hexadecimal

El sistema hexadecimal es un sistema en base 16 y consta de 16 dígitos diferentes que son: del 0 al 9 y luego de la letra A a la F, es decir 10 dígitos numéricos y seis caracteres alfabéticos.

El sistema hexadecimal se usa como forma simplificada de representación de números binarios y debido a que 16 es una potencia de 2(24=16), resulta muy sencilla la conversión de los números del sistema binario al hexadecimal y viceversa.

La tabla 2. Muestra los números decimales de 0 al 15 con su equivalencia en binario y hexadecimal. Tabla 2. Sistema decimal, binario y hexadecimal

Para convertir un número hexadecimal en un número binario se reemplaza cada símbolo hexadecimal por un grupo de cuatro bits.

Ejemplo:

El número 4F5B16 en binario equivale a

1.4. Sistema Octal

El sistema octal es un sistema en base 8 y está formado por 8 dígitos. En un número octal, los pesos crecen de derecha a izquierda en potencias de 8.

Peso: 8483828180

La tabla 3. Muestra los números decimales de 0 al 17 con su equivalencia a binario y octal.

edu.red

Diseño Digital para Ingeniería 9 Tabla 3. Sistema decimal, binario y octal

Observe que en octal los dígitos 8 y 9 no se usan. La conversión de un número octal en decimal se obtiene multiplicando cada dígito por su peso y sumando los productos.

Ejemplo: 1725= 1×83 + 7×82 + 2×81 + 5×80 = 512+448+16+5= 981

Código decimal binario (BCD)

El código decimal binario (BCD Binary Code Decimal) es utilizado para expresar los diferentes dígitos decimales con un código binario. Por consiguiente, el código BCD tiene diez grupos de código y resulta práctico para convertir entre decimal y BCD.

El código 8421: Pertenece al grupo de códigos BCD. El nombre 8421 indica los diferentes pesos de los cuatro bits binarios (23, 22, 21, 20). La tabla 4. Muestra los números decimales de 0 al 9 con su equivalencia en BCD. Tabla 4. Sistema decimal y BCD

Con un número de 4 bits se pueden representar 24 combinaciones posibles, pero al emplear el código 8421 se incluyen solamente 10 grupos de código binario, en consecuencia las combinaciones 1010, 1011, 1100, 1101, 1110, 1111 no se utilizan.

edu.red

Diseño Digital para Ingeniería 10

Ejemplo: Convertir a BCD el número decimal 6498.

Reemplazando por los valores de la tabla 4. Se obtiene,

649810= (0110 0100 1001 1000)8421

1.5. Conversiones de un Sistema a Otro

Las conversiones entre números de bases diferentes se efectúan por medio de operaciones aritméticas simples. Dentro de las conversiones más utilizadas se encuentran:

1.5.1. Conversión de Decimal a Binario

Para la conversión de decimal a binario se emplean dos métodos. El primero es divisiones sucesivas y el segundo es suma de potencias de 2.

Por divisiones sucesivas: Se va dividiendo la cantidad decimal por 2, apuntando los residuos, hasta obtener un cociente cero. El último residuo obtenido es el BIT más significativo (MSB) y el primero es el BIT menos significativo (LSB).

Ejemplo Convertir el número 15310a binario. Figura 1. Ejemplo de conversión de decimal a binario

El resultado en binario de 15310es 10011001

Por sumas de potencias de 2: Este método consiste en determinar el conjunto de pesos binarios cuya suma equivalga al número decimal.

Ejemplo: Convertir el número 15310a binario.

15310= 27 + 24 + 23 + 20 = 128 + 16 +8 +1; 15310= 100110012

1.5.2. Conversión de Fracciones Decimales a Binario

Para la conversión de fracciones decimales a binario se emplean el siguiente método.

Por suma de potencias de 2: Emplea la misma metodología de la suma de potencias de 2 pero se trabaja con potencias negativas.

edu.red

Diseño Digital para Ingeniería 11

Ejemplo Convertir el número 0,87510 a binario.

0,87510 = (2-1) + (2-2) + (2-3) = 0,5 + 0,25 + 0,125 = 0,1112

Por multiplicaciones sucesivas: La conversión de números decimales fraccionarios a binario se realiza con multiplicaciones sucesivas por 2. El número decimal se multiplica por 2, de éste se extrae su parte entera, el cual va a ser el MSB y su parte fraccional se emplea para la siguiente multiplicación y seguimos sucesivamente hasta que la parte fraccional se vuelva cero o maneje un error moderado. El último residuo o parte entera va a constituir el LSB.

Ejemplo: Convertir el número 0,87510 a binario. Tabla 5. Ejemplo de Conversión de Decimal a Binario.

El resultado en binario de 0,87510 es 0,1112.

1.5.3. Conversión de Decimal a Hexadecimal

En la conversión de una magnitud decimal a hexadecimal se realizan divisiones sucesivas por 16 hasta obtener un cociente de cero. Los residuos forman el número hexadecimal equivalente, siendo el último residuo el dígito más significativo y el primero el menos significativo.

Ejemplo: Convertir el número 186910 a hexadecimal. Figura.2. Ejemplo de Conversión de decimal a hexadecimal

El resultado en hexadecimal de 186910 es 74D16.

1.5.4. Conversión de Decimal a Octal

En la conversión de una magnitud decimal a octal se realizan divisiones sucesivas por 8 hasta obtener la parte entera del cociente igual a cero. Los residuos forman el número octal equivalente, siendo el último residuo el dígito más significativo y el primero el menos significativo.

Ejemplo: Convertir el número 46510 a octal.

edu.red

Diseño Digital para Ingeniería 12 Tabla 6. Ejemplo de Conversión de Decimal a Hexadecimal.

El resultado en octal de 46510 es 721.

1.5.5. Conversión de Binario a Decimal

Un número binario se convierte a decimal formando la suma de las potencias de base 2 de los coeficientes cuyo valor sea 1.

Ejemplo: Convertir el número 11002 a decimal.

11002= 1×23 + 1×22= 1210

1.5.6. Conversión de Binario a Hexadecimal

El método consiste en conformar grupos de 4 bits hacia la izquierda y hacia la derecha del punto que indica las fracciones, hasta cubrir la totalidad del número binario. Enseguida se convierte cada grupo de número binario de 4 bits a su equivalente hexadecimal.

Ejemplo: Convertir el número 10011101010 a hexadecimal.

1.5.7. Conversión de Binario a Octal

El método consiste en hacer grupos de 3 bits hacia la izquierda y hacia la derecha del punto que indica las fracciones, hasta cubrir la totalidad del número binario. Enseguida se convierte cada grupo de número binario de 3 bits a su equivalente octal.

Ejemplo: Convertir el número 010101012 a octal.

1.5.8. Conversión de Hexadecimal a Decimal

En el sistema hexadecimal, cada dígito tiene asociado un peso equivalente a una potencia de 16, entonces se multiplica el valor decimal del dígito correspondiente por el respectivo peso y realizar la suma de los productos.

Ejemplo Convertir el número 31F16 a decimal.

31F16= 3×162 + 1×16 + 15 x 160= 3×256 + 16 + 15 = 768 + 31 = 79910

1.5.9. Conversión de Hexadecimal a Binario

edu.red

Diseño Digital para Ingeniería 13

La conversión de hexadecimal a binario se facilita porque cada dígito hexadecimal se convierte directamente en 4 dígitos binarios equivalentes.

Ejemplo: Convertir el número 1F0C16 a binario.

1F0C16 = 11111000011002

1.5.10. Conversión de Octal a Decimal

La conversión de un número octal a decimal se obtiene multiplicando cada dígito por su peso y sumando los productos:

Ejemplo: Convertir 47808 a decimal.

4780 = (4 x 83)+(3×82)+(8×81)+(0x80) = 2048+192+64+0= 2304

1.5.11. Conversión de Octal a Binario

La conversión de octal a binario se facilita porque cada dígito octal se convierte directamente en 3 dígitos binarios equivalentes. Ejemplo: Convertir el número 7158 a binario. 7158 = (111001101)2 1.6. Representación de Números Enteros y de Punto Flotante: Los computadores deben interpretar números positivos y negativos. Los números binarios se caracterizan por su magnitud y su signo. El signo indica si el número es positivo o negativo y la magnitud el valor del número.

1.6.1. Representación de Números Binarios Enteros: Existen tres formas de representar los números binarios enteros con signo:

a. Signo – magnitud. b. Complemento a 1. c. Complemento a 2.

a. Signo – Magnitud

En el sistema Signo – Magnitud los números positivos y negativos tienen la misma notación para los bits de magnitud pero se diferencian en el bit del signo. El bit del signo es el bit situado más a la izquierda en el número binario: • • • En números positivos se emplea el bit "0". En números negativos se emplea el bit "1". El número no debe estar complementado. Ejemplo: El número decimal 21 se expresa en binario de 6 bits 010101, donde el primer bit "0" denota el bit de una magnitud positiva. El número decimal –21 se expresa en binario 110101, donde el primer bit "1" denota el bit de una magnitud negativa.

b. Complemento a 1:

edu.red

Diseño Digital para Ingeniería 14

El complemento a 1 en binario se obtiene cambiando los unos por ceros y los ceros por unos. La representación de números positivos en complemento a 1 sigue las mismas reglas del sistema signo-magnitud y la representación de los números negativos en complemento 1 es el complemento a 1 del número positivo.

Ejemplo: El número decimal 21 se expresa en complemento a 1 a 6 bits como 010101, donde el primer bit "0" denota el bit de una magnitud positiva.

El complemento 1 a 6 bits del decimal –21, se obtiene por medio del complemento a 1 del número positivo 010101 el cual es 101010.

c. Complemento a 2

Los computadores utilizan la representación binaria en complemento a 2 para representar números negativos. La representación de números positivos en complemento a 2 sigue las mismas reglas del sistema signo-magnitud y la representación de los números negativos en complemento a 2 se obtiene de la siguiente forma:

1. Se representa el número decimal dado en magnitud positiva. 2. El número de magnitud positiva se representa en forma binaria positiva. 3. Se obtiene el complemento 1 del número binario obtenido en el paso anterior mediante el cambio de los unos por ceros y viceversa. 4. Al complemento 1 se le suma uno y el resultado es la representación en el complemento 2.

Ejemplo: Representar el número –510 en binario, utilizando el complemento a 2 con 5 bits. 1. 2. 3. –5 ? 5. Escribimos el número +510 en binario de 5 bits Obtenemos el complemento a 1 de 0101 0101 1010 4. 5. Al complemento de número anterior se la suma 1. El resultado es 1011. Obtenemos el número 1011 en complemento a 2. Ejemplo: Obtener el complemento a 2 del número positivo de 8 bits 000001012(+510).

El equivalente en complemento a 1 es 11111010. El complemento a 2 del número es 11111011. Comprobando los pesos en decimal se puede demostrar la obtención del negativo del número inicial utilizando el método del complemento a 2:

111110112= (-128 + 64 + 32 +16 + 8 + 0 + 2 + 1)10 = – 510

En la representación en complemento 2 el primer bit del lado más significativo puede interpretarse como el signo, siendo cero para números positivos y 1 para números negativos. Se puede comprobar que si a una cantidad negativa expresada en complemento 2 se le saca su complemento 2, se obtiene la magnitud positiva correspondiente.

edu.red

Diseño Digital para Ingeniería 15

1.6.2. Representación en Punto Fijo y en Punto Flotante

En los computadores los números se representan en punto fijo y en punto flotante.

Punto fijo: Se usa para los números enteros con signo o fracciones con signo. En este caso las cantidades se representan en forma binaria en complemento a 1 ó a 2 y se pueden utilizar longitudes de 8, 16 y 32 bits. En 8 bits el rango va desde 128 hasta 127. El número de combinaciones diferentes de un número binario de n bits es:

Nº total de combinaciones: 2n.

En los números con signo e complemento a 2, el rango de valores para números de n bits:

(2n-1) a + (2n-1-1).

a. Enteros con signo

Los enteros de punto fijo usan un punto binario a la derecha del LSB.

Ejemplo El número de punto fijo de 8 bits 01110101 en complemento a 2, por tener un 0 en el bit de signo representa:

El número entero positivo 1110101 ó la fracción positiva 0.1110101

b. Fracciones de punto fijo

Las fracciones de punto fijo usan el punto binario entre el bit de signo y el MSB.

Ejemplo: El número de punto fijo de 8 bits 11001111 en complemento a 2, por tener un 1 en el bit de signo representa: El número entero negativo -0110001 ó la fracción negativa -0. 0110001.

Punto flotante: El punto flotante se utiliza para representar números no enteros, números muy grandes o números muy pequeños. Un número en punto flotante se expresa como m x re donde, m es la mantisa y es un número de punto fijo, e es el exponente o característica y es un entero de punto fijo, r es la base. En los computadores personales se usa base 2.

La mantisa representa la magnitud del número. El exponente es la parte que representa el número de lugares a desplazar el punto decimal o binario.

Sí tenemos un número de punto fijo de la forma ± (an-1 …. a0 . a-1 ….a-m)r en forma de punto flotante será de la forma ± ( . an-1 ….a-m)r x rn , la base generalmente se omite.

Con frecuencia la mantisa m se escribe con magnitud y signo de la siguiente forma, y en forma de fracción M = (sm . an-1 … a-m) donde, sm indica el signo (1 para una cantidad negativa y 0 para una cantidad positiva) y . an-1 … a-m representa la magnitud.

edu.red

Diseño Digital para Ingeniería 16

Un número de punto flotante está normalizado si el exponente se ajusta de modo que la mantisa tenga un valor distinto de cero en la posición más significativa.

Ejemplo: El número +1010.0111 en representación normalizada en punto flotante da como resultado

(0.10100111) x 24

El estándar ANSI/IEEE 754-1985 define tres formatos para los números de punto flotante: • • • Precisión sencilla: Utiliza 32 bits. Doble precisión: Utiliza 64 bits Precisión ampliada: Utiliza 80 bits. Ejemplo: Un formato a 32 bits es el siguiente, El exponente desplazado se obtiene adicionando 127 al exponente real y convirtiéndolo al binario correspondiente.

1.7. Operaciones Aritméticas en Binario

Los circuitos de control básicos y los computadores efectúan operaciones aritméticas. Estas operaciones se realizan en sistema binario y las leyes que las rigen, son paralelas a las usadas en el sistema decimal. A continuación se describe cada una de las metodologías para realizar tales operaciones.

a. Suma Binaria

La suma de dos cantidades binarias empieza con la suma de los dos dígitos menos significativos de los sumandos y un acarreo inicial de cero ó uno (Acarreo Cin). Esta operación puede producir un bit de acarreo (Acarreo Cout) para la suma de la siguiente posición significativa. En la tabla 7. Las entradas A, B y Cin denotan al primer sumando, el segundo sumando y el acarreo de entrada. Las salidas S y Cout representan a la suma y el acarreo de salida. Tabla 7. Suma binaria

edu.red

Diseño Digital para Ingeniería 17 Ejemplo: Efectuar la suma de 010110 y 101010. Acarreo 11111

010110 Comprobación en decimal: 22 + + 101010 1 000000 42 64 ( 26) La suma de 2 magnitudes binarias en representación de complemento a 2, da como resultado la suma binaria en complemento a 2.

b. Resta Binaria:

En la resta binaria, los bits del minuendo de las columnas se modifican cuando ocurre un préstamo. En la tabla 1.4.2. las entradas A, B y Bin denotan el minuendo, el sustraendo y el bit prestado. Las salidas D y P representan a la diferencia y el préstamo. La tabla muestra los resultados de una resta binaria de dos bits, ? ? Tabla 8. Resta binaria

Para A=0, B=0 y Bin=1, hay que tomar prestado un 1 de la siguiente columna más significativa, lo cual hace P=1 y agregar "en decimal" 2 a A. La resta 2-0-1=1, da como resultado en binario D=1.

Los préstamos se propagan hacia la izquierda de columna en columna.

Ejemplo: Restar 10012 de 100112.

Renglón 2, Tabla 1.4.1. 0 – 1 = 0 con un préstamo de la columna izquierda. 10 – 1 = 1 Renglón 1, Tabla 1.4.1. 0 – 0 = 0 sin préstamo. Renglón 3, Tabla 1.4.1. 1 – 0 = 0 sin préstamo. ? 1 Renglón 4, Tabla 1.4.1. 1 – 1= 0 sin préstamo.

? Préstamo 10011 – 01001 01010

edu.red

Diseño Digital para Ingeniería 18

Rebasamiento: Se presenta cuando la suma de la columna más significativa genera un acarreo. Este sólo se puede producir cuando ambos números son positivos o negativos.

Ejemplo: Efectuar la suma de 86510 y 41210. 1 Acarreo 865 + 412 1 207 ? Rebasamiento

Ejemplo: Efectuar la suma de 1102 y 1102.

1 1 Acarreo 110 + 110 1 100 ? Rebasamiento

Resta binaria en Complemento a 2

En la lección anterior se vió que el signo de un número positivo ó negativo se cambia calculando su complemento a 2. La resta de dos números con signo se calcula sumando el complemento a 2 del sustraendo al minuendo y descartando cualquier bit de acarreo final. El siguiente procedimiento es necesario para calcular la resta de dos números:

1. Obtener el complemento a 2 del sustraendo. 2. Efectuar la suma del minuendo y el sustraendo en complemento a 2. 3. Sí la suma presenta rebosamiento indica que la repuesta es positiva. Ignore el rebasamiento. 4. Si no hay rebosamiento, entonces la repuesta es negativa. Para obtener a magnitud del número binario, obtenga el complemento a dos de la suma.

Ejemplo: Sustraer (1010111 – 1001000)2 1. El complemento a 2 de 1001000 es 0111000. 2. Sumamos el primer sumando y el complemento a 2 obtenido. Acarreo 111 1010111 Comprobación en decimal: 87 + – 72 15 0111000 10001111 ? Rebasamiento (Se ignora )

edu.red

Diseño Digital para Ingeniería 19 3. La respuesta es 00011112.

Multiplicación Binaria

La multiplicación de dos cantidades binarias es necesario considerar lo siguiente: Tabla 8. Multiplicación binaria

La multiplicación binaria cumple las mismas reglas de la multiplicación decimal. En el próximo ejemplo se ilustrará la multiplicación binaria.

Ejemplo: Multiplicar las cantidades 1011 y 1101. Figura 3. Multiplicación binaria

Multiplicación con signo: Se representan los operandos en complemento 2 y el resultado también se obtiene en complemento 2. El último multiplicando desplazado se niega.

edu.red

Diseño Digital para Ingeniería 20 2. Principios de Diseño de Lógica Combinacional

2.1. ¿Qué es Electrónica Digital?

Es una rama de la ciencia aplicada que estudia las señales eléctricas, pero en este caso son señales discretas, es decir, están bien identificadas, razón por la cual a un determinado nivel de tensión se lo llama estado alto (High) o Uno lógico; y a otro, estado bajo (Low) o Cero lógico, por lo tanto, existe la Lógica Positiva y la Lógica Negativa,

Lógica Positiva: En esta notación al 1 lógico le corresponde el nivel más alto de tensión (positivo) y al 0 lógico el nivel más bajo (que bien podría ser negativo), pero, ¿que ocurre cuando la señal no está bien definida? Entonces habrá que conocer cuales son los límites para cada tipo de señal (conocido como tensión de histéresis), en la figura 4 se puede ver con mayor claridad cada estado lógico y su nivel de tensión. Figura 4. Estado Lógico Positivo y Nivel de Tensión

Lógica Negativa: Aquí ocurre todo lo contrario, es decir, se representa al estado "1" con los niveles más bajos de tensión y al "0" con los niveles más altos. (Ver Figura 5). Figura 5. Estado Lógico Negativo y Nivel de Tensión

Por lo general se suele trabajar con lógica positiva, y así lo haremos en este curso, la forma más sencilla de representar estos estados es como se puede ver en la figura 6.

Figura 6. Estado Lógico Positivo

2.2. Álgebra de Boole

El álgebra Booleana es la teoría matemática que se aplica en la lógica combinatoria. Las variables Booleanas son símbolos utilizados para representar magnitudes lógicas y pueden tener sólo dos valores posibles: 1 (valor alto) ó 0 (valor bajo).

edu.red

Diseño Digital para Ingeniería 21 a. Operaciones Booleanas y Compuertas Básicas

Las operaciones boolenas son posibles a través de los operadores binarios negación, suma y multiplicación, es decir que estos combinan dos o más variables para conformar funciones lógicas.

Una compuerta es un circuito útil para realizar las operaciones anteriormente mencionadas, y funcionan de igual manera que una calculadora, de un lado se ingresan los datos, esta realiza una operación y muestra el resultado, como lo muestra la siguiente figura. Figura 7. Diagrama de Bloques Compuerta

Cada una de las compuertas lógicas se representa mediante un Símbolo, y la operación que realiza (Operación lógica) se corresponde con una tabla, llamada Tabla de Verdad.

Operación Inversión o Negación (complemento)) Compuerta Not

Esta operación se indica con una barra sobre la variable o por medio de un apóstrofe en el lado superior derecho de la variable, en este curso emplearemos esta última notación. El apóstrofe (’) es un operador algebraico que invierte el valor de una variable, es decir, si X denota la señal de entrada de un inversor, entonces X’ representa el complemento de tal señal.

Ejemplo Sí X = a = 0 entonces X’ = s = 1. Figura 8. Símbolo y Tabla de Verdad Compuerta Not

Suma Booleana – Compuerta OR

La Compuerta OR tiene dos entradas como mínimo y su operación lógica es una suma Booleana representada por medio un signo más entre las dos variables de entrada.

La suma Booleana de las variables a y b se enuncia de la siguiente forma, s = a + b

La suma Booleana es 1 si alguna de las variables lógicas de la suma es 1 y es 0 cuando todas las variables son 0. Esta operación se asimila a la conexión paralela de contactos.

Bueno, todo va bien hasta que 1 + 1 = 1, el tema es que se trata de una compuerta O Inclusiva es como a y/o b, es decir, basta que una de ellas sea 1 para que su salida sea también 1.

edu.red

Diseño Digital para Ingeniería 22 Figura 9. Símbolo y Tabla de Verdad Compuerta OR

Multiplicación Booleana – Compuerta AND

La Compuerta AND tiene dos entradas como mínimo y su operación lógica es una multiplicación booleana representada por medio un signo (·) entre las dos variables de entrada. No es un producto aritmético, aunque en este caso coincidan. Observa que su salida será alta si sus dos entradas están a nivel alto.

La multiplicación booleana de las variables A y B se enuncia de la siguiente forma, X = A · B

La multiplicación booleana es 1 si todas las variables lógicas son 1, pero si alguna es 0, el resultado es 0. La multiplicación booleana se asimila a la conexión serie de contactos. Figura 10. Símbolo y Tabla de Verdad Compuerta AND

Compuerta EXOR o XOR

Es OR Exclusiva en este caso con dos entradas y lo que hará con ellas será una suma lógica entre a por b invertida y a invertida por b. Al ser O Exclusiva su salida será 1 si una y sólo una de sus entradas es 1. Figura 11. Símbolo y Tabla de Verdad Compuerta EXOR

b. Compuertas Lógicas Combinadas

Al agregar una compuerta NOT a cada una de las compuertas anteriores los resultados de sus respectivas tablas de verdad se invierten, y dan origen a tres nuevas compuertas llamadas NAND, NOR y NOR-EX… Veamos ahora como son y cual es el símbolo que las representa…

Compuerta NAND

edu.red

Diseño Digital para Ingeniería 23 Responde a la inversión del producto lógico de sus entradas, en su representación simbólica se reemplaza la compuerta NOT por un círculo a la salida de la compuerta AND. Figura 12. Símbolo y Tabla de Verdad Compuerta NAND

Compuerta NOR

El resultado que se obtiene a la salida de esta compuerta resulta de la inversión de la operación lógica o inclusiva es como un no a y/o b. Igual que antes, solo agregar un círculo a la compuerta OR y ya se tiene una NOR. Figura 13. Símbolo y Tabla de Verdad Compuerta NOR

Compuerta NEXOR

Es simplemente la inversión de la compuerta EXOR, los resultados se pueden apreciar en la tabla de verdad y el símbolo que la representa en la figura 14, que bien se podría comparar con la figura 13 (anterior) y notar la diferencia. Figura 14. Símbolo y Tabla de Verdad Compuerta NEXOR

Compuerta YES o Buffer

En realidad no realiza ninguna operación lógica, su finalidad es amplificar un poco la señal (o refrescarla si se puede decir). Como se puede ver en la figura 15 la señal de salida es la misma que de entrada.

edu.red

Diseño Digital para Ingeniería 24 Figura 15. Símbolo y Tabla de Verdad Compuerta YES o Buffer

c. Circuitos Integrados y Circuito de Prueba

Existen varias familias de Circuitos integrados, pero las más comunes y empleadas en Colombia son los TTL y CMOS. Estos Integrados se pueden caracterizar por el número que corresponde a cada familia según su composición.

Por ejemplo; Los TTL se corresponden con la serie 5400, 7400, 74LSXX, 74HCXX, 74HCTXX,…. algunos 3000 y 9000.

Los C-MOS y MOS se corresponde con la serie CD4000, CD4500, MC14000, 54C00 ó 74C00, …

La pregunta de rigor… ¿Cual es la diferencia entre uno y otro?, veamos…

Los C-MOS, el máximo nivel de tensión que soportan llega en algunos casos a +15V, mientras que para los TTL el nivel superior de tensión alcanza en algunos casos a los +12V aproximadamente, pero claro estos son límites extremos, lo común en estos últimos es utilizar +5V.

Otra característica es la velocidad de transmisión de datos, resulta ser, que los circuitos TTL son más rápidos (Comunicación Paralela) que los C-MOS (Comunicación Serial), por eso su mayor uso en sistemas de computación.

Es importante buscar la hoja de datos o datasheet del integrado que necesite, distribuido de forma gratuita por cada fabricante y disponible en Internet, o en el Manual ECG o NTE semiconductores.

Ejemplo Caso Circuito Integrado 74LS08, un TTL, es una cuádruple compuerta AND. Es importante notar el sentido en que están numerados los pines, lo cual es general para todo tipo de integrado. Figura 16. Hoja de Datos Circuito Integrado 74LS08

Comenzaremos con este integrado para verificar el comportamiento de las compuertas vistas anteriormente. El representado en la figura 17 marca una de las compuertas que será puesta a (ohm), y prueba, para ello utilizaremos un fuente regulada de +5V, un LED una resistencia de 220 por supuesto el IC que corresponda y la placa de prueba.

edu.red

Diseño Digital para Ingeniería 25 Figura 17. Prueba de una de las compuertas del Circuito Integrado 74LS08

En el esquema está marcada la compuerta, como 1 de 4 disponibles en el Integrado 74LS08, los extremos a y b son las entradas que se deberán llevar a un 1 lógico (+5V) ó 0 lógico (GND), el resultado en la salida s de la compuerta se verá reflejado en el LED, LED encendido (1 lógico) y LED apagado (0 lógico), no olvide conectar los terminales de alimentación que en este caso son el pin 7 a GND y el 14 a +5V. Montado en la placa de prueba te quedaría algo así en el Protoboard de la figura 18. Figura 18. Esquema en Protoboard Prueba de una de las compuertas del Circuito Integrado 74LS08

Esto es a modo de ejemplo, Sólo debes reemplazar IC1, que es el Circuito Integrado que está a prueba para verificar su tabla de verdad.

d. Propiedades de las Operaciones Booleanas

Las operaciones booleanas están regidas por tres leyes similares a las del álgebra convencional. Estas incluyen las leyes conmutativas de la suma y la multiplicación y la ley distributiva.

Leyes conmutativas en dos variables

1. Ley conmutativa de la suma se enuncia como sigue

X+Y=Y+X

En aplicación a los circuitos digitales, podríamos decir que no importa el orden de conexión de las entradas a una compuerta OR.

2. Ley conmutativa de la multiplicación

X·Y = Y· X

En aplicación a los circuitos digitales, podríamos decir que no importa el orden de conexión de las entradas a una compuerta AND.

Leyes asociativas en tres variables

1. Ley asociativa de la adición, se escribe en forma algebraica de la siguiente forma

edu.red

Diseño Digital para Ingeniería 26 A+(B+C)=(A+B)+C

En la figura 19 se muestra la aplicación de la propiedad a las compuertas OR, Figura 19. Ley asociativa de la adición

2. Ley asociativa de la multiplicación

A·( B· C) = ( A·B )· C

En la figura 20 se muestra la aplicación de la propiedad a las compuertas AND, Figura 20. Ley asociativa de la multiplicación

Ley distributiva para tres variables

En el álgebra de Boole, la multiplicación lógica se distribuye sobre la suma lógica,

A·( B + C ) = A·B + A·C

En la figura 21 se muestra la aplicación de la propiedad a las compuertas AND y OR, Figura 21. Ley distributiva para tres variables

edu.red

Diseño Digital para Ingeniería 27 e. Teoremas Booleanos Los teoremas booleanos son enunciados siempre verdaderos, lo que permite la manipulación de expresiones algebraicas, facilitando el análisis ó síntesis de los circuitos digitales. Los teoremas booleanos son los siguientes: 1. X + 0 = X 2. X + 1 = 1 3. X·0 = 0 4. X·1 = X 5. (X’)’=X 6. X + X = X 7. X·X = X 8. X + X’ = 1 9. X.X’= 0 10. X + XY = X 11. X +X’·Y = X + Y 12. X·Y + X·Y’ = X (Teorema de combinación) 13. (X +Y)(X + Y’) = X + X·Y’ + X·Y = X 14. X·Y + X·Z + Y·Z’ = XZ + Y·Z’ (Consenso) El teorema 12 se conoce como la ley distributiva para tres variables. Demostración teorema 12: X·Y + X·Y’ = X Utilizando la ley distributiva para tres variables X·Y + X·Y’= X·(Y+Y’) Aplicando el teorema 8 se tiene, X·Y + X·Y’= X·1 Dando como resultado, X·Y + X·Y’= X Esta expresión indica que la suma de dos productos canónicos adyacentes, es decir que difieren en una sola de las variables, se reduce al producto de los demás términos suprimiéndose dicha variable. El teorema 13 es otro caso del teorema de combinación. Los teoremas 12 y 13 se utilizarán en las lecciones siguientes de forma sistemática para sintetizar circuitos lógicos con los métodos de mapas de karnaugh y el algortimo de Quine-McCluskey. f. Teoremas de DeMorgan Los teoremas de DeMorgan demuestran la equivalencia entre las puertas NAND y negativa – OR, y las puertas NOR y negativa – AND.

edu.red

Diseño Digital para Ingeniería 28 1. El complemento de la suma de variables es igual al producto de los complementos de las variables.

(X1 + X2 +…..+ Xn)’ = X1’ · X2’ · ….. · Xn’

En el caso de dos variables se tiene, (X + Y)’ = X’ · Y’

El circuito equivalente a la ecuación anterior se muestra en la figura 22. Figura 22. Símbolo lógico para la compuerta NOR.

Ejemplo: Obtener una compuerta OR utilizando compuertas NAND.

Y = (A + B) = [(A + B)’]’ = (A’·B’)’ Figura 23. Compuerta OR utilizando compuertas NAND

2. El complemento del producto de variables es igual a la suma de los complementos de las variables.

(X1 · X2 ·…..· Xn)’ = X1’ + X2’ + …..+ Xn’

En el caso de dos variables se tiene, (X · Y)’ = X’ + Y’

El circuito equivalente en dos variables a la ecuación se muestra en la figura 24. Figura 24. Símbolo lógico para la compuerta NOR.

Ejemplo: Obtener una compuerta AND utilizando compuertas NOR.

Y = A·B = [(A.B)’]’ = (A’+B’)’

edu.red

Diseño Digital para Ingeniería 29 Figura 25. Circuito lógico para la compuerta AND Tabla 8.1. Propiedades, Tablas y Representación Gráfica del Algebra de Boole

edu.red

Diseño Digital para Ingeniería 30 2.3. Simplificación de Expresiones Lógicas El objetivo de la simplificación de expresiones lógicas es reducir la expresión al menor número posible de términos. Las expresiones lógicas se pueden simplificar utilizando los teoremas anteriores. Ejemplo: 1. F = A·B’·C + A·B’C’; F = A·B’·(C + C’); F = A·B’ 2. F = (A’+B)·(A+B’); F = A·A’ + A’·B’ + A·B + B·B’; F = A’·B’ + A·B 3. F = [(A’ + C)·(B + D’)]’; F = (A’ + C)’+(B + D’)’; F= A·C’ + B’·D 4. F = (X + Z’)·(Z + W·Y)’ + (V·Z + W·X’)·(Y + Z)’; F = (X + Z’)·[Z’·(W’ + Y’)] + [(V·Z + W·X’)·(Y’·Z’)] F = (X + Z’)·(Z’·W’ + Z’·Y’) + V·Y’·Z·Z’ + W·X’·Y’·Z’ F = W’·X·Z’ + X·Y’·Z’ + Z’·Z’·W’ + Z’·Z’·Y’ + W·X’·Y’·Z’ F = W’·X·Z’ + X·Y’·Z’ + W’·Z’ + Y’·Z’ + W·X’·Y’·Z’ F = W’·Z’·(1 + X) + Y’·Z’·(1 + X) + W·X’·Y’·Z’ F = W’·Z’ + Y’·Z’ + W·X’·Y’·Z’ F = W’·Z’ + Y’·Z’·(1 + W·X’) F = Z’·(W’ + Y’) 2.4. Implementación de Funciones Lógicas mediante Compuertas.

edu.red

Diseño Digital para Ingeniería 31 La forma más fácil de encontrar la expresión de un circuito lógico consiste en comenzar con las entradas situadas más a la izquierda e ir avanzando hasta la salida de cada compuerta lógica, obteniendo la expresión para cada una de ellas. Al final del recorrido se debe tener la expresión para todo el circuito. La expresión resultante podemos simplificarla para obtener una más sencilla y así obtener un circuito más reducido.

Ejemplo Encontrar la expresión para el circuito de la figura 26. Figura 26. Símbolo lógico para la compuerta NOR.

1. La expresión de la compuerta NOR situada a la izquierda cuyas entradas son A y B es (A+B)’. Esta es la primera entrada de la compuerta AND situada a la derecha. 2. La expresión de la compuerta AND cuyas entradas son (A+B)’ y C es (A+B)’·C. 3. La salida de la compuerta AND es la primera entrada de la compuerta OR del extremo derecho. Por lotanto, la expresión de esta compuerta OR es [(A+B)’·C]+D.

2.5. Síntesis de Diseño de Circuitos Combinacionales

Síntesis se entiende como la obtención de circuitos lógicos, a partir de una descripción inicial que utiliza el lenguaje convencional y luego es transferida a una tabla de verdad.

Una tabla de verdad es una representación básica de una función lógica, en la cual se listan las salidas del circuito lógico para las posibles combinaciones de entrada. Las combinaciones de entrada están ordenadas por renglones (líneas) y cada renglón contiene su salida respectiva. Por ejemplo, la tabla de verdad para una función lógica de 3 variables, tendrá 8 líneas para 8 combinaciones de entrada, conteniendo cada línea, su salida respectiva. En la tabla 9. Se ilustra una función de 3 variables para el caso mencionado. Tabla 9. Funciones de salida, Maxtérminos y Mintérminos

2.6. Métodos para Sintetizar Circuitos Lógicos

edu.red

Diseño Digital para Ingeniería 32 Los métodos para sintetizar circuitos lógicos requieren en primer lugar, la comprensión de algunos conceptos, entre ellos: •

• Literal: Variable o el complemento de una variable.

Ejemplo: X’, Y’, X, Y.

Dominio de una expresión booleana: Es el conjunto de variables contenido en una expresión booleana.

Ejemplo: Determine el dominio de la expresión X’·Y·Z + X·Y’·Z·W.

El dominio es X, Y, Z, W.

Término normal: Un producto o término suma en donde ninguna variable aparece repetida.

Ejemplo de término repetido: X·Y·Y, Z·X’·X’·Y

Ejemplo de término no repetido: X’·Y·Z, Z·Y’·X

Término producto: Un solo literal o el producto lógico (multiplicación booleana) de dos o más literales.

Ejemplo: X’, X·Y’, Z·Y, X·Y’·Z

Un término producto es 1 sólo para una combinación de valores de las variables.

Ejemplo: El término producto X·Y'·Z es 1 sólo para X=1, Y=0 y Z=1 y es 0 para el resto de combinaciones. El valor en binario será 101 ó 5 en decimal.

Término suma: Un solo literal o una suma lógica (suma booleana) de dos o más literales.

Ejemplo: X, X + Y’,X’+Z’, X+Y+Z, X+Y’+Z’

Un término suma es 1 cuando cualquier literal que lo compone es 1.

Ejemplo: El término X+Y’+Z’ es 0 para X=0 ó Y=1 ó Z=1 y es 1 para el resto de combinaciones. El valor en binario será 011 ó 3 en decimal.

Suma de productos: Suma lógica de términos productos (Ver tabla 9).

Ejemplo: X’+ X·Y’ + Z·Y + X·Y’·Z

Forma estándar de la suma de productos: Una suma de productos no se encuentra en su forma estándar cuando alguno de los términos producto no contiene alguna de las variables del dominio de la expresión.

Ejemplo

edu.red

• Diseño Digital para Ingeniería 33 X’·Y·Z + X·Y’·Z·W. El dominio es X, Y, Z, W. El primer término producto no contiene el literal W ó W'.

Ejemplo

X'·Y·Z'.W + X·Y·Z·W. En cada uno de los términos de la expresión aparecen todas las variables del dominio. Por lo tanto, la suma de productos está en su forma estándar.

Producto de sumas: Producto lógico de términos suma (Ver tabla 9).

Ejemplo: X·(X+Y’)·(X’+Z’)·(X+Y+Z)·(X+Y’+Z’).

Forma estándar del producto de sumas: Un producto de sumas no se encuentra en su forma estándar cuando alguno de los términos suma no contiene alguna de las variables del dominio de la expresión.

Ejemplo

(X’+W+Z')·(X'+Y’+Z+W')·(X+Y). El dominio es X, Y, Z, W. El primer término suma no contiene el literal Y ó Y'. El tercer término suma no contiene los literales Z ó Z' y W ó W'.

Ejemplo

(X'·Y·Z'.W)·(X·Y'·Z·W). En cada uno de los términos de la expresión aparecen todas las variables del dominio. Por lo tanto, el producto de sumas está en su forma estándar.

Mintérmino: Es un término de producto con n literales en el cual hay n variables. De n variables obtenemos 2n mintérminos.

Ejemplo de mintérminos de 3 variables: X’·Y’.Z’, X’.Y’.Z, X’.Y.Z’, X’.Y.Z, X.Y’.Z’, X.Y’.Z, X.Y.Z’, X.Y.Z. (Ver tabla 9.).

Maxtérmino: Es un término de suma con n literales en el cual hay n variables. De n variables obtenemos 2n maxtérminos. (Ver tabla 9.). Ejemplo de maxtérminos de 3 variables: X+Y+Z, X+Y+Z’, X+Y’+Z, X+Y’+Z’, X’+Y+Z, X’+Y+Z’, X’+Y’+Z, X’+Y’+Z’. (Ver tabla 2.2.1.).

Los métodos existentes para sintetizar circuitos lógicos son: • • • • Suma de productos (SDP). Producto de sumas (PDS). Mapas de Karnaugh. Algoritmo de Quine – McCluskey.

edu.red

Diseño Digital para Ingeniería 34 a. Método de Suma de Productos (SDP)

La suma de productos de una función lógica es la suma de los mintérminos correspondientes a las líneas de la tabla de verdad para las que la función produce una salida igual a 1. La función obtenida es la suma de productos.

Ejemplo Obtener la suma de productos para la función lógica de la tabla 10. Tabla 10. Tabla de verdad para la función lógica F1

La función puede ser expresada conformando un término mínimo por cada combinación de variables que producen un 1 en la función para luego obtener la suma de todos los términos. La función lógica para la tabla 2.3.1 se determina expresando las combinaciones 010, 100, 101 y 111 como A'·B·C', A·B'·C', A·B'·C y A·B·C: F1= S A,B,C( 2,4,5,7)= A'·B·C' + A·B'·C' + A·B'·C + A·B·C. Cada mintérmino de la función anterior representa una compuerta AND de tres entradas y la implementación de la función es posible a través de la aplicación de la operación OR a las salidas de las cuatro compuertas AND. Por tanto, el número total de compuertas AND dependerá del total de mintérminos de la expresión. El circuito se muestra en la figura 27. Figura 27. Circuito lógico para la función lógica F1.

En una suma de productos se cumple la igualdad de la función al valor lógico 1 si al menos uno de sus términos productos es igual a 1.

edu.red

Diseño Digital para Ingeniería 35 Ejemplo Obtener la suma de productos para la función lógica de la tabla 11. Tabla 11. Tabla de verdad de la función F2.

En la tabla de verdad existen dos condiciones para las cuales la salida es 1. Estas son las siguientes:

1. La primera se presenta cuando A es Bajo(0) y B es Alto(1). El resultado 1 de esta condición se puede expresar como el producto lógico:

A’·B

2. La segunda condición se presenta cuando A es 1 y B es 0. Esta condición ocasiona un resultado 1, si el producto lógico es:

A·B’

Como cualquiera de estas dos (2) condiciones hace que la salida sea 1, entonces la función lógica que los representa es la suma lógica de los productos anteriores: F2= A’·B + A·B’ = A B La representación de la función anterior con compuertas OR y AND se muestra en la figura 28. Figura 28. Función F2 utilizando compuertas AND Y OR

Esta función corresponde a la función OR exclusiva, cuya compuerta se representa en la figura 11.

edu.red

Diseño Digital para Ingeniería 36 Ejemplo Obtener la función SDP para la función lógica de la tabla 12. Simplificar la función y dibujarla. Tabla 12. Tabla de verdad de la función F3

Utilizando suma de productos para las líneas 1 y 4 de la tabla se obtiene,

F3=A'·B'+ A·B, simplificando

F3=(A+B)’ + A·B F3= (A ? B)' El circuito lógico de la función anterior se muestra en la figura 29. Figura 29. Función F3 utilizando compuertas AND, NOR y OR.

El símbolo lógico de la compuerta NEXOR – Se muestra en la figura 14.

Conversión de una expresión lógica a formato de suma de productos

La metodología empleada en la transformación de una suma de productos a su forma estándar se basa en el teorema 6, que establece que una variable sumada con su complemento es siempre igual a 1; A + A' = 1. Los pasos son los siguientes:

1. Los términos producto que no contengan la(s) variable(s) del dominio, multiplicarlos por un término formado por dicha variable más el complemento de la misma (teorema 6).

2. Repetir el paso 1 para todos los términos de la expresión que no contengan todas las variables (o sus complementos) del dominio. Resolver los términos intervenidos.

Ejemplo Convertir la expresión booleana A·B.C' + B·C + A' a su forma estándar.

El dominio de la expresión es el conjunto de variables A, B y C. Se observa la falta de formato estándar para el segundo y tercer término producto. Sobre ellos se aplicará el procedimiento, para luego volver a agrupar toda la expresión:

edu.red

Diseño Digital para Ingeniería 37 Término B·C

B·C = B·C ·(A+A') = A·B·C + A'·B·C

Término A

A' = A'·(C+C') = A'·C+A'·C' ; la expresión aún no tiene el formato estándar, entonces multiplicamos cada término por (B+B') A'·C·(B+B') +A'·C'·(B+B') = A'·B·C + A'·B'·C + A'·B·C' + A'·B'·C'

La expresión en su formato estándar es:

A·B.C' + B·C + A' = A·B·C + A'·B·C + A'·B·C + A'·B'·C + A'·B·C' + A'·B'·C'

b. Método de producto de sumas (PDS)

El producto de sumas de una función lógica es la multiplicación de los maxtérminos correspondientes a las líneas de la tabla de verdad para las que la función produce una salida igual a 0. La función obtenida es el producto de sumas.

Ejemplo Obtener el producto de sumas para la función lógica de la tabla 13. Tabla 13. Tabla de verdad para la función lógica F4

La función puede ser expresada conformando un término máximo para cada combinación de variables que producen un 0 en la función y luego obtener el producto de todos los términos. La función lógica para la tabla 2.3.4 se determina expresando las combinaciones 000, 001, 011 y 110 como (A+B+C),(A+B+C'),(A+B'+C') y (A'+B+C). La función lógica es la siguiente: F4= S A,B,C( 0,1,3,4)= (A+B+C)·(A+B+C')·(A+B'+C')·(A'+B+C). Cada maxtérmino de la función anterior representa una compuerta OR de tres entradas y la implementación de la función es posible a través de la aplicación de la operación AND a las salidas de las cuatro compuertas AND. Por tanto, el número total de compuertas AND dependerá del total de mintérminos de la expresión. El circuito se muestra en la figura 30.

edu.red

Diseño Digital para Ingeniería 38 Figura 30. Circuito lógico para la función lógica F4

Un producto de sumas es igual a 0 si al menos uno de los términos suma es igual a 0.

Ejemplo Obtener el producto de sumas para la función lógica de la tabla 14. Tabla 14. Tabla de verdad de la función EXOR

Considere el complemento de la función de Boole F5. Este puede obtenerse de la tabla 14. Formando un término mínimo por cada combinación que produce un cero y luego haciendo la suma de los términos. El complemento de F5se expresa así:

F5' = A'·B' + A·B

La expresión F5se obtiene la negar F5':

F5 = (F5')' = (A'·B' + A·B)' =(A'·B')'·(A·B)' = [(A')'+(B')']·(A'+B') = (A+B)·(A'+B')

Si cualquiera de los términos del PDS es cero, la función es cero.

De los 2 métodos anteriores, se pueden escoger algunos criterios para aplicar un método u otro, siendo estos los siguientes: •

• Si en la última columna de la tabla de verdad, o sea en la columna que indica los resultados, sí predominan los ceros es más conveniente utilizar las suma de productos. Si en la columna que indica los resultados, predominan los unos, es más conveniente utilizar el método del producto de sumas.

edu.red

Diseño Digital para Ingeniería 39 c. Mapas de Karnaugh

Un mapa de Karnaugh es una representación gráfica de una función lógica a partir de una tabla de verdad. El número de celdas del mapa es igual al número de combinaciones que se pueden obtener con las variables de entrada.

El Mapa de Karnaugh representa la misma tabla de verdad a través de una matriz, en la cual, en la primera fila y la primera columna se indican las posibles combinaciones de las variables. Los mapas se pueden utilizar para 2, 3, 4 y 5 variables. Figura 31. Mapa de Karnaugh para 2, 3 y 4 variables.

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 tercera 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.

Mapa de Karnaugh empleando Suma de Productos (SDP)

La simplificación de expresiones lógicas mediante el mapa de Karnaugh utiliza un método gráfico basado en la Suma de Productos.

Mapa de Karnaugh de tres variables

El mapa de Karnaugh se construye a partir de la tabla de verdad de la función lógica. El mapa por medio de una matriz de 8 celdas, representa los ocho mintérminos posibles que se pueden obtener con tres variables, en un arreglo de una matriz de 2×4. Por tanto, la primera fila contiene el primer valor posible ("0") y la segunda fila el valor ("1").

Las variables 2 y 3 se agrupan por columna y se distribuyen en las cuatro columnas de acuerdo a las combinaciones posibles para obtener los mintérminos requeridos. Sus valores son 00, 01, 10 y 11. Por ejemplo, la celda m2corresponde al mintérmino 2, ubicado en la fila 0 y la columna 10. La unión de estos dos números da el número 010, cuyo equivalente es el término A’·B·C’ ó el decimal 2. La tabla 15. Muestra el mapa de Karnaugh para 3 variables. Línea A B C Mintérmino Mintérmino Función de

edu.red

Diseño Digital para Ingeniería 40 (a) (b) (c) Tabla 15. Mapa de tres variables

La característica de ordenamiento de un mapa de Karnaugh radica en el cambio de un solo BIT en los términos de las celdas adyacentes de filas y columnas. En la tabla 15. Las entradas BC se colocan secuencialmente, cambiando cada vez una sola variable, por eso resulta el orden: 00, 01, 11 y 10. En la interactividad 2.4.1., la pulsación de cada cuadro activa el mintérmino correspondiente.

Por ejemplo, la variable C está negada en m4 y m5 no lo está, mientras que A y B no cambia. Las celdas de los bordes superior e inferior e izquierdo y derecho también cumplen esta condición al agruparlas unas a otras. En el teorema 12 de la lección 1, se demuestra que la suma de los términos mínimos en celdas adyacentes pueden ser simplificadas en un término AND de dos literales. Por consiguiente, aplicando el teorema para los términos m4 y m5del mapa se tiene:

m4+ m5 = A·B’·C’ + A·B’·C = A·B’·(C’+C) = A·B

Los términos m4 y m6 se pueden asociar de la misma forma:

m4+ m6 = A·B’·C’ + A·B·C’ = A·C’·(B’+B) = A·C’

Ejemplo Simplificar la función F1= ? (m3, m4, m5, m6, m7).

F1 = ? (m3, m4, m5, m6, m7) = A’·B·C + A·B’·C’+ A·B’·C + A·B·C’+ A·B·C

edu.red

Diseño Digital para Ingeniería 41 Aplicando el teorema 6 de la lección 1 para el término A·B·C. F1 = ? (m3, m4, m5, m6, m7) = ? (m4, m5, m6, m7) + ? (m3, m7) = [A·B’·C’+ A·B’·C + A·B·C’+ A·B·C] + [A’·B·C + A·B·C]. El primer término en la sumatoria es el grupo 1 y el segundo término corresponde al grupo 2. En un mapa de karnaugh, los mintérminos de cada grupo se relacionarían a través de lazos independientes. Desarrollando la expresión, F1 = [A·B’·(C’+C) + A·B·(C’+ C)] + [B·C·(A’+A)]= A·B’·(1) + A·B·(1) + B·C·(1) = A·(B’+B) + B·C = A + B·C. El mapa se construye colocando un 1 en las celdas correspondientes a los mintérminos presentes en la función de salida. Por ejemplo, para el término F(1,1,0)= A·B·C’ = 1 se situaría un 1 en la celda 110. Para los mintérminos no presentes en la función se pone un 0. Por ejemplo el término F(0,0,1)= A’·B'·C = 0, será una celda con valor 0 en la celda 001. Después de situar los unos en el mapa, se procede con la agrupación de 1s, la determinación del término producto correspondiente a cada grupo y la suma de los términos producto obtenidos. La determinación del término producto se realiza de acuerdo los siguientes criterios: 1. Una celda representa un mintérmino, dando como resultado un término de cuatro literales. 2. Dos celdas agrupadas pueden representar la asociación de dos mintérminos, dando como resultado un término de dos literales. 3. Cuatro celdas agrupadas pueden representar la asociación de cuatro mintérminos, dando como resultado un término de un literal. 4. Ocho celdas agrupadas representan un valor de función igual a 1.

edu.red

Diseño Digital para Ingeniería 42 Ejemplo Sea la función del ejemplo anterior, simplificarla por medio del método del mapa.

La tabla de verdad del ejemplo anterior es la siguiente, Tabla 16. Tabla de verdad de la función F1.

El mapa de Karnaugh se configura de acuerdo a los mintérminos iguales a 1 y las celdas se agrupan tal como en la figura 32 Figura 32. Mapa de Karnaugh de la función F1.

El primer grupo se forma con los mintérminos m4, m5, m6 y m7 y el segundo grupo con los mintérminos m3 y m7.

Del primer grupo resulta el término A, ya que, para las cuatro columnas de la tabla existen transiciones entre las variables B y C. El segundo grupo da como resultado el término BC por el cambio existente en la variable A.

En total, la función queda reducida a la expresión:

F1 = A + B·C

Mapa de Karnaugh de cuatro variables

La construcción de un mapa de Karnaugh de 4 variables es similar al de 3 variables. La diferencia radica en el número de variables de entrada. El mapa por medio de una matriz de 16 celdas, representa los 16 mintérminos posibles (24) que se pueden obtener con cuatro variables de entrada, en un arreglo de 4 x 4. La disposición de celdas en el mapa se muestra en la tabla 17.

edu.red

Diseño Digital para Ingeniería 43 Línea A B C D Mintérmino Mintérmino mx Función de Salida 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 A’·B’·C’·D’ A’·B’·C’·D A’·B’·C·D’ A’·B’·C·D A’·B·C’·D’ A’·B·C’·D A’·B·C·D’ A’·B·C·D A·B’·C’·D’ A·B’·C’·D A·B’·C·D’ A·B’·C·D A·B·C’·D’ A·B·C’·D A·B·C·D’ A·B·C·D m0 m1 m2 m3 m4 m5 m6 m7 m8 m9 m10 m11 m12 m13 m14 m15 F(0,0,0,0) F(0,0,0,1) F(0,0,1,0) F(0,0,1,1) F(0,1,0,0) F(0,1,0,1) F(0,1,1,0) F(0,1,1,1) F(1,0,0,0) F(1,0,0,1) F(1,0,1,0) F(1,0,1,1) F(1,1,0,0) F(1,1,0,1) F(1,1,1,0) F(1,1,1,1) (a) (b) (c) Tabla 17. Mapa de cuatro variables

Por ejemplo, la celda m9 corresponde al mintérmino 9, ubicado en la fila 10 y la columna 01. La unión de estos dos números da el número 1001, cuyo equivalente es el término A·B’·C’·D -ó el decimal 9.

La minimización por medio de un mapa de 4 variables se puede efectuar con las celdas adyacentes entre sí y las celdas de los bordes que se pueden concatenar para reducir la expresión. Por ejemplo, m13 y m15 son celdas adyacentes así como m0, m8, m2 y m10.

edu.red

Diseño Digital para Ingeniería 44 El mapa se construye colocando un 1 en las celdas correspondientes a los mintérminos presentes en la función de salida. Por ejemplo, para el término F(1,1,0,0)= A·B·C’·D’ = 1 se situaría un 1 en la celda 1100. Para los mintérminos no presentes en la función se pone un 0. Por ejemplo el término F(1,1,1,1)= A·B·C·D = 0, será una celda con valor 0 en la celda 1111.

Igual que en el mapa de 3 variables, se procede con la agrupación de 1s, la determinación del término producto correspondiente a cada grupo y la suma de los términos producto obtenido.

Las reglas para reducir términos en un mapa de Karnaugh de 4 variables son las siguientes:

1. Una celda representa un mintérmino, dando como resultado un término de cuatro literales.

2. Dos celdas agrupadas pueden representar la asociación de dos mintérminos, dando como resultado un término de tres literales.

3. Cuatro celdas agrupadas pueden representar la asociación de cuatro mintérminos, dando como resultado un término de dos literales.

4. Ocho celdas agrupadas pueden representar la asociación de ocho mintérminos, dando como resultado un término de un literal.

5. Dieciséis celdas agrupadas pueden representan un valor de función igual a 1.

Ejemplo Simplíquese la función de Boole F2= ? (m1, m3, m8, m10, m12, m14) Figura 33. Mapa de Karnaugh de la función F2.

El primer grupo se forma con los mintérminos m1 y m3 y el segundo grupo se forma con los mintérminos m8, m10 y m12, m14.

Del primer grupo resulta el término A’·B’·D ya que en la columna 1 no se presentan cambios para las variables A y B y se presenta transición en la variable C en las columnas 2 y 3. El segundo grupo da como resultado el término A·D’. La razón radica en la simplificación de la variable B en la tercera y cuarta fila y en la variable C en la primera y cuarta columna.

Sumando los mintérminos obtenidos se obtiene la ecuación simplificada: F2 = A’·B’·D + A·D’

edu.red

Diseño Digital para Ingeniería 45 Mapas de Karnaugh empleando Producto de Sumas (PDS)

La simplificación de expresiones lógicas mediante el mapa de Karnaugh también es posible mediante el método de producto de sumas. En este método, cada celda representa un maxtérmino.

La construcción del mapa es similar a la suma de productos. La diferencia radica en que cada celda representa un maxtérmino. Por ejemplo, la celda m2corresponde al maxtérmino 2, ubicado en la fila 0 y la columna 10. La unión de estos dos números da el número 010, cuyo equivalente es el término A+B’+C. La figura 34. Muestra el mapa de Karnaugh para 3 variables. Figura 34. Mapa de tres variables.

La representación de la función lógica se hace simplemente copiando los ceros de la tabla de verdad en las celdas del mapa. Este método es más apropiado cuando en la columna de resultados de la tabla de verdad predominan los ceros.

Ejemplo Utilizar el mapa de Karnaugh para minimizar el producto de sumas,

F3 = (A+B+C)·(A’+B+C)·(A+B’+C)·(A’+B’+C)

Los maxtérminos se trasladan a cada una de las celdas del mapa de Karnaugh y las celdas se agrupan tal como en la figura 35. Figura 35. Mapa de Karnaugh de la función F3

El término suma para cada grupo se muestra en la figura y la suma de productos resultante es:

F3 = C

Ejemplo Utilizar el mapa de Karnaugh para minimizar el producto de sumas,

F4 = (A+B+C+D)·(A+B’+C)·(A+B’+C’+D’)·(A’+B’+C+D’)·(A’+’B+C’+D’)·(A’+B+C+D’)·(A’+B+C’+D’)·(A’+B'+C+D’)

edu.red

Diseño Digital para Ingeniería 46 El segundo término tiene que ampliarse a (A+B’+C+D)·(A+B’+C+D’). La función completa se pasa al mapa de karnaugh mostrado en la figura 36. Figura 36. Mapa de Karnaugh de la función F4

El término suma para cada grupo se muestra en la figura 2.4.5. y el producto de sumas resultante es:

F4= (A+C+D)·(B'+D')·(A'+D')

Condiciones de No Importa

Hasta el momento se ha asumido que la función es igual a 0 en los casos donde la función no es igual a 1. En algunas aplicaciones esta suposición no es siempre verdadera ya que existen combinaciones de entrada que no presentan. En un mapa de Karnaugh estas combinaciones de entrada sirven de herramienta para simplificar la función y su representación se hace por medio de una X en la celda del mapa. Según la agrupación que convenga se asume un valor de 1 ó 0 para la X con el fin de obtener la expresión más simple.

Ejemplo

Simplificar la función de Boole F5 = S (m0, m4, m7, m9) con condiciones de importa,

NI = S (m1, m5, m11, m14).

Los mintérminos se marcan con un 1, las condiciones de no importa con una X y las celdas restantes con 0.

El mapa de Karnaugh de la función F5 se muestra en la figura 37.

edu.red

Diseño Digital para Ingeniería 47 Figura 37. Mapa de Karnaugh de la función F5

En suma de productos obtenemos, F5 = A’·C’·D’ + A'·B’·C’ + A’·B·C·D + A·B'·D

d. Algoritmo de Quine – McCluskey

El empleo del mapa de Karnaugh es conveniente cuando la función a minimizar no contiene más de cinco o seis variables. En estos casos, empleamos un procedimiento sistemático, llamado el algoritmo de Quine–McCluskey, el cual produce una expresión normalizada y simplificada. El algoritmo debe obedecer a un conjunto de pasos que se verán a través de un ejemplo.

Ejemplo Simplificar la función de Boole usando el algoritmo de Quine-McCluskey.

F1 = ? (m1, m2, m3, m6, m7, m8, m9, m10, m15) F1 = A’·B’·C’·D + A’·B’·C·D’+ A’·B’·C·D + A’·B·C·D’+ A’·B·C·D + A·B’·C’·D’ + A·B’·C’·D + A·B’·C·D’+ A·B·C·D. 1. Enumerar en una tabla todos los mintérminos en forma binaria, organizados según el número de unos que contenga. La aplicación de este paso se muestra en la tabla 18. Tabla 18. Mintérminos agrupados según la cantidad de unos

edu.red

Diseño Digital para Ingeniería 48 2. Entre los grupos adyacentes buscar los mintérminos que sólo difieren en un bit en la misma posición, para hallar los primeros implicantes primos.

La metodología consiste en comparar el primer mintérmino con el resto de los términos del segundo grupo. Así, los términos del segundo grupo se comparan con los mintérminos del grupo siguiente. De la forma anterior, se procede con los demás mintérminos de los demás grupos. Los mintérminos utilizados se les pone una marca (v ) con el fin de ir diferenciando los términos utilizados y la variable apareada en el proceso se reemplaza con un guión para denotar la eliminación de la variable. Los términos no marcados en la tabla son los primeros implicantes primos (PIX). Los mintérminos utilizados se les pone una marca (v ) con el fin de ir diferenciando los términos utilizados y la variable apareada en el proceso anterior se reemplaza con un guión para denotar la eliminación de la variable. Mintérmino A B C D Mintérmino A B C D PIx Mintérmino A B C D PIx 1 v 0 0 0 1 1–3 0 0 – 1 PI2 2–6 – 3-7 0 – 1 – PI1 2-3 – 6-7 0 – 1 – 2 v 8 v 3 v 6 v 9 v 10 v 7 v 15 v 0 1 0 0 1 1 0 1 0 0 0 1 0 0 1 1 1 0 1 1 0 1 1 1 0 0 1 0 1 0 1 1 1–9 – 0 0 1 PI3 2–3 v 0 0 1 – 2–6 v 0 – 1 0 2–10 – 0 1 0 PI4 8–9 1 0 0 – PI5 8-10 1 0 – 0 PI6 3–7 v 0 – 1 1 6–7 v 0 1 1 – 7-15 – 1 1 1 PI7

Tabla 19. Implicantes primos de la función F1

3. Construir una tabla que enumere los implicantes primos y los mintérminos contenidos por cada implicante primo. La letra X en la tabla 20 indica el mintérmino contenido en cada implicado por fila. Por ejemplo, en la tabla se observa en el primer renglón los mintérminos 2, 3, 6 y 7 para el primer implicante primo. El resto de la tabla se construye de forma similar. Implicante Primo * PI1 1 2 3 6 7 8 9 10 15

XXXX PI2 X X PI3 X X PI4 X X PI5 PI6 XX X X * PI7 X X Tabla 20. Selección de implicantes primos esenciales

edu.red

Diseño Digital para Ingeniería 49 En la tabla se seleccionan las columnas de los mintérminos que contengan solamente una cruz. En este ejemplo, hay dos mintérminos cuyas columnas tienen una sola cruz: 6 y 15. Es decir, la selección del primer implicado PI1 (A’·C) garantiza que el término mínimo 6 está incluido en la función. De la misma forma, el término mínimo 7 está cubierto por el primer implicado PI7 (A'·B·C·D). Los primeros implicados que cubren los mintérminos con una sola cruz, se llaman primeros implicados esenciales (en la tabla se encuentran marcados con un asterisco) y son indispensables en la construcción de la función.

4. Seleccionar en cada columna los mintérminos que estén cubiertos por los primeros implicados esenciales. Por ejemplo, el primer implicado esencial * PI1 (A’·C) cubre los mintérminos 2, 3, 6 y 7. De la misma forma, el primer implicado esencial *PI7 (A'·B·C·D) cubre los mintérminos 7 y 15. Hasta el momento la selección de primeros implicados cubre los mintérminos 2, 3, 6, 7 y 15 excepto 1, 8, 9 y 10. Estos términos mínimos deben ser seleccionados por medio de otros primeros implicados esenciales. En la tabla 2.5., la selección de los primeros implicados PI3 y PI6 garantiza el cubrimiento de los términos mínimos 1, 8, 9 y 10. En la tabla 21 se muestra el proceso de selección. Tabla 21. Selección de primeros implicados esenciales

La función simplificada se obtiene de la suma de los primeros implicados hallados:

F= PI1 + PI3+PI6+ PI7

F= (0-1-) + (-001) + (10-0) + (-111)

F = A'·C + B’·C’·D + A·B’·D’ + B·C·D

edu.red

Diseño Digital para Ingeniería 50 3. Circuitos Lógicos Combinacionales Los circuitos lógicos se dividen en combinacionales y secuenciales. Los circuitos combinacionales consisten en variables de entrada, compuertas lógicas y variables de salida que cumplen funciones intermedias de mediana escala de integración. El nivel de complejidad de los sistemas combinacionales puede llegar al caso de millones de entradas, dispositivos, interconexiones y salidas. La comprensión de estos circuitos se hace por medio de la división en subsistemas o estructuras más simples. Hay esencialmente tres tipos de funciones en el diseño de circuitos lógicos combinacionales: a. Funciones aritmético lógicas (ALU): Encargados de realizar operaciones locales entre dos datos de n bits. (Sumadores, restadores, multiplicadores y operaciones lógicas bit a bit). b. Funciones de ruta de datos: Guían el tráfico de datos e instrucciones entre las distintas partes de un sistema de cálculo (de memoria a unidad aritmética, etc,..). Su clave es el carácter controlado del movimiento a través de compuertas que se abren o cierran de forma sincrónica, en general, de acuerdo con pulsos de un reloj. (multiplexores, demultiplexores). c. Circuitos cambiadores de código: Para cada tipo de proceso existe una representación digital de la información que es más adecuada que otras. Su ejemplo más general es el de las memorias de solo lectura (ROM), que son en realidad circuitos que sintetizan funciones múltiples de forma que cada bit de la palabra de salida puede ser una función lógica cualquiera de todos los bits de entrada. 3.1. Circuitos Aritméticos El diseño de sistemas digitales involucra el manejo de operaciones aritméticas. A continuación se implementarán los circuitos de suma y resta de números binarios. La suma o adición binaria es análoga a la de los números decimales. La diferencia radica en que en los números binarios se produce un acarreo (carry) cuando la suma excede de uno mientras en decimal se produce un acarreo cuando la suma excede de nueve(9). Del gráfico de la figura 1 podemos sacar las siguientes conclusiones: 1. Los números o sumandos se suman en paralelo o en columnas, colocando un número encima del otro. Todos los números bajo la misma columna tienen el mismo valor posicional. 2. 2. El orden de ubicación de los números no importa (propiedad conmutativa). En la figura 38 se indican las reglas que rigen la suma binaria y en la figura 40 se muestra un circuito lógico llamado semisumador, que suma 2 bits (A y B) que genera un bit de suma y un bit de acarreo cuando este se produce.

edu.red

Diseño Digital para Ingeniería 51 Figura 38. Reglas para la suma binaria

La resta o sustracción de números binarios es similar a los números decimales. La diferencia radica en que, en binario, cuando el minuendo es menor que el sustraendo, se produce un préstamo o borrow de 2, mientras que en decimal se produce un préstamo de 10.

Al igual que en la suma, el proceso de resta binaria, se inicia en la columna correspondiente a la de los dígitos menos significativos. En la figura 39 se indican las reglas que rigen la resta binaria. Figura 39. Reglas para la resta binaria

Semisumador: La operación de un Semisumador conforme a las reglas de la suma binaria mostradas en la figura 38 se puede sintetizar mediante las siguientes 2 operaciones booleanas:

?=A(xor)B (suma) Co=A·B (acarreo)

Para realizar una suma binaria donde se tenga presente un carry de entrada se debe implementar un circuito que tenga presente esta nueva variante; como es el caso del sumador completo (Figura 42).

El bit de suma ? es 1, sólo si las variables A y B son distintas. El bit de acarreo Co es 0 a no ser que ambas entradas sean 1. Por consiguiente, la salida S puede expresarse en términos de la operación EXOR: ? = A’·B + A·B’ = A ? B Figura 40. Símbolo y Circuito Lógico Semisumador

edu.red

Diseño Digital para Ingeniería 52

Sumador Completo: El sumador completo acepta dos bits y un acarreo de entrada y genera una suma de salida junto con el acarreo de salida. El sumador completo tiene 3 entradas que se suman y son: A, B, y Cin (entrada de arrastre), y las salidas habituales ? y Co (suma y salida de arrastre)

La tabla 22 muestra la tabla de verdad del sumador completo. Las entradas A, B y Cin denotan al primer sumando, el segundo sumando y el acarreo de entrada. Las salidas S y Cout representan a la suma y el acarreo de salida. Tabla 22. Tabla de Verdad del Sumador Completo

? = A·B’·Cin’ + A’·B·Cin’ + A·B·Cin + A’·B’·Cin

? = Cin’·(A·B’ + A’·B) + Cin·(A·B + A’·B’)

?= Cin’·(A·B’ + A’·B) + Cin·(A’·A + A’·B’ + A·B + B·B’)

? = Cin’·(A·B’ + A’·B) + Cin·((A’ + B)·(A + B’))

? = Cin’·(A·B’ + A’·B) + Cin·((A·B’)’·(A’·B)’)

?= Cin’·(A·B’ + A’·B) + Cin·(A·B’ + A’·B)’

? = (A ? B) ? Cin

El mapa de karnaugh de la salida Cout se muestra en la figura 41.

edu.red

Diseño Digital para Ingeniería 53 Figura 41. Mapa para la salida Cout de un Sumador Completo.

La salida Cout está dada por:

Cout = A·B + A·Cin+ B·Cin Figura 42. Símbolo y Circuito Lógico Sumador Completo

Semirrestador: La operación de un Semirrestador como el mostrado en la figura 43 se puede resumir mediante las ecuaciones booleanas:

Di=A·B(neg)+A(neg)·B= A(xor)B (diferencia) Bi=A(neg).B (borrow)

El circuito tiene dos entradas binarias y dos salidas. La figura 43 muestra el símbolo lógico y el circuito las entradas son A(minuendo) y B(sustraendo) y la salida Di corresponde a la diferencia y Bo al préstamo de salida. Figura 43. Símbolo y Circuito Lógico Semirrestador

Si A= B, existen tres posibilidades 0-0=0, 1-0=0 y 1—1=1. El resultado es el bit de diferencia Di. Si Aedu.red"/ br Diseño Digital para Ingeniería 54

La salida Di coincide con la operación EXOR y se puede expresar de la siguiente forma:

Di = A’·B + A·B’

La salida Bo está dada por la suma de productos de los términos presentes en el renglón 2 de la tabla de verdad:

Bo = A’·B

Restador Completo

El Restador completo realiza la resta entre dos bits, considerando que se ha prestado un 1 de un estado menos significativo. En la tabla 24 las entradas A, B y C denotan el minuendo, el sustraendo y el bit prestado. Las salidas Di y Bo representan a la diferencia y el préstamo. Tabla 24. Tabla de verdad del Restador Completo.

En las combinaciones del mapa donde C=0, se tienen las mismas condiciones para el semisumador.

La función de la salida Di de un restador es la misma que la salida de un sumador completo:

D = A’·B’·C + A’·B·C’ + A·B’·C’ + A·B·C = (A ? B) ? Cin

El mapa de karnaugh de la salida Bo se muestra en la figura 44. br img src="Diapositiva52.png" alt="Monografias.com"/ br Diseño Digital para Ingeniería 55 Figura 44. Mapa para la salida Bo de un restador completo

La salida Bo está dada por:

P = A’·B + A’·C + B·C

El símbolo y circuito lògico se muestra en la figura 45. Figura 45. Símbolo y Circuito Lógico Restador Completo br img src="Diapositiva53.png" alt="edu.red"/ br Diseño Digital para Ingeniería 56

Sumador y Restador de Cuatro Bits

Las operaciones aritméticas se pueden implementar mediante circuitos lógicos. El nivel de sencillez obtenido en los circuitos está dado por la técnica de diseño utilizada. La implementación de una unidad aritmética que realice las operaciones de suma y resta en un sólo circuito, es más simple comparándola con una de dos circuitos para las mismas funciones.

La suma de dos números binarios de cuatro bits se realiza de derecha a izquierda, teniendo en cuenta las correspondientes posiciones significativas y el bit de arrastre (acarreo Cinx). El bit de arrastre generado en cada posición se utiliza en la siguiente posición significativa. La figura 46 muestra la suma de dos números de cuatro bits. Figura 46. Suma binaria de cuatro bits

En un sumador completo, la suma de un par de bits genera un bit de acarreo. Un sumador de 2 números de n bits se puede implementar de la forma descrita a continuación. Los bits de la posición menos significativa se suman con un acarreo inicial de 0, generando el bit de suma y el de acarreo. El bit de acarreo generado es usado por el par de dígitos en la siguiente posición significativa. La suma se propaga de derecha a izquierda según los acarreos generados en cada sumador y los sumandos presentes. Por consiguiente, la suma de dos 2 números binarios de n bits se puede implementar mediante la utilización de n sumadores completos. Así, para números binarios de dos bits se necesitan dos sumadores completos; para números de cuatro bits cuatro sumadores. En la figura 47 se muestra un sumador de cuatro bits. Figura 47. Símbolo lógico del sumador en paralelo de cuatro bits

El símbolo lógico del sumador de cuatro bits se muestra en la figura 48. br img src="Diapositiva54.png" alt="edu.red"/ br Diseño Digital para Ingeniería 57 Figura 48. Circuito lógico del sumador en paralelo de cuatro bits

Un sumador se puede modificar en forma de sustractor invirtiendo cada bit del sustraendo y sumando 1 al establecer un acarreo de entrada Cin1.

Observese el complementador de la figura 49. Si la entrada de control es igual a S=0, la entrada de datos I pasa sin ningún cambio a la salida. Si S=1, la entrada de datos se complementa. Figura 49. Diagrama de bloque de un complementador

El funcionamiento de este elemento se describe en la tabla de verdad 25. Tabla 25.Tabla de verdad de un complementador

De la tabla de verdad se observa que Y = S ? I. La figura 50 muestra la función EXOR como complementador. br img src="Diapositiva55.png" alt="edu.red"/ br Diseño Digital para Ingeniería 58

Figura 50. Función EXOR como complementador

Una sola entrada de control S con n líneas de entrada de datos Ii sirve para complementar o no complementar la entrada, según la operación de resta o suma binaria. La figura 51 ilustra un complementador de 4 bits. Figura 51. Complementador de 4 bits

El circuito completo de un sumador/restador de 4 bits se representa en la figura 52. Figura 52. Sumador/restador de 4 bits Sumador en BCD br img src="Diapositiva56.png" alt="edu.red"/ br Diseño Digital para Ingeniería 59

La suma en código BCD utiliza las mismas reglas de la suma binaria vistas en la figura 38 Si una suma de dos números es menor o igual que 9, el número BCD resultante es válido. Si la suma es mayor que 9, o si se genera un acarreo el resultado no es válido. En este caso, se suma el número binario 0110 para pasar de nuevo al código BCD. Si se genera acarreo al sumar 0110, éste se suma al siguiente grupo de 4 bits. En los siguientes ejemplos se verán los casos que se pueden presentar.

Ejemplo Sumar los números 01000101 (45)10 y 00010010(12)10.

La suma de la figura 53 no genera acarreos. Figura 53. Suma BCD sin acarreo.

Ejemplo Sumar los números 00111001(39)10 y 01010110(56)10.

La suma de los cuatro bits menos significativos de la figura 54 genera acarreo. Figura 54. Suma BCD con acarreo en el dígito BCD menos significativo

Ejemplo Sumar los números 01111001(79)10 y 00110101(35)10.

La suma de dígito BCD menos significativo de la figura 55 genera acarreo, al igual que el segundo dígito BCD. Figura 55. Suma BCD con acarreo en dos dígitos br img src="Diapositiva57.png" alt="edu.red"/ br Diseño Digital para Ingeniería 60

Un sumador BCD es un circuito que suma dos dígitos en BCD. En una suma BCD, la suma 9+9+1=19 es el valor máximo resultante, siendo el 1 en la suma el acarreo de entrada. Los dígitos BCD con un acarreo de entrada, se agregan en un sumador binario de cuatro bits para producir la suma binaria. Los números decimales se listan en la tabla 3.11.1. C1 es el acarreo de la suma de los números A y B de entrada (ver figura 56) y los dígitos S1 a S4 son el resultado de la suma binaria, donde cada dígito tiene los pesos 8, 4, 2, 1 del código BCD. Cuando la suma binaria es menor o igual a 1001, no se agrega nada a la suma. Cuando el número binario es mayor que 1001 se obtiene una representación en código BCD no válida. La suma del número binario 0110 a la suma binaria convierte la representación a un código BCD válido. En la figura la suma del número 0110 se realiza por medio de un segundo sumador inferior. Este código BCD válido se observa en la tabla 3.11.1 en la columna de suma BCD. Las salidas S5 a S8 representan la suma BCD. C2 es el acarreo de salida de la suma BCD. Decimal Suma Binaria Suma BCD C1 S4 S3 S2 S1 C2 S8 S7 S6 S5 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 0 0 1 Tabla 26. Tabla de verdad del Sumador BCD.

El circuito necesario para detectar la condición de acarreo o suma binaria mayor a 1001 se obtiene de la tabla de verdad. Cuando C1 es 1 se necesita sumar 0110 o una correción. Lo mismo entre las combinaciones 1010 y 1111, se tiene una corrección cuando S2=S4=1 ó S3=S4=1. La expresión lógica de la corrección es: br img src="Diapositiva58.png" alt="edu.red"/ br Diseño Digital para Ingeniería 61

C2= C1+ S3·S4 + S4·S2

El circuito lógico necesario para implementar el sumador BCD se muestra en la figura 56 Figura 56. Diagrama de bloques de un sumador BCD

Unidad Aritmética y Lógica (ALU)

Una unidad aritmética lógica puede realizar un conjunto de operaciones aritméticas básicas y un conjunto de operaciones lógicas, a través de líneas de selección. En inglés ALU significa Arithmetic Logic Unit (Unidad Aritmética Lógica). La figura 57. Muestra el diagrama de bloques de una ALU. Figura 57. Diagrama de bloques de una ALU br img src="Diapositiva59.png" alt="edu.red"/ br Diseño Digital para Ingeniería 62

Las cuatro entradas de A se combinan con las de B generando una operación de salida de cuatro bits en F. La entrada de selección de modo S2 distingue entre las operaciones aritméticas y lógicas. Las entradas de selección S0 y S1 determinan la operación aritmética o lógica. Con las entradas S0 y S1 se pueden elegir cuatro operaciones aritméticas (con S2 en un estado) y cuatro lógicas (con S2 en otro estado). Los acarreos de entrada y salida tienen sentido únicamente en las operaciones aritméticas. El diseño de una ALU implica el diseño de la sección aritmética, la sección lógica y la modificación de la sección aritmética para realizar las operaciones aritméticas y lógicas.

Sección Lógica

Los datos de entrada en una operación lógica son manipulados en forma separada y los bits son tratados como variables binarias. En la tabla 27 se listan cuatro operaciones lógicas OR, EXOR, AND y NOT. En el circuito, las dos líneas de selección (S1, S0) permiten seleccionar una de las compuertas de entrada, correspondientes a la función Fi. Tabla 27. Tabla de Función Lógica.

El circuito lógico de la figura 58 es una etapa de un circuito lógico de n bits. Figura 58. Diagrama lógico de un circuito lógico de una ALU

Sección Aritmética

El componente básico de la sección aritmética es un sumador en paralelo (ver figura 47). Las operaciones aritméticas configuradas en el circuito aritmético se presentan en la tabla br img src="Diapositiva60.png" alt="edu.red"/ br Diseño Digital para Ingeniería 63

28. En una ALU, la suma aritmética se puede implementar con un número binario en A, otro número en la entrada B y el acarreo de entrada Cin en un valor lógico 0. El resto de las funciones se enuncian en la columna descripción. Tabla 28. Tabla de la Función F en un Circuito Aritmético

La implementación de las funciones anteriores por medio de un circuito lógico sencillo se describe a continuación. El circuito se diseña bajo el precepto de intervenir cada entrada Bi para obtener las siguientes funciones: Tabla 29. Tabla del circuito para la entrada Bi

La figura 59 muestra el circuito. Figura 59. Circuito para la tabla 29.

Por medio de estas funciones se pueden lograr las funciones de la tabla 28 al agregar el número Ni (tabla 29) a la entrada A, a través de un sumador en paralelo para cada etapa, teniendo en cuenta el valor de la entrada Cin. El circuito combinacional aritmético se muestra en la figura 60, la entrada A se denomina Mi en el sumador completo. br img src="Diapositiva61.png" alt="edu.red"/ br Diseño Digital para Ingeniería 64 Figura 60. Circuito aritmético

Diseño de una Unidad Aritmética Lógica: se deben seguir los siguientes pasos:

1. Diseñar la sección aritmética independientemente de la sección lógica. 2. Determinar las operaciones lógicas del circuito aritmético, asumiendo que los acarreos de salida de todas las etapas son 0. 3. Modificar el circuito aritmético para obtener las operaciones lógicas requeridas.

El diseño simple de una ALU se hace utilizando el sumador completo para generar las operaciones lógicas de la unidad. Por lo tanto es necesario introducir una variable de control adicional (S2), con el fin de seleccionar entre las operaciones lógicas y aritméticas. En este diseño, un valor S2 = 1 hace que el circuito efectúe operaciones lógicas. Recordando la salida de un sumador completo:

F = (Ai ? Bi) ? Cin

A partir de esta ecuación, es posible obtener la función lógica requerida, utilizando la debida manipulación lógica. La función requerida se expone en la tabla 30. Tabla 30. Tabla de obtención de las funciones lógicas con un sumador completo br img src="Diapositiva62.png" alt="edu.red"/ br Diseño Digital para Ingeniería 65

Partiendo de la tabla 30, las entradas Mi, Ni y Cini en un sumador completo, son equivalentes a las siguientes expresiones:

Mi = Ai + S2·S1'·S0'·Bi + S2·S1·S0'·Bi'

Ni = S0·Bi + S1·Bi'

Cini = S2'·Ci

La figura 61 muestra el diagrama de la unidad aritmética lógica de dos etapas. Figura 61. Diagrama lógico de una ALU

Las doce operaciones generadas en el ALU se resumen en la tabla 31, la función en particular se selecciona a través de S2, S1, S0 y Cin. Las operaciones aritméticas son las mismas del circuito aritmético. br img src="Diapositiva63.png" alt="edu.red"/ br Diseño Digital para Ingeniería 66 Tabla 31. Tabla de verdad de una ALU

Multiplicador Combinatorio

Un multiplicador combinatorio permite realizar la operación de multiplicación mediante circuitos combinacionales. Como ejemplo, un circuito construido para este propósito es un multiplicador combinacional paralelo de 4 bits, mostrado en la figura 62. Este multiplicador está constituido internamente por circuitos sumadores completos, que a su vez internamente están diseñados a nivel de puertas lógicas. En el primer nivel de compuertas de la figura se obtienen las operaciones A0B0, A1B0, A2B0 y A3B0. En el segundo nivel de compuertas, las operaciones A0B1, A1B1, A2B1 y A3B1. En el tercero, las operaciones A0B2, A1B2, A2B2 y A3B2 y en el cuarto A0B3, A1B3, A2B3 y A3B3. Por ejemplo, A0B0 es directamente el resultado P0. El dígito P3, se obtiene de la suma de los bits de entrada a los sumadores S3, S6, S9 y el bit A3B0. La figura 62 recuerda el proceso de multiplicación de dos números de cuatro bits. Figura 62. Multiplicación de dos números de cuatro bits br img src="Diapositiva64.png" alt="edu.red"/ br Diseño Digital para Ingeniería 67 Figura 63. Circuito lógico del multiplicador combinatorio

3.2. Decodificadores:

Un decodificador es un circuito lógico cuya función es indicar la presencia de cierto código en sus líneas de entrada con un nivel predeterminado a la salida. El procedimiento consiste en interpretar el código de n líneas de entrada con el fin de activar un máximo de 2n líneas a la salida. Si el código de entrada tiene combinaciones no usadas o de no importa, la salida tendrá menos de 2n salidas. La característica predominante en los decodificadores es un mayor número de salidas con respecto al número de entradas.

n Entradas ——[ n x 2n]—– 2n salidas br img src="Diapositiva65.png" alt="edu.red"/ br Diseño Digital para Ingeniería 68 Figura 64. Diagrama de bloques de un Decodificador n x 2n.

Decodificador de 2 a 4 líneas (2 bits)

El Decodificador de 2 a 4 líneas tiene 2 líneas de entrada y 4 líneas de salida. En la tabla 32 las entradas del decodificador son I0 e I1 y

Partes: 1, 2, 3

 Página anterior Volver al principio del trabajoPágina siguiente