Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Práctica 1
Multiplicador de 8 bits secuencial con
desplazamiento hacia la derecha
Javier Toledo Moreo
Dpto. Electrónica, Tecnologı́a de Computadoras y Proyectos
Universidad Politécnica de Cartagena
9 de abril de 2006
Descripción de la práctica
El objetivo de la práctica es la implementación 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 números enteros sin signo codificados con 8 bits
cada uno de ellos, y la salida los 16 bits del resultado de la multiplicación.
Los pasos a seguir en el desarrollo de la práctica son:
Elaboración del esquemático del diseño
Simulación funcional
Realización de los procesos Map, Place y Route orientados a la FPGA
elegida
Análisis de la información contenida en los informes de implementación
Simulación temporal
Configuración de la FPGA en la placa XS40 y depuración del diseño.
1
Diseño de un multiplicador de números 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
Diseño de un multiplicador de números 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: Actualización registro Resultado con la salida del sumador.
Paso 2: Desplazamiento hacia la derecha de Resultado y de Multiplicador.
3
Diseño de un multiplicador de números 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: Actualización 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: Actualización registro Resultado con la salida del sumador.
Paso 6: Desplazamiento hacia la derecha de Resultado y de Multiplicador.
4
Diseño de un multiplicador de números 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: Actualización registro Resultado con la salida del sumador.
Paso 8: Desplazamiento hacia la derecha de Resultado y de Multiplicador.
Consideraciones de diseño
Para la realización del diseño deben tenerse en cuenta las siguientes consi-
deraciones:
La señal de reloj debe ser la misma para todo el circuito, y el flanco de
reloj activo es el de subida.
El reset puede ser sı́ncrono a ası́ncrono.
Una vez terminado el proceso de multiplicación, el valor del registro re-
sultado debe permanecer constante hasta que se active el reset, indepen-
dientemente del número de ciclos de reloj que tengan lugar después de
completado el proceso.
Deben diseñarse los componentes del circuito con el tamaño adecuado para
realizar la funcionalidad deseada.
Bibliografı́a
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.