0% encontró este documento útil (0 votos)
40 vistas

Practica 1

Este documento describe la implementación de un multiplicador secuencial de 8 bits en una FPGA utilizando el algoritmo de desplazamiento hacia la derecha. Explica los pasos del algoritmo, incluyendo la acumulación sucesiva de los productos parciales mediante un sumador y registro de desplazamiento. También muestra ejemplos de la evolución de los valores de los registros durante una multiplicación.

Cargado por

salchig
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
40 vistas

Practica 1

Este documento describe la implementación de un multiplicador secuencial de 8 bits en una FPGA utilizando el algoritmo de desplazamiento hacia la derecha. Explica los pasos del algoritmo, incluyendo la acumulación sucesiva de los productos parciales mediante un sumador y registro de desplazamiento. También muestra ejemplos de la evolución de los valores de los registros durante una multiplicación.

Cargado por

salchig
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 5

Sistemas Electronicos Digitales

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.

Algoritmo de multiplicacion con desplazamiento a la derecha


Tal y como se puede observar en el esquema de la Figura 1, la idea basica
del algoritmo a implementar es calcular la suma acumulada de los sucesivos
productos parciales. Un multiplexor realiza el producto parcial del multiplicando
por un bit del multiplicador: la salida del multiplexor es el multiplicando si el bit
del multiplicador vale 1y 0 si tal bit vale 0. Desplazando el multiplicador
hacia la derecha y considerando en cada instante su bit menos significativo
se realizan de manera sucesiva todos los productos parciales. Para acumular los

1
Diseno de un multiplicador de numeros de 8 bits

productos parciales se emplea un sumador y un registro de desplazamiento, cuya


salida constituye una de las entradas al sumador; la otra entrada al sumador es
el producto parcial del multiplicando por cada bit del multiplicador, es decir, la
salida del multiplexor. Para respetar el peso de los bits del multiplicador en el
resultado, el registro de desplazamiento que contiene el resultado parcial debe
desplazarse hacia la derecha cuando lo haga el multiplicador. Una vez realizadas
las sumas y los desplazamientos para todos los bits del multiplicador, el registro
del resultado contiene el producto de multiplicando y multiplicador.
Multiplicando

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

Figura 1: Estructura del multiplicador.

Las Figuras 2, 3, 4, 5 y 6 muestran la evolucion de los valores de los registros


para la multiplicacion de 6 (multiplicando) por 11 (multiplicador), codificados
con 4 bits.

Funcionamiento del diseno


Inicialmente, todos los biestables tienen el valor por defecto 0, por lo que
el primer paso debe ser cargar multiplicador y multiplicando con los valores
deseados. Estos son dos entradas a la FPGA, cada una de ellas un dato de 8
bits. A continuacion debe empezar el algoritmo de multiplicacion, realizandose
los pasos comentados en el apartado anterior. Una vez ha terminado el proceso
de multiplicacion, el valor correspondiente esta presente en el registro resultado.
Este no debe modificarse, permaneciendo constante hasta que se active una senal
de reset, tambien entrada a la FPGA. Cuando esta senal vuelva al valor 0
despues de valer 1, debe comenzar una nueva operacion de multiplicacion,
para lo cual tanto los registros multiplicador y multiplicando como el registro
resultado deben tomar el valor 0.

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

Figura 2: Estado inicial. Multiplicando y multiplicador con sus respectivos valo-


res, y resultado a 0.

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

0110 0000 0011 0000

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

1001 0000 0100 1000

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

0100 1000 0010 0100

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

1000 0100 0100 0010

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.

También podría gustarte