Implementação de algoritmo de compressão e descompressão de dados para modelo de co-processamento baseado em FPGA’s

  • Bruno Pimentel
  • Joel Arrais
Palavras-chave: Coprocessadores, FPGA, Compressão de dados, Descompressão de dados, Método de Huffman

Resumo

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 forma bastante compacta. Neste projecto, como forma de reduzir o tempo gasto na comunicação, foi implementada uma técnica de compressão e descompressão de dados, através da qual, um computador anfitrião pode comprimir dados e transferi-los para 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 e implementado na FPGA XC2V1000-4 da família Virtex-II, a qual integra a placa protótipo RC200 da Celoxica.

Publicado
2004-01-01
Secção
Artigos