Circuitos Aritméticos

12
Circuitos Aritméticos Introducción Los circuitos integrados más representativos para la realización de operaciones aritméticas básicas tales como la suma y la comparación. Adicionalmente, se analiza una ALU en circuito integrado con la cual se pueden llevar a cabo una variedad de operaciones de lógica y aritmética. La forma mas simple de realizar una operación aritmética electrónicamente, es usando un circuito llamado semi-sumado (Haft Adder). Este dispositivo permite que sean aplicados 2 bits de entradas (A,B) para producir dos salidas: uno correspondiente a resultado de la suma (S) y la otra correspondiente a acarreo (C) según se muestra en la tabla Nº1. A B S C 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 TABLA Nº1. Tabla de Verdad el circuito semi-sumador Como se puede notar, la salido S es el resultado de una EX-OR entre A y B como entradas: por otro lado C es el resultado de una AND entre las mismas entradas. En la figura Nº1 se muestra el circuito de semi-sumador. Este semi-sumador presenta la limitación de que no posee uno entrada para el acarreo de la etapa previa, en caso de que desee sumar mas de 2 bits. Se debe recurrir entonces a

Transcript of Circuitos Aritméticos

Circuitos Aritméticos

Introducción Los circuitos integrados más representativos para la realización de operaciones aritméticas básicas tales como la suma y la comparación. Adicionalmente, se analiza una ALU en circuito integrado con la cual se pueden llevar a cabo una variedad de operaciones de lógica y aritmética.

La forma mas simple de realizar una operación aritmética electrónicamente, es usando un circuito llamado semi-sumado (Haft Adder). Este dispositivo permite que sean aplicados 2 bits de entradas (A,B) para producir dos salidas: uno correspondiente a resultado de la suma (S) y la otra correspondiente a acarreo (C) según se muestra en la tabla Nº1.

A B S C

0 0 0 0

0 1 1 0

1 0 1 0

1 1 0 1

TABLA Nº1. Tabla de Verdad el circuito semi-sumador

 

Como se puede notar, la salido S es el resultado de una EX-OR entre A y B como entradas: por otro lado C es el resultado de una AND entre las mismas entradas. En la figura Nº1 se muestra el circuito de semi-sumador. Este semi-sumador presenta la limitación de que no posee uno entrada para el acarreo de la etapa previa, en caso de que desee sumar mas de 2 bits. Se debe recurrir entonces a sumador total b sumador completo (Full Adder). Este tipo de circuito acepta 3 bits de entrada por separado, llamados sumando, consumando y acarreo de entrada A, B y Cin respectivamente, mientras que las salidas son S y Cout.

Figura Nº1. El semisumador

 

Sumadores binarios de 4 bits:Las operaciones aritméticas se presentan con tal frecuencia que se han desarrollado un número de circuitos integrados especiales para llevarlas a cabo. El 74LS283 es un buen exponente de esta clase de dispositivos, siendo, en esencia, un sumador hexadecimal de 4 bits, Por lo tanto, acepta como entradas dos números de 4 bits de cada uno, A y B, y un bit de acarreo previo, CO. Los 4 bits correspondientes al número A se conectan a las entradas Al, A2, A3 y A4. Las cuatro entradas del dato B se conecta de manera similar. El sumador genera como resultado un número de 4 bits correspondientes a la suma de los dos datos, A y B, además de un bit de acarreo, C4. En la figura Nº2 se muestra la configuración de pines del 74LS283.

Figura Nº 2. Configuración de pines del 74LS283

La operación del circuito integrado puede describirse en forma resumida de la siguiente manera:

Si la suma de los dos datos de entrada más el acarreo previo arroja un resultado entre O y 15, la suma aparecerá en las salidas de suma y el bit de acarreo de salida, C4 se hace igual a cero.

Si el resultado de la suma se sitúa entre 16 y 31, el bit de acarreo C4 se pone en 1 y las salidas correspondientes a los bits de suma se hacen iguales al valor del resultado menos 16. Observe que en el su mador de 4 bits, el bit de acarreo resultante posee un peso binario igual a 16.

Ejemplo:

Suponga entradas a un sumador como el siguiente:A4A3A2A1= 01112 (716)B4B3B2B1 = 10102 (A16)CO=1En este caso, la suma de los tres datos de entrada, 0111 + 1010 + 1 resulta ser igual 18. De acuerdo a las reglas anteriores, se produce un bit de acarreo igual 1 y las salidas adoptan un valor de 2 (esto es, 18 menos 16). Por lo tanto, C4 = 1 y 4 3 2 1=0010. 

Sumadores en cascadaEs posible implementar sumadores para palabras de tamaño superiores a 4 bits si se disponen varios 74LS283 en cascada. Para el efecto, basta simplemente con conectar la salida C4 del sumador de menor peso a la entrada CO del sumador siguente. En la figura Nº 3 se muestra como se conectarían dos 74LS283 en cascada para con formar un sumador de 8 bits. Los dos sumadores se muestran recibiendo como datos a dos números binarios de 8 bits cada uno cuyos valores son: A=11001010, B = 11100111, CO=0. El resultado de la operación, mostrado también en la misma figura es 10110001 y C4= 1.+

 

Figura Nº 3. Configuración en cascada 74LS283

 

La operación de resta con el 74LS283El mismo circuito integrado descrito anteriormente puede ser utilizado para llevar a la práctica operaciones de resta. Más aún, tanto la suma como la resta son, desde el punto de vista digital, muy similares, por lo cual resulta fácil la implementarla de circuitos digitales que permitan seleccionar una u otra operación. En la figura Nº4 se muestra la forma como podría alambrarse, con la ayuda de 4 compuertas XOR auxiliares, un circuito sumador que permita, según la posición de un conmutador de selección, ejecutar la suma o la resta de dos datos binarios de 4 bits cada uno.

Figura Nº 4. Configuración 74LS283 como restador/sumador de 4 bits

Unidades de lógica y aritmética, ALULas ALU (Arithmetic Logic Units), o unidades de lógica y aritmética, son dispositivos muy versátiles que pueden programarse para llevar a cabo una gran variedad de operaciones aritméticas y lógicas entre dos palabras binarias. En la figura Nº 5 se muestra e! diagrama de pines de 74LS181, una ALU de 4 bits en tecnología TTL. Como se observa de la figura, el positivo consta de dos grupo líneas de entrada A3A2A1A0

y B3B2B1B0, un grupo líneas neas de salida F3F2F1F0, un grupo de líneas selectoras de función S3S2S1S0 una línea selectora de modo M, una entrada de acarreo previo Cn. una salida de acarreo resultante Cn+4, una salida de comparación A=B y dos salidas de expansión P,G. 

Figura Nº 5. Configuración de pines de una ALU 74LS181

Programando adecuadamente las líneas de selección, S3S2S1S0 y la de modo M junto con la de acarreo previo, Cn, IaALU puede ejecutar 16 operaciones lógicas y 32 operaciones aritméticas diferentes con los datos A=A3A2A1A0  B=B3B2B1B0. Estas operaciones, con sus respectivos códigos de selección, se relaciona en la tabla de la figura Nº 6. Se asume que tanto las entradas como las salidas son activas en alto.Para programar el dispositivo como generador de funciones lógicas, la entrada se- lectora de modo, M, debe estar a nivel alto. La operación lógica deseada se programa mediante un código de 4 bits de la forma S3S2SISO aplicado a las entradas selectoras de función. El estado de la entrada de acarreo Cn es indiferente por lo cual puede fijarse en cualquier nivel.Por ejemplo, para realizar la operación lógica A XOR B A=

1011 y B=000l, la línea M debe estar en 1 lógico y en las líneas S3S2S1S0 debe aplicarse el código 0110.

Cada bit de la palabra de salida F = F3F2F1F0 es el resultado de la operación XOR de cada bit de la palabra A con el correspondiente bit de la palabra B. Es decir, P3 =A3 XOR B3, F2 = A2 XOR B2 y así sucesivamente. Por tanto, F = 1010.Para programar la ALU como generadora de funciones aritméticas, la línea M debe llevarse a nivel bajo con el fin de habilitar los acarreos internos. La suma de A y B, por ejemplo, se realiza cuando el código de las entradas de se lección es 1001. La entrada de acarreo Cn es activa en bajo.Si la suma produce un acarreo de salida igual a 1, esté también será activo en bajo. La ALU utiliza un sistema interno de generación de acarreos conocido como carry look ahead (acarreo en adelanto), que no requiere que la suma sea calculada en su totalidad antes de establecer la naturaleza del acarreo resultante.

Figura Nº 6. Tabla de las funciones del 74LS181

 

La ALU 74LS381Muchas de las funciones disponibles en la 74LS181 son de poco valor práctico. En respuesta a esto, los fabricantes de ALUs han introducido al mercado el circuito integrado 74LS381, el cual implementa a una ALU un poco más pequeña y sencilla. En la figura Nº 7 se muestra su configuración de pines, la asignación de funciones de cada uno de ellos y su tabla de funciones. Observe que solo se dispone de tres líneas de selección y que no existe un pin de selección de modo, M, por lo cual este dispositivo solo puede desollarse ocho funciones en total. Estas corresponden a las operaciones aritméticas y lógicas de más frecuente uso.

Figura Nº 7. Configuración de pines, asignación de funciones y tabla de operación de una ALU 74LS381

Circuitos de Comparación BinariaUn comparador de magnitud es un circuito lógico, por lo general combinacional, que compara dos palabras binarias e informa, en líneas de salida independientes, cuándo la una es mayor, menor o igual que la otra. Un ejemplo clásico de este tipo de circuitos es el 74LS85.

Este dispositivo compara dos códigos binarios de 4 bits A y B aplicados en paralelo a las entradas A3A2A1A0 y B3B2B1B0 respectivamente, e indica en tres líneas de salida activas en alto sus magnitudes relativas. Es decir, cuándo A es mayor, menor o igual a B. En la figura Nº 8 se muestra su configuración de pines, su diagrama funcional y su tabla de verdad. Específicamente, la salida A>B, pin 5, se activa cuando A es mayor que B, la salida A=B cuando A es igual a B y la salida A<B cuando A es menor que B. Las salidas no activas permanecen en bajo. Por ejemplo, si A= 11012 (1310) y B = 01012 (510), se activa la Salida A>B, indicando que 1310 (A16) es mayor que 5 (B16).

Figura Nº 8. Configuración de pines, asignación de funciones y tabla de operación de 74LS85

El 74LS85 también cuenta con tres líneas de entrada adicionales que le permiten conectarse en cascada a unidades similares para comparar números de mayor longitud. Las entradas son A<B, pin 2, A=B, pin 3, y A>B, pin

4. En la figura Nº 9 se muestra la manera como se conectarían dos de estos.

Figura Nº 9. 74LS85 conectado en cascada

 

Conclusión

Dada la importancia de las operaciones aritméticas básicas en el diseño de circuitos digitales, se ha realizado un recuento de los principales circuitos integrados que las implementan. En particular, se examinaron los sumadores de 4 bits y la forma como pueden conectarse en cascada para aumentar el tamaño de los números procesados. Adicional- mente, se demostró el uso de sumadores que con una pequeña cantidad de lógica adicional permiten obtener fácilmente la operación de resta.Las ALUs, o unidades de lógica y aritmética, tan interesantes como versátiles, fueron introducidas mediante el análisis del circuito integrado 74LS181 que las representa bien. Sin embargo, para aplicaciones menos exigentes, se planteó la posibilidad de una implementación alterna a través de la 74LS381, que aunque menos poderosa que la 181, es mucho más sencilla de utilizar.Finalmente, el tema de los circuitos comparadores de magnitud se discutió en algún de talle a través de la explicación de la operación de un comparador de magnitud de 4 bits típico como es el 74LS85. La disponibilidad de pines de control adicionales en este dispositivo hace posible extender el proceso de comparación a números binarios de mayor tamaño, mediante el artificio de la conexión en cascada de tantos comparadores como sea necesario para alcanzar los objetivos planteados.