Skip navigation
Please use this identifier to cite or link to this item: https://repositorio.unb.br/handle/10482/7908
Files in This Item:
File Description SizeFormat 
2010_JanierAriasGarcia.pdf1,44 MBAdobe PDFView/Open
Title: Implementação em FPGA de uma biblioteca parametrizável para inversão de matrizes baseada no algoritmo Gauss-Jordan, usando representação em ponto flutuante
Authors: Arias García, Janier
Orientador(es):: Jacobi, Ricardo Pezzuol
Llanos Quintero, Carlos Humberto
Assunto:: Aritmética de ponto flutuante
Engenharia de software
Arquitetura de computador
Issue Date: 20-May-2011
Citation: ARIAS GARCÍA, Janier. Implementação em FPGA de uma biblioteca parametrizável para inversão de matrizes baseada no algoritmo Gauss-Jordan, usando representação em ponto flutuante. 2010. 71 f., il. Dissertação (Mestrado em Sistemas Mecatrônicos)-Universidade de Brasília, Brasília, 2010.
Abstract: As operações computacionais em que se desenvolvem cálculos matriciais são à base, ou melhor, o coração de muitos algoritmos computacionais científicos, por exemplo: processamento de sinais,visão computacional, robótica, entre outros. Esse tipo de algoritmos em que desenvolvem-se cálculos matriciais terminam sendo tarefas computacionalmente custosas, e suas implementações em hardware exigem grandes esforços e tempo. Existe então uma crescente demanda por arquiteturas que permitam cálculos matriciais, proporcionando soluções rápidas e eficientes para este tipo de problema. Este trabalho apresenta diferentes arquiteturas computacionais para inverter matrizes em hardware reconfigurável, FPGA: (a) sequencial, (b) pipeline e (c) Paralelo. Estas arquiteturas usam uma representação de ponto flutuante tanto em precisão simples (32 bits) quanto precisão dupla (64 bits), visando o uso em implementações de baixo consumo de recursos lógicos, na qual a unidade principal é o componente de processamento para redução Gauss-Jordan. Esse componente consiste de outras pequenas unidades organizadas de tal forma que mantêm a precisão dos resultados sem a necessidade de internamente normalizar e de-normalizar os dados em ponto flutuante. No intuito de gerar arquiteturas de baixo custo, este trabalho propõe o estudo de diferentes formas de abordar o problema, descrevendo em código VHDL estas arquiteturas em que os tamanhos de matrizes são definidos pelos usuários. Os resultados de erro e de tempo de execução das arquiteturas desenvolvidas foram comparados contra o MatLab, que faz uma simulação comportamental do código VHDL gerado através do ambiente de simulação ModelSim. A implementação das operações e da própria unidade procura explorar os recursos disponíveis na FPGA Virtex-5. O desempenho e o consumo de recursos são apresentados, comparando as diferentes arquiteturas desenvolvidas entre si e entre outras arquiteturas propostas encontradas em publicações anteriores. Além disso, é mostrado o decremento no desempenho a medida que o tamanho da matriz aumenta. ______________________________________________________________________________ ABSTRACT
Computer operations demanding matrix calculations are at the heart of many scientific computing algorithms such as: signal processing, computer vision, robotics, among others. Because these algorithms perform matrix calculations, they are often computationally expensive, and their hardware implementations require much effort and time. So there is a growing demand for architectures that perform matrix calculations, fast and efficiently. This work presents different computer architectures for matrix inversion in FPGA reconfigurable hardware: (a) sequential, (b) pipeline and (c) Parallel. These architectures use a floating point representation in both single-precision (32 bit) and double precision (64 bits), suitable for use in low cost implementations, and where main component is Gauss-Jordan reduction. This component consists of other small units arranged in such a way that maintains the accuracy of results without the need of internally normalizing and de-normalizing the floating point data. In order to generate low-cost architectures, this work proposes to study different ways of approaching the problem in VHDL code, and allowing that sizes of matrices be defined by users. All architectures were simulated using MatLab, with a behavioral simulation of VHDL code generated by ModelSim simulation environment. As a result of comparing the error obtained by the architecture, with the inversion performed using MatLab as static estimator. The implementation of operations and the unit seeks to explore the resources available in Virtex-5 FPGA. The performance and resource consumption are presented, comparing the different architectures developed between themselves and with others proposed in previous publications. In addition, it is shown the influence of the array size in the performance.
Description: Dissertação (mestrado)—Universidade de Brasília, Faculdade de Tecnologia, Departamento de Engenharia Mecânica, 2010.
Appears in Collections:ENM - Mestrado em Sistemas Mecatrônicos (Dissertações)

Show full item record Recommend this item " class="statisticsLink btn btn-primary" href="/handle/10482/7908/statistics">



Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.