Busca avançada
Ano de início
Entree

Técnicas para compilar software em FPGAs

Processo: 14/20682-1
Linha de fomento:Auxílio à Pesquisa - Pesquisador Visitante - Internacional
Vigência: 21 de abril de 2015 - 07 de maio de 2015
Área do conhecimento:Ciências Exatas e da Terra - Ciência da Computação - Metodologia e Técnicas da Computação
Pesquisador responsável:Eduardo Marques
Beneficiário:Eduardo Marques
Pesquisador visitante: Joao Manuel Paiva Cardoso
Inst. do pesquisador visitante: Universidade do Porto (UP), Portugal
Instituição-sede: Instituto de Ciências Matemáticas e de Computação (ICMC). Universidade de São Paulo (USP). São Carlos , SP, Brasil
Assunto(s):Computação reconfigurável  Arquitetura e organização de computadores  Circuitos FPGA  Softwares  Montadores e compiladores 

Resumo

A utilização de arquiteturas computacionais reconfiguráveis é cada vez mais relevante,manifestando-se numa diversidade de sistemas, desde os sistemas computacionais deelevado desempenho até aos sistemas embebidos. A tecnologia dominante para aimplementação de arquiteturas reconfiguráveis tem sido a proporcionada pelos FPGAs1,que são dispositivos baseados numa matriz de células com unidades lógicas rodeadasde recursos de interligação, ambos programáveis (reconfiguráveis). A capacidade destesdispositivos para melhorar o desempenho de aplicações e para facultar relações dedesempenho/consumo de energia muitas das vezes mais eficientes do que osalcançados por outros dispositivos usados para acelerar aplicações (e.g., GPUs2) tornaosextremamente atrativos e cada vez mais procurados. Contudo, a programação dosmesmos continua a ser uma tarefa bastante morosa, a requerer conhecimentosavançados de desenvolvimento de hardware digital, factos que tendem a limitar a suaaplicabilidade e utilização, principalmente em domínios com tempos de introdução nomercado reduzidos. No entanto, a comunidade científica tem vindo a concentraresforços de forma a amenizar este problema. As soluções atuais passam pela utilizaçãodos designados compiladores de hardware, a maioria dos quais centrados na conversãode programas em "C" em portas lógicas, que são baseados em técnicas de síntese dealto-nível. Este projecto analisará as técnicas utilizadas e as otimizações necessárias paramapear computações em hardware reconfigurável automática e eficientemente, osdesafios e as tendências, que vão desde o uso de linguagens de programação específicasao domínio (DSLs3) até à utilização agressiva de técnicas de compiladores. (AU)