Está en la página 1de 4

LABORATORIO VI

Sumadores, Restadores y Multiplicadores.

El propsito de estos ejercicios es para examinar la aritmtica de circuitos,


como lo son: restadores, multiplicadores y sumadores. Cada circuito se
realizara en lenguaje VHDL y se implementara en una tarjeta FPGA DE0 de
Altera.

Parte I
Considere nuevamente el circuito sumador completo con acarreo que se realiz
en el laboratorio II, el diagrama es el siguiente:

Figura 1. Sumador completo de dos nmeros de 4 bits con acarreo.

Este circuito se puede implementar utilizando el operador + del lenguaje


VHDL. Por ejemplo, el siguiente fragmento de cdigo suma dos nmeros de n
bits A y B y produce la salida sum.

Library ieee;
Use ieee.std_logic_1164.all;
Use ieee.std_logic_arith.all;
Use ieee.std_logic_signed.all;

Signal sum: std_logic_vector(n-1 downto 0);

Sum <= A + B;

Use este fragmento de cdigo para implementar el circuito de la figura #2.

Disee y compile el circuito con el software Quartus II, descargue el programa


en la tarjeta DE0 y opere el circuito como sigue:
1. Cree un nuevo proyecto en Quartus II. Seleccione como destino el chip
cyclone III EP3C16F484C6, el cual la tarjeta DE0 de Altera lo incluye.

2. Escribe el cdigo VHDL que se describe en la figura 2.


3. Conecte la entrada A, a los interruptores SW7-0 y use el pulsador KEY0
como reset activo en flanco bajo asncrono, use KEY1 como una entrada
de reloj manual. La suma debe ser mostrada en los leds denominados
LEDG7-0 y la salida de acarreo debe ser mostrada en LEDG9.
4. Asegrese de incluir en su proyecto el archivo de asignacin de pines
requerida para la tarjeta DE0 denominado: DE0_pin_assignaments.qsf.
5. Compile su diseo y haga uso de la simulacin de tiempo real para
verificar el correcto funcionamiento del circuito. Una vez que la
simulacin funciona correctamente, descargue el circuito en el tablero
DE0 y compruebe diferentes valores para A. Asegrese de verificar que
la salida de desbordamiento funciona correctamente.
6. Abra el reporte de compilacin en Quartus II y examine los resultados
que se muestra en el analizador de tiempo real. Cul es la mxima
frecuencia, fmax, que el circuito puedo operar?

Figura 2. Circuito acumulador de 8 bits.

Parte II
Expanda su circuito mostrado en la figura 2 para que sea capaz de sumar y
restar. Modifique su diseo y aada la suma-resta de tal forma que cuando el
valor de esa entrada sea 1 lgico su circuito debe restar A de resultado, y
cuando sea 0 lgico su circuito debe sumar A de resultado.

Parte III
La figura 4a muestra un ejemplo de cmo se realiza una multiplicacin de dos
nmeros en sistema decimal P=AxB, donde A = 11 y B = 12.
Figura 4. Multiplicacin de nmeros binarios.

El producto P = AxB se calcula como una suma. El primer sumando es


equivalente A veces el digito de las unidades de B. El segundo sumando es A
veces el dgito de las decenas de B, se desplaz una posicin a la izquierda.
Aadimos los dos sumandos para formar el producto P = 132.
La figura 4b muestra el mismo ejemplo pero usando nmeros binarios de
cuatro bits. En este caso, los sumando son versiones desplazadas de A o del
nmero 0000, porque cada digito en B es 1 0. La figura 4c muestra como
cada sumando puede ser construido a partir de funciones lgicas AND entre A
y el correspondiente digito B.
En la figura 5 se ilustra un circuito de cuatro bits que se implementa el
producto P= AxB. Este tipo de circuito es llamado multiplicador en malla ya que
presenta una estructura regular que asemeja una malla. Las secciones
sombreadas en la figura 5 corresponden a las columnas sombreadas en la
figura 4c. En cada fila del multiplicador se usan compuertas AND para producir
los sumandos, y tambin se usan sumadores completos para producir las
sumas parciales.
Figura 5. Arreglo de un circuito multiplicador.
Siga los pasos que se listan a continuacin para implementar el sumador de
malla:
1. Crear un nuevo proyecto de Quartus II
2. Escriba el cdigo VHDL que implemente el circuito mostrado en la figura
5, inclyalo en su proyecto y complelo.
3. Use la simulacin funcional para verificar el funcionamiento de su
diseo.
4. Aumente su diseo para usar los SW7-4 para representar el nmero A y
los SW3-0 para representar el nmero B. El resultado P=AxB se mostrara
en los display de la tarjeta denominados HEX0 y HEX1.
5. Recompile su circuito y descargue el cdigo en la tarjeta DE0 de Altera.
6. Pruebe el funcionamiento correcto en su diseo para diferentes valores
de A y B.