Implementación del método gradiente conjugado en un FPGA arquitectura Spartan 6

Thumbnail Image

Date

2014-07-25

Journal Title

Journal ISSN

Volume Title

Publisher

Pontificia Universidad Católica del Perú

Abstract

Resolver un sistema de ecuaciones lineales simult´aneas es un problema fundamental en el algebra lineal num´erica, y una de las etapas elementales en simulaciones cient´ıficas. Ejemplos son los problemas de ciencias e ingenier´ıa modelados por ecuaciones diferenciales ordinarias o parciales, cuya soluci´on num´erica est´a basada en m´etodos de discretizaci´on que conducen a sistemas de ecuaciones lineales. Estos sistemas pueden ser resueltos de manera directa; sin embargo, cuando el orden del sistema es demasiado grande el costo computacional se incrementa. Ante esta situaci´on se emplean m´etodos iterativos, los cuales son m´as eficientes y tienen una menor demanda computacional (p.e: Jacobi, Gauss-Seidel, Gradiente Conjugado, etc.). En el presente trabajo se presenta un sistema digital basado en un procesador, un coprocesador y una memoria externa que desarrolla el m´etodo del Gradiente Conjugado. El sistema fue implementado en la arquitectura Spartan-6, la cual cuenta con un softprocessor de 32 bits llamado MicroBlaze y el FPGA propiamente dicho. MicroBlaze dirige el flujo del algoritmo, adem´as de desempe˜nar las operaciones m´as sencillas (sumas vectoriales, productos internos, divisiones, etc). En tanto, en el FPGA se implement´o un coprocesador, el cual fue descrito en VHDL, que se encarga de la operaci´on de mayor costo computacional: el producto Matriz - Vector. El procesador y el coprocesador se comunican mediante interfaces unidireccionales basadas en unidades FIFO llamadas Fast Simplex Link (FSL). Se emple´o el entorno EDK (Embedded Development Kit) de la empresa Xilinx, para configurar el procesador, los perif´ericos y el coprocesador; y se emple´o la plataforma Atlys de la empresa Digilent para implementar el sistema propuesto. La implementaci´on final es aproximadamente 2 veces m´as r´apida y tiene una eficiencia de 0.25, respecto de la implementaci´on de referencia que se desarroll ´o empleando solo el procesador. El orden que sigue la tesis es el siguiente: En el primer cap´ıtulo se presenta el contexto de la tesis y se define puntualmente el problema que se desea resolver. En el segundo cap´ıtulo se cubre la mayor´ıa de aspectos te´oricos necesarios. La arquitectura propuesta, y los detalles de los componentes del sistema se especifican en el cap´ıtulo tres. Por ´ultimo, se presentan los resultados en el cap´ıtulo cuatro, seguido de las conclusiones.

Description

Keywords

Algoritmos, Sistemas lineales, Dispositivos lógicos programables

Citation

Endorsement

Review

Supplemented By

Referenced By

Creative Commons license

Except where otherwised noted, this item's license is described as Atribución-NoComercial-SinDerivadas 2.5 Perú