Está en la página 1de 4

PARTE I

Considere de nuevo el circuito sumador de transporte de ondulación de cuatro bits utilizado en el


ejercicio de laboratorio 2; su diagrama se reproduce en la Figura 1.

Este circuito se puede implementar usando un signo '+' en VHDL. Por ejemplo, el siguiente
fragmento de código agrega números de n bits A y B para producir las salidas sum y carry:

Use esta construcción para implementar un circuito que se muestra en la Figura 2. El circuito
incluye una operación desde el sumador, así como una señal de salida de desbordamiento. Si las
entradas A y B se consideran números de complemento de 2, entonces el desbordamiento se debe
establecer en 1 en el caso en que la suma de salida producida no represente un resultado correcto
de complemento de 2.

Use esta construcción para implementar un circuito que se muestra en la Figura 2. El circuito
incluye una operación desde el sumador, así como una señal de salida de desbordamiento. Si las
entradas A y B se consideran números de complemento de 2, entonces el desbordamiento se debe
establecer en 1 en el caso en que la suma de salida producida no represente un resultado correcto
de complemento de 2.

Realice los siguientes pasos:

1. Crea un nuevo proyecto Quartus. Escriba el código VHDL que describe el circuito en la Figura 2.

2. La suma del sumador debe mostrarse en las luces rojas LEDR7-0, la señal de acarreo debe
mostrarse en el LEDR8, y la señal de desbordamiento debe mostrarse en el LEDR9. Muestre los
valores de A y S como números hexadecimales en las pantallas de 7 segmentos HEX3-2 y HEX1 - 0.

3. Realice las asignaciones de pines necesarias para implementar el circuito en su placa de la serie
DE y compilar el circuito.

4. Use la simulación de tiempo para verificar el correcto funcionamiento del circuito. Una vez que
la simulación funciona correctamente, descargue el circuito en su placa de la serie DE y pruébelo
utilizando diferentes valores de A. Asegúrese de verificar que la salida de desbordamiento
funcione correctamente.
Parte II

Extienda el circuito desde la Parte I para poder sumar y restar números. Para hacerlo, introduce
una entrada add_sub en tu circuito. Cuando add_sub es 1, su circuito debe restar A de B, y cuando
add_sub es 0 su circuito debe agregar A a B como en la Parte I.

Parte III

La Figura 3a muestra un ejemplo de multiplicación de papel y lápiz P = A × B, donde A = 11 y B =


12.

Calculamos P = A × B como una adición de summands. El primer summand es igual a A veces el


dígito de B. El segundo summand es A multiplicado por el dígito de decenas de B, desplazado una
posición a la izquierda. Agregamos los dos sumandos para formar el producto P = 132.

La parte b de la figura muestra el mismo ejemplo usando números binarios de cuatro bits. Para
calcular P = A × B, primero formamos sumandos multiplicando A por cada dígito de B. Como cada
dígito de B es 1 o 0, los sumandos son versiones desplazadas de A o 0000. La figura 3c muestra
cómo cada sumatoria puede formarse utilizando la operación booleana Y de A con el bit apropiado
de B.

En la Figura 4 se ilustra un circuito de cuatro bits que implementa P = A × B. Debido a su estructura


regular, este tipo de circuito multiplicador se denomina multiplicador de matriz. Las áreas
sombreadas corresponden a las columnas sombreadas en la Figura 3c. En cada fila del
multiplicador, las puertas Y se utilizan para producir los sumandos, y los módulos sumadores
completos se usan para generar las sumas requeridas.

Realice los siguientes pasos para implementar el circuito multiplicador de la matriz:

1. Crea un nuevo proyecto Quartus.

2. Genere el archivo VHDL requerido. Utilice los conmutadores SW7-4 para representar el número
A y los conmutadores SW3-0 para representar B. Los valores hexadecimales de A y B se mostrarán
en las pantallas de 7 segmentos HEX2 y HEX0, respectivamente. El resultado P = A × B se mostrará
en HEX5 - 4.
3. Realice las asignaciones de pines necesarias para implementar el circuito en su placa de la serie
DE y compile el circuito.

4. Usa la simulación para verificar tu diseño

5. Descargue su circuito en su placa de la serie DE y pruebe su funcionalidad.

Parte IV

En la Parte III, se implementó un multiplicador de matriz utilizando módulos sumadores


completos. En un nivel superior, una fila de sumadores completos funciona como un sumador de n
bits y el circuito multiplicador de la matriz se puede representar como se muestra en la Figura 5.

Cada sumador de n bits agrega una versión desplazada de A para una fila determinada y el
producto parcial de la fila anterior. Resumir el circuito multiplicador como una secuencia de
adiciones nos permite construir multiplicadores más grandes. El multiplicador debe consistir en
sumadores de n bits dispuestos en una estructura que se muestra en la Figura 5.

Realice los siguientes pasos:

1. Cree un nuevo proyecto Quartus y escriba el archivo VHDL requerido.

2. Use los interruptores SW7-0 para proporcionar las entradas de datos al circuito y agregar las
entradas faltantes a través del interruptor externo. Muestre el producto P = A × B como un
número hexadecimal en las pantallas de 7 segmentos HEX3-0.

3. Realice las asignaciones de pines necesarias para implementar el circuito en su placa de la serie
DE y compile el circuito.
4. Pruebe la funcionalidad de su diseño ingresando varios valores de datos y observando los
productos generados.

Parte V

La Parte IV mostró cómo implementar la multiplicación A × B como una secuencia de adiciones, al


acumular las versiones desplazadas de A una fila por vez. Otra forma de implementar este circuito
es realizar una adición usando un árbol sumador. Un árbol sumador es un método para sumar
varios números de forma paralela. Esta idea se ilustra en la Figura 7. En la figura, los números A, B,
C, D, E, F, G y H se suman en paralelo. La adición A + B ocurre simultáneamente con C + D, E + F y G
+ H. Los resultados de estas operaciones se agregan en paralelo nuevamente, hasta que se calcule
la suma final P.

En esta parte debe implementar un circuito multiplicador de 8 x 8 utilizando el enfoque del árbol
sumador. Las entradas A y B, así como la salida P deben registrarse como en la Parte IV