Implementación del método gradiente conjugado en un FPGA arquitectura Spartan 6
Files
Date
2014-07-25
Authors
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
Collections
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ú