You are on page 1of 6

Multiplicador de 8 bits usando el algoritmo de Booth Sobre Tarjeta Spartan-3

Barbosa-Almonazi Jorge Ivn, Carbajal-Guilln Manuel Alejandro, Prez-Ramrez Carlos Andrs {ji.barbosaalmonazi, ma.carbajalguillen, ca.perezramirez}*@ugto.mx Departamento de Electrnica, DICIS Universidad de Guanajuato

Introduccin.
El algoritmo de multiplicacin de Booth es un algoritmo de multiplicacin que multiplica dos nmeros binarios con signo en la notacin de complemento a dos. El algoritmo fue inventado por Andrew Donald Booth en 1950 [1]. Al primer nmero se le llama multiplicando. Al segundo nmero se le denomina multiplicador. Hay varias variantes del algoritmo. En esta prctica se implementar el radix-4. Este algoritmo consiste en Tome al multiplicando, realice el complemento a dos del mismo y realice la extensin de signo tomando en cuenta el nmero de bits para el resultado. Aada al multiplicador un cero en el LSB. Forme grupos de 3 bits. Estos grupos se denominan recodificadores. Tenga cuidado de traslapar el MSB de cada recodificador con el LSB de siguiente recodificador formado. El valor de cada recodificador est dado en la siguiente tabla Recodificador Factor 000 0 001 1 010 1 011 2 100 -2 101 -1 110 -1 111 0 Tabla 1. Valor de cada recodificador [1] En la tabla 1, el valor de 2, implica desplazar a la izquierda el multiplicando. -1 implica que se debe realizar el complemento a dos del multiplicando. Por ltimo, aplique los factores presentados en la tabla 1 al multiplicando. Tenga en cuenta que por cada recodificador existente, debe recorrer, antes de verificar el valor de ste, 2 veces el multiplicando.

Objetivo.
Disear e implementar un multiplicador de Booth sobre un FPGA Spartan3. El resultado se exhibir en los leds de la FPGA.

Desarrollo.
Para implementar el sistema digital antes descrito se tiene que generar el diagrama a bloques que lo describa en el primer nivel de abstraccin, el cual se presenta en la figura 1.

Figura1. Primer nivel de abstraccin del frecuencmetro.

En la figura 1, X es el multiplicando, y es el multiplicador. El segundo nivel de abstraccin se presenta en la figura 2.

Figura 2. Mdulos del multiplicador.

Como se aprecia en la figura 2, el multiplicador entra a un registro de desplazamiento derecho, cuya salida es de 3 bits, con el fin de obtener el recodificador. A continuacin, en el mdulo de recodificacin, se evala el recodificador obtenido. Adems, se efecta la extensin de signo del multiplicando. De este mdulo sale el producto evaluado. Posteriormente, entra a otro registro de desplazamiento (izquierdo), con el fin de evaluar los desplazamientos. Todo esto es controlado por una FSM, que lleva la cuenta de la posicin, as como de la activacin del algoritmo. Una vez que se han procesado los recodificadores obtenidos, la FSM carga el registro de salida, obtenindose as un resultado vlido.

Para la implementacin en la FPGA, se opt por acoplar el receptor RS-232, debido a que se carecan de switches suficientes para operar el multiplicador. De igual manera, para mostrar el resultado, se opt por multiplexar el mismo, debido a que no se poseen los suficientes leds. El diagrama a bloques empleado se muestra en la figura 3.

Figura 3. Diagrama a bloques de la prctica realizada

Una vez realizado el cdigo se procedi a la simulacin del mismo, obteniendo lo que a continuacin se presenta en la figura 4.

Figura 4. Banco de pruebas del frecuencmetro

En la figura 3 se muestra el procedimiento del algoritmo empleado. Para fines demostrativos, simplemente se us un multiplicador de 2 bits. El nmero obtenido, 1110, es el complemento a dos de 2, lo cual muestra que la implementacin realizada es correcta.

Resultados.
Para realizar la multiplicacin, se us un breve cdigo en Matlab, donde se mandaron los nmeros a multiplicar usando el puerto serial. En la figura 5 se muestra el cdigo empleado, as como los nmeros enviados.

Figura 5. Nmeros enviados.

En la figura 6 se aprecia el resultado.

Figura 6. Resultado obtenido.

En las figuras 7 y 8 se aprecian los nmeros enviados, as como el resultado obtenido.

Figura 7. Datos enviados

Figura 8. Resultado obtenido.

Cuestionario
Realice un resumen de los recursos utilizados del FPGA en la sntesis del sistema.

Reporte la mxima frecuencia de operacin que entrega el proceso de la sntesis para el circuito implementado. 137.268 MHz

Conclusiones.
Barbosa Almonazi Jorge Ivn: En esta prctica se implement el algoritmo de booth. Se puede observar que es eficiente en cuanto al tiempo que tarda en realizar la operacin, sin embargo, quitando el receptor, consume ms recursos que implementando otras soluciones.

Carbajal Guilln Manuel Alejandro: Para la realizacin de la prctica fue necesario pensar la forma ms apropiada para realizar obtener los recodificadores. Una vez que se ide un algoritmo rpido, fue sencillo realizar la prctica. Prez Ramrez Carlos Andrs: La parte desafiante de la prctica consisti en pensar la estructura digital de tal manera que fuese sencilla de ir depurando. La solucin a la que se lleg fue hacer el uso de la FSM como contador de los recodificadores. Puesto que cada recodificador, implica per s, recorre a la izquierda el multiplicando. An y cuando se poda realizar el algoritmo de manera genrica, considero que sera demasiado complejo de hacer, puesto que los registros de desplazamiento y contadores consumen muchos recursos en una FPGA.

Referencias.
[1] Electrnica Digital y Lgica Programable. Ren de Jess Romero Troncoso. PP 44-45. Editorial Universidad de Guanajuato.

You might also like