LALPC: uma ferramenta para compilação de programas em C para exploração do paralelismo de loops em FPGAs

The physical limitations of silicon forced the industry to develop solutions that exploit the processing power of combining several general purpose processors. Even complex supercomputers that have multiple processors, they are still considered to inefficient processes that require large amounts of...

ver descrição completa

Detalhes bibliográficos
Autor: Porto, Lucas Faria
Formato: tesis de maestría
Estado:Versión publicada
Fecha de publicación:2015
País:Brasil
Recursos:Universidade Federal de São Carlos (UFSCAR)
Repositorio:Repositório Institucional da UFSCAR
Idioma:portugués
OAI Identifier:oai:repositorio.ufscar.br:20.500.14289/603
Acesso em linha:https://repositorio.ufscar.br/handle/20.500.14289/603
Access Level:acceso abierto
Palavra-chave:Compiladores (Computadores)
FPGAs
Loop pipeline
FPGA
Compiler
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Descrição
Resumo:The physical limitations of silicon forced the industry to develop solutions that exploit the processing power of combining several general purpose processors. Even complex supercomputers that have multiple processors, they are still considered to inefficient processes that require large amounts of arithmetic operations using floating point data. Reconfigurable computing is gaining more space to have a performance close to a specific purpose devices (ASIC), and yet keep the flexibility provided by the architecture of general purpose processors. However, the complexity of hardware description languages often becomes a problem to the development of new projects. Tools for high-level synthesis have become more popular, they allow the transformation code in high-level hardware simply and quickly. However, solutions found in current tools generate simple hardware that does not exploit the techniques to improve the pipeline in hardware. This paper presents the development of techniques to exploit processing parallelism of the reconfigurable devices through programs described in language C. These techniques identify loops and improve the performance in hardware. As a result, we have improved in the high-level synthesis process generating optimized hardware.