Document details

Implementação de Algoritmo de Compressão e Descompressão de Dados para Modelo d...

Author(s): Bruno Pimentel cv logo 1 ; Joel Arrais cv logo 2

Date: 2012

Origin: Electrónica e Telecomunicações

Subject(s): coprocessadores; FPGA; compressão de dados; descompressão de dados; método de Huffman; coprocessadores; FPGA; compressão de dados; descompressão de dados; método de Huffman


Description
The paper describes some results obtained within a final year project for LECT (Licenciatura em Engenharia de Computadores e Telemática). The project is devoted to the design and optimization of FPGA-based co-processors for data extensive applications (such as solving combinatorial problems over discrete matrices). One particular problem that has been studied in detail is transferring high volume of data to an FPGA-based coprocessor and receiving the results from the co-processor, which can be coded very compactly. In order to reduce communication time, a technique of datacompression/decompression has been employed in such a way that a host computer compresses data and transfers them to an FPGA-based co-processor. The latter either decompresses them or handles the compressed records. The paper describes compression/decompression algorithms based on the slightly modified Huffman method, their implementation in C++ language and FPGA-based circuits that provide for the relevant decompression. All hardware has been designed from specification in Handel-C and implemented in FPGA XC2V1000-4 of Virtex-II family available on a RC200 prototyping board of Celoxica. O artigo descreve resultados obtidos no âmbito de um projecto final do curso de LECT (Licenciatura em Engenharia de Computadores e Telemática). O projecto consiste na concepção e optimização de co-processadores baseados em FPGA’s para a resolução de tarefas computacionalmente intensivas (tais como, resolução de problemas combinatórios, utilizando matrizes discretas).Têm já sido feitos estudos para abordar o problema da transferência de grandes quantidades de dados para um coprocessador baseado numa FPGA e em receber os resultados, podendo estes ser armazenados de formabastante compacta. Neste projecto, como forma de reduzir otempo gasto na comunicação, foi implementada uma técnicade compressão e descompressão de dados, através da qual,um computador anfitrião pode comprimir dados e transferilospara um co-processador baseado numa FPGA. Uma vez no co-processador, a informação pode ser manipulada directamente ou após ser descomprimida.O artigo descreve os algoritmos de compressão e descompressão baseados no método de Huffman, ligeiramente alterado, a sua implementação na linguagem C++ e os circuitos baseados em FPGA’s que suportam a necessária descompressão. Todo o hardware foi concebido através da especificação na linguagem Handel-C eimplementado na FPGA XC2V1000-4 da família Virtex-II, a qual integra a placa protótipo RC200 da Celoxica.
Document Type Article
Language Portuguese
Editor(s) ;
delicious logo  facebook logo  linkedin logo  twitter logo 
degois logo
mendeley logo


    Financiadores do RCAAP

Fundação para a Ciência e a Tecnologia Universidade do Minho   Governo Português Ministério da Educação e Ciência Programa Operacional da Sociedade do Conhecimento EU