Circuitos Aritméticos 5

Descargar como doc, pdf o txt
Descargar como doc, pdf o txt
Está en la página 1de 14

CIRCUITOS ARITMÉTICOS

En la práctica anterior se comenzó a usar circuitos integrados de


mediana escala de integración MSI. En ésta práctica, se continuará con este
tipo de circuitos integrados (CI) pero capaces de realizar operaciones
aritméticas.

Un circuito sumador completo, es capaz de realizar la suma aritmética


de 2 números de 1 bit cada uno más un bit de acarreo inicial.
Fig-1

A S
B
SC
Ci Co

El circuito de la figura muestra un sumador completo de un bit y sus


salidas son

S=A(+)B(+)Ci  Suma.
Co=AB+AC+BCAcarreo.

Un sumador como el descrito es la unidad básica aritmética, para


incrementar la palabra a sumar, se utilizan diferentes esquemas, uno es el de
Sumadores Paralelos o de Acarreo Propagado. En este tipo de circuito se
conectan tantos sumadores completos como bit tenga la palabra a sumar. El
acarreo inicial del primer sumador ( el del bit menos significativo) se conecta
a 0 y el acarreo Co del i-ésimo sumador se conecta con el Ci del i+1 ésimo
sumador. El Problema de esta configuración es que el acarreo tarda un tiempo
considerable en generarse debido a que debe propagarse por cada uno de los
sumadores hacia el bit más significativo. Esta configuración puede utilizarce
para cualquier cantidad de bits, sin embargo, debido al arrastre de acarreo,
puede resultar impráctico desde el punto de vista de velocidad, cuando es
usado para palabras grandes.

Para evitar el problema de la propagación del acarreo, existe una técnica


llamada acarreo anticipado, la cual, como su nombre lo indica, es capaz de
anticipar el acarreo en la posición Ci del sumador sin nececidad de conocer el
valor del Ci-1. Los circuiotos integrados de la serie TTL como el 7483A y el
74LS283 están diseñados utilizando esta técnica para generar altas
velocidades.

Objetivos.

 Diseñar diferentes circuitos aritméticos.


 Usar circuitos integrados MSI.
 Usar técnicas de aritmética complementaria.

Preparación

1.- Diseñe un SUMADOR/RESTADOR de palabras de 4 bits. Utilice técnicas


de complemento a 2 para realizar la resta. Al circuito se le indicará a través de
una entrada “operación” si se desea sumar o restar.

Si Operación = 1  suma.
Si Operación = 0  resta.

Muestre el resultado y los operadores en visualizadores de 7 segmentos.

Para realizar la resta en complemento a dos, se debe complementar el


sustraendo y sumarlo con el minuendo. Para hacer el complemento a dos de un
número binario se complementan primero todos los bits de ese número y
luego, a ese resultado se le suma 1.

Para realizar el diseño se utilizó un 74LS83A, es cual es un sumador de


4 bits con entrada de acarreo C0 y salida de 4 bits más un acarreo final C 4. Para
realizar la suma se deben colocar a la entrada las palabras a sumar, para la
resta se debe colocar a la entrada el minuendo y el complemento a dos del
sustraendo. Para realizar el complemento a dos se utilizan compuertas EXOR
7486. Cada uno de los bits de entrada van a una de las entradas de la
compuerta, a la otra entrada de la compuerta se coloca la entrada de selección
Operación invertida, de manera que cuando Operación es 0 se invierte la
palabra de entrada. Para que el complemento a dos sea completo se debe
colocar la entrada Operación negada en la entrada C0 del 7483 para que
cuando se realice la resta, se suma 1 al complemento del sustraendo. El
circuito es el siguiente.

Para mostrar los resultados y los operandos en visualizadores de 7


segmentos, se utilizan CI 74LS47, los cuales son manejadores de Displays con
ánodo común, se deben usar 4 74LS47 con 4 Displays, los cuales son dos para
mostrar los valores de entrada de 4 bits (sumando/minuendo y
sumando/sustraendo), y dos para mostrar la salida del circuito.

2-. Diseñe un sumador para sumar números representados en BCD.


Utilice sumadores binarios (7483A). Explique detalladamente el algoritmo
empleado para la realización.

Como el código BCD incluye sólo los números del 0 al 9, si el de 4 bits,


el máximo valor que se puede obtener a la salida del circuito es 18. El
problema se presenta por querer que la salida sea BCD.

Para realizar la suma de los BCD, se utilizó el CI 7483A como se


indica en la práctica, pero la salida de este integrado es binaria, así que para
resultados mayores que 9, se debe hacer la conversión de binario a BCD. Esta
conversión se realiza sumando 6 (0110) a la salida al número binario que se
desea transformar a BCD (esto sólo es válido para números binarios
comprendidos entre 10 y 19, pero como el mayor resultado posible es 18
funciona perfectamente para este diseño). En el circuito se realiza la
comparación con 9 utilizando un CI 7485, el cual es un comparador de
palabras de 4 bits. A la entrada A del circuito se coloca la salida del sumador a
la entrada B del circuito se coloca el número 9 en binario (1001) de manera
que si la salida A>B del 7485 es alta (1 lógico) el resultado de la suma de los
BCD es mayor que 9 y se debe hacer la conversión de binario a BCD. Puede
suceder también que la salida A>B del circuito 7485 sea baja y el resultado de
la suma sea mayor que 9, esto sucede cuando existe acarreo generado, pero el
menor número que se puede producir si hay acarreo generado es el 16 (10000)
que es mayor que 9, así que la salida del circuito debe ser transformada de
binario a BCD siempre que la salida A>B del 7486 sea alta o Co en el 7483A
sea alta.

Una ves realizada la comparación con 9 se debe sumar el 0110, esto se


realiza colocando la salida del circuito 7483A a una de las palabras de entrada
de otro 7483A. La otra palabra de entrada del 7483A se debe colocar de la
siguiente manera, el primer y cuarto bit se deben colocar a tierra (0 lógico) y
el segundo y cuarto bit se deben colocar a la salida A>B del 7485 sumada a
través de una compuerta 7432 con la salida Co del primer 7483A, el circuito
es como se muestra a continuación.

3-. Repetir el punto 2 para números representados en le código BCD


exceso 3.

Este circuito es muy parecido al del punto anterior. Los números


codificados en exceso 3 se suman con un 7483A y la salida se coloca a un
7485 para compararla con el número 6 como en el punto anterior. La
diferencia radica en que para obtener salida exceso 3 a partir de un número
binario, se debe sumar 13 (1101) si éste es menor que 9. Esta condición viene
dada por la salida A<B del 7485 y por la condición explicada anteriormente de
que Co sea 0. El circuito es de la forma siguiente.

4-. Diseñe un circuito sumador completo como el representado en la


figura 1. Añada la circuitería necesaria para que, utilizando solamente esta
unidad, le permita sumar números de 8 bits.

Las entradas del circuito serán dos palabras de 8 bits, que llegarán de
manera paralela, serán convertidos a forma serial, luego pasarán por el
sumador completo de un bit y finalmente la salida será llevada de nuevo a
forma paralela.

Para llevar la salida de forma paralela a serial se utiliza un 74LS165 y


para llevar la salida de forma serial a paralela se utiliza un 74LS164, ambos
circuitos integrados serán explicados en forma más detallada mas adelante.

Las funciones de S y Co del sumador son las mostradas en la parte de la


introducción del informe y que se repiten a continuación por comodidad

S=A(+)B(+)Ci  Suma.
Co=AB+AC+BCAcarreo.

Un circuito que cumple con dichas funciones es el siguiente:


Como es de esperarse, el acarreo Co debe guardarse durante un pulso de
reloj, ya que el acarreo generado al sumar los bits n de la palabra de entrada,
es utilizado como entrada en el sumador para realizar la suma del bit n+1. Para
guardar el valor del bit de acarreo durante un pulso de reloj, se utiliza un Flip-
Flop tipo D cuyo reloj estará controlado por el mismo reloj del sistema.

Como la suma a realizar es de números de sólo 8 bits, se coloca un


contador con 7490 que cuente 8 pulsos de reloj y luego coloque en estado de
HOLD la salida del circuito, de esta manera para inicializar una nueva suma,
es necesario generar un pulso que produzca un RESET en el 7490 y que borre
la carga de los SHIFT-REGISTER.

El circuito es como se muestra a continuación.


Investigue :
 74LS164: El SN54/74LS164 es un Shift-Register de alta velocidad de 8
bits con entrada serial y salida paralelo. La entrada serial es a través de una
compuerta AND de dos entradas sincronizadas con la transición de alto a
bajo del reloj. El dispositivo contiene un Reset Maestro asíncrono el cual
borra el registro de todas las entradas independientemente de la posición
del reloj. Utiliza un diodo Schottky para proporcionar altas velocidades.
 74LS165: El SN54/74LS165 es un registro de 8 bits de carga paralela o
entrada serial con salidas complementarias disponibles para el último
estado. La entrada paralela ocurre de manera asíncrona cuando la entrada
de carga paralela (PL) es baja. Con PL en alto, la entrada serial ocurre en el
flanco de subida del reloj; los nuevos datos entran vía entrada de datos
serial (DS). Las dos entradas de reloj OR pueden ser usadas como para
combinar dos fuentes de reloj independientes, o una entrada puede actuar
como un habilitador de reloj activo en bajo.
 74LS166: El SN54/74LS166 es un Shift-Register de 8 bits. Diseñado con
bufers en todas las entradas, los requerimientos de manejo son bajados para
una carga estándar SN54/74LS. Debido a la utilización de diodos de
entrada, las transiciones de swuicheo son minimizadas y es minimizado el
sistema de diseño.
5-. Investigue sobre la unidad 74181, explique y muestre un circuito de
aplicación.

El 74181 es una unidad aritmética lógica de 4 bits que puede producir


todas las 16 operaciones lógicas posibles sobre dos variables y una
variedad de operaciones aritméticas; la suma y resta son los más
importantes.

Una operación sencilla para la que se podría utilizar el 74181 es para


hacer una extensión del circuito diseñado en la primera parte, ese circuito
solo es capaz de realizar las funciones A+B y A-B, con un 74181
podríamos añadir las funciones –A+B y –A-B de una manera sencilla.
Fijándonos en la tabla de la verdad del 74181 podemos observar que éste
puede realizar todas estas operaciones variando solamente las variables de
control, para cualquier valor de entrada A y B de 4 bits. Si extraemos una
parte de la tabla de la verdad del 74181 para realizar las operaciones que
aquí nos interesan tenemos:
Función M Cn S3 S2 S1 S0
A+B H L H L H H
A-B H L L H H H
-A+B H H H L L L
-A-B H L L H L L

Las restas serán realizadas en complemento a 1. Se supone que las entradas


Operación son mutuamente exclusivas, es decir, que no puede ocurrir mas
de una de ellas a la ves, así que las entradas de control del 74181 se pueden
generar usando compuertas OR a partir de las entradas Función del
circuito.

Las funciones de control que entran al 74181 son las siguientes:


 Cn=-A+B.
 S3=(A+B)+(-A+B).
 S2=(A-B)+(-A-B).
 S1=(A+B)+(A-B).
 S0=(A+B)+(A-B).
El circuito de aplicación es el siguiente:
Actividades de Laboratorio.

Se montaron los circuitos correspondientes a los puntos 1, 2, 3 y 4 de la


preparación teórica y los resultados obtenidos fueron los siguientes.

Para el circuito sumador/restador correspondiente al primer diseño, se


utilizó el circuito de la figura, el cual funciona para realizar las operaciones
A+B y A-B, utilizando para la selección el control OPERACIÓN tal que si
OPERACIÓN = 1 el circuito suma y si OPERACIÓN = 0 el circuito resta.
Este circuito realiza la resta en complemento a 2. La limitación de este
circuito corresponde al hecho de que sólo puede realizar el complemento a
dos de una de las dos palabras de entrada (a la palabra B) por lo que no
puede generar la función –A+B o la función –A-B.

Los sumadores de los incisos 2 y 3 son muy parecidos en cuanto a la


lógica de funcionamiento, por lo que montando uno, se puede generar el
otro por medio de unas pequeñas modificaciones. Por lo tanto se monto el
sumador de números representados BCD, el cual funcionó perfectamente, y
luego, para realizar el sumador de números representados en el código
BCD exceso 3 se realizaron las siguientes modificaciones: La salida del pin
5 del 7485 (A>B) se cambió a la salida del pin 7 del 7485 (A<B), la
función OR que sumaba la salida (A>B) del 74181 con el acarreo Co se
cambió por una función que produce un nivel alto si A<B o el acarreo es
igual a “0” lógico y, finalmente, la palabra de entrada que se utiliza para el
segundo 7483A es la palabra 1011 en caso de que se tenga que transformar
la palabra de salida en exceso tres nuevamente, esta palabra de (1011) se
toma de la función descrita anteriormente.

Para la visualización de ambos circuitos se utilizaron 5 diodos LEDs a


la salida del segundo 7483A, cuatro de ellos (los menos significativos)
muestran el primer número BCD y el quinto muestra el segundo número BCD,
que como la salida no puede ser mayor que 18, este segundo número BCD
será 0 o 1.

Para el último diseño, se utilizó un pulsador para inicializar el circuito,


tal que al pulsarlo genere 8 pulsos a la salida del reloj, suficientes para sumar
los ocho bits de salida del circuito, estos pulsos son contados con un 7490A.
Luego de generados los 8 pulsos el contador se autogenera un set, de esta
manera la suma queda fijada a la salida del Shift Register 74164 porque no se
generan mas pulsos de reloj.
Para la visualización de este circuito, se utilizan 9 diodos LEDs que
muestran la palabra de salida del 74164.

Preguntas

1-. Muestre un circuito lo más simple posible que le permita convertir


un número BCD a EX-3 o EX-3 a BCD. Ver figura

BCD o EX-3

Circuito

BCD -- EX-3

EX-3 – BCD

Un número se lleva de BCD a EX-3 sumando a dicho número el


número 3 (0011) y para llevar de EX-3 a BCD se realiza la operación inversa,
que es restar 3 a dicho número, si esta resta se realiza con exceso a dos,
entonces de debe sumar 1101 que es el complemento a dos de 0011 a la
palabra de entrada. El circuito se puede realizar con un sumador 7483A y el
selector se debe escoger de manera que elija que número se va a sumar a la
palabra de entrada dependiendo de la operación que se desee realizar. Un
circuito que cumple con dicha función es el siguiente.
2-. ¿Qué desventaja tiene un sumador paralelo comparado con un
“CARRY LOOK AHEAD”?¿ Qué ventaja tiene?

La desventaja del sumador paralelo comparado con un “CAARY LOOK


AHEAD” está dada por la velocidad, ya que el CARRY LOOK AHEAD
predice el acarreo de manera anticipada u en función de las palabras de
entrada del sumador. La ventaja que tiene es que el sumador paralelo es
mucho menos complejo y por lo tanto más económico que el de acarreo
anticipado.

3-. ¿Qué problema puede tener un sumador “CARRY LOOK


AHEAD”? Cuando las palabras a sumar son grandes (por ejemplo 8 bits).

El problema que se presenta cuando se utiliza un sumador CARRY


LOOK AHEAD cuando las palabras son muy grandes es que todos los
acarreos anticipados generados dependen de todos los bits de menor peso, es
decir, el bit de acarreo de la posición n es función de los bits de la posición 0
hasta la posición n, por lo que a medida que el tamaño de la palabra de entrada
aumenta, los bits menos significativos de las palabras de entrada deben
alimentar mas compuertas, generando esto problemas con el FAN OUT del
circuito. Por ejemplo, si la palabra de entrada es de 8 bits los MSB de cada
palabra de entrada deben alimentar 8 compuertas, lo que ya es bastante grande
en la mayoría de las familias lógicas TTL.
Conclusiones

 La suma de números binarios se puede realizar fácilmente utilizando


circuitos MSI como el 7483A, el cual es un sumador de palabras de
4 bits con entrada de acarreo inicial y salida de acarreo final. Este
tipo de circuito integrado simplifica mucho la elaboración de
sumadores de palabras de un número mayor de 4 bits ya que se
pueden realizar conexiones en cascada de ellos y evita la tediosa
construcción de circuitos sumadores con compuertas, los cuales
además ocupan mucho espacio.
 Otra ventaja de los circuitos sumadores MSI es que permiten la
transformación de palabras de BCD a EX-3 y de EX-3 a BCD de
manera sencilla.
 Una manera económica de sumar palabras muy grandes es
transformar dichas palabras a manera serial, sumarlas con un
sumador completo sencillo y luego transformar la salida a manera
serial nuevamente. Este tipo de circuito es especialmente útil por su
economía para palabras muy grandes y por no tener problemas de
FAN OUT.
 Si lo que se requiere es no sólo sumar palabras, sino un circuito
capaz de generar cualquiera de las 16 funciones lógicas posibles se
debe utilizar una ALU.
Recomendaciones.

En el diseño de circuitos se debe establecer un equilibrio entre la


economía y la calidad del circuito. En el caso de los sumadores se deben
tomar las siguientes precauciones:
 No se deben utilizar sumadores de CARRY LOOK AHEAD para
palabras muy grandes, y el tamaño máximo de la palabra de entrada
para esta configuración depende del FAN OUT de la familia lógica
utilizada. Una manera de solucionar el problema de FAN OUT en
este caso es utilizando bufers para los bits de menos peso de las
palabras de entrada.
 Cuando lo importante es la velocidad se deben utilizar sumadores de
acareo anticipado CARRY LOOK AHEAD.
 Si la velocidad no es importante resulta mucho más económico
utilizar sumadores en paralelo.
 Si las palabras a sumar son muy grandes y la velocidad no es muy
importante, se puede realizar el circuito utilizando un diseño como el
del inciso 5 de la preparación teórica, el cual convierte las palabras
de entrada a manera serial y luego las lleva de nuevo a manera
paralela.

También podría gustarte