http://repositorio.unb.br/handle/10482/7908
Arquivo | Descrição | Tamanho | Formato | |
---|---|---|---|---|
2010_JanierAriasGarcia.pdf | 1,44 MB | Adobe PDF | Visualizar/Abrir |
Título: | 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 |
Autor(es): | 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 |
Data de publicação: | 20-Mai-2011 |
Data de defesa: | 24-Set-2010 |
Referência: | 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. |
Resumo: | 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. |
Unidade Acadêmica: | Faculdade de Tecnologia (FT) Departamento de Engenharia Mecânica (FT ENM) |
Informações adicionais: | Dissertação (mestrado)—Universidade de Brasília, Faculdade de Tecnologia, Departamento de Engenharia Mecânica, 2010. |
Programa de pós-graduação: | Programa de Pós-Graduação em Sistemas Mecatrônicos |
Aparece nas coleções: | Teses, dissertações e produtos pós-doutorado |
Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.