Practica 1
Practica 1
Practica 1
Multiplicador de 8 bits secuencial con
desplazamiento hacia la derecha
Javier Toledo Moreo
Dpto. Electronica, Tecnologa de Computadoras y Proyectos
Universidad Politecnica de Cartagena
9 de abril de 2006
Descripcion de la practica
El objetivo de la practica es la implementacion de un multiplicador secuencial
basado en el algoritmo de desplazamiento hacia la derecha sobre una FPGA
XC4010EPC84 de Xilinx, utilizando las herramientas del software Foundation.
Las entradas a la FPGA son dos numeros enteros sin signo codificados con 8 bits
cada uno de ellos, y la salida los 16 bits del resultado de la multiplicacion.
Los pasos a seguir en el desarrollo de la practica son:
Elaboracion del esquematico del diseno
Simulacion funcional
Realizacion de los procesos Map, Place y Route orientados a la FPGA
elegida
Analisis de la informacion contenida en los informes de implementacion
Simulacion temporal
Configuracion de la FPGA en la placa XS40 y depuracion del diseno.
1
Diseno de un multiplicador de numeros de 8 bits
Cero Q D
Multiplicador
D Q
LSB
Registro de datos
Multiplexor
Registro desplazamiento
hacia la derecha
+
Sumador
Resultado
D Q
Registro desplazamiento
hacia la derecha
2
Diseno de un multiplicador de numeros de 8 bits
Multiplicando
Cero Q D
Multiplicador
0110
D Q
LSB
1
0110
1011
+
Resultado
D Q
0000 0000
Multiplicando Multiplicando
Cero Q D Cero Q D
Multiplicador Multiplicador
0110 0110
D Q D Q
LSB LSB
1 1
0110 0110
1011 0101
+
+
Resultado Resultado
D Q D Q
Paso 1 Paso 2
Figura 3:
Paso 1: Actualizacion registro Resultado con la salida del sumador.
Paso 2: Desplazamiento hacia la derecha de Resultado y de Multiplicador.
3
Diseno de un multiplicador de numeros de 8 bits
Multiplicando Multiplicando
Cero Q D Cero Q D
Multiplicador Multiplicador
0110 0110
D Q D Q
LSB LSB
1 0
0110 0000
0101 0010
+
Resultado Resultado
D Q D Q
Paso 3 Paso 4
Figura 4:
Paso 3: Actualizacion registro Resultado con la salida del sumador.
Paso 4: Desplazamiento hacia la derecha de Resultado y de Multiplicador.
Multiplicando Multiplicando
Cero Q D Cero Q D
Multiplicador Multiplicador
0110 0110
D Q D Q
LSB LSB
0 1
0000 0110
0010 0001
+
+
Resultado Resultado
D Q D Q
Paso 5 Paso 6
Figura 5:
Paso 5: Actualizacion registro Resultado con la salida del sumador.
Paso 6: Desplazamiento hacia la derecha de Resultado y de Multiplicador.
4
Diseno de un multiplicador de numeros de 8 bits
Multiplicando Multiplicando
Cero Q D Cero Q D
Multiplicador Multiplicador
0110 0110
D Q D Q
LSB LSB
1 0
0110 0000
0001 0000
+
+
Resultado Resultado
D Q D Q
Paso 7 Paso 8
Figura 6:
Paso 7: Actualizacion registro Resultado con la salida del sumador.
Paso 8: Desplazamiento hacia la derecha de Resultado y de Multiplicador.
Consideraciones de diseno
Para la realizacion del diseno deben tenerse en cuenta las siguientes consi-
deraciones:
La senal de reloj debe ser la misma para todo el circuito, y el flanco de
reloj activo es el de subida.
El reset puede ser sncrono a asncrono.
Una vez terminado el proceso de multiplicacion, el valor del registro re-
sultado debe permanecer constante hasta que se active el reset, indepen-
dientemente del numero de ciclos de reloj que tengan lugar despues de
completado el proceso.
Deben disenarse los componentes del circuito con el tamano adecuado para
realizar la funcionalidad deseada.
Bibliografa
J.F. Wakerly, Digital design: principles and practices, 3a ed. actualizada,
Prentice Hall. 2001.
B. Parhami, Computer arithmetic. Algorithms and hardware designs,
Oxford University Press. 2000.