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: João 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  Intercâmbio de pesquisadores 

Resumo

A utilização de arquiteturas computacionais reconfiguráveis é cada vez mais relevante,manifestando-se numa diversidade de sistemas, desde os sistemas computacionais de elevado desempenho até aos sistemas embebidos. A tecnologia dominante para a implementaçã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 rodeadas de recursos de interligação, ambos programáveis (reconfiguráveis). A capacidade destes dispositivos para melhorar o desempenho de aplicações e para facultar relações de desempenho/consumo de energia muitas das vezes mais eficientes do que os alcançados por outros dispositivos usados para acelerar aplicações (e.g., GPUs2) torna-os extremamente atrativos e cada vez mais procurados. Contudo, a programação dos mesmos continua a ser uma tarefa bastante morosa, a requerer conhecimentos avançados de desenvolvimento de hardware digital, factos que tendem a limitar a sua aplicabilidade e utilização, principalmente em domínios com tempos de introdução no mercado reduzidos. No entanto, a comunidade científica tem vindo a concentrar esforços de forma a amenizar este problema. As soluções atuais passam pela utilização dos designados compiladores de hardware, a maioria dos quais centrados na conversão de programas em "C" em portas lógicas, que são baseados em técnicas de síntese de alto-nível. Este projecto analisará as técnicas utilizadas e as otimizações necessárias para mapear computações em hardware reconfigurável automática e eficientemente, os desafios e as tendências, que vão desde o uso de linguagens de programação específicas ao domínio (DSLs3) até à utilização agressiva de técnicas de compiladores. (AU)