Implementação em FPGA de um módulo multiplicador e acumulador aritmético de alto desempenho para números em ponto flutuante de precisão dupla, padrão IEEE 754 - Corrêa Barros, Abner (2008)
Os FPGAs (Field Programable Gate Array) têm sido considerados como uma opção atrativa no desenvolvimento de co-processadores de aplicação específica para sistemas computacionais de alto desempenho. Tradicionalmente, entretanto, estes dispositivos vinham sendo empregados apenas para implementar sistemas que não demandassem um uso intensivo de operações aritméticas envolvendo números em ponto flutuante. Isto acontecia principalmente devido à alta complexidade e ao tamanho dos cores de hardware gerados e também devido a escassez de recursos lógicos adequados a este tipo de aplicação nos FPGAs disponíveis à época. Os recentes avanços nesta tecnologia tem permitido a construção de novas famílias de FPGAs, os quais além de contar com dezenas de milhões de portas lógicas, dispõem também de recursos de hardware mais adequados à aplicações de processamento de alto desempenho, tais como: CPUs, DSPs (Digital Signal Processor) e grandes blocos de memória. Estes novos recursos tem permitido que projetistas e engenheiros possam implementar com maior facilidade coprocessadores aritméticos mais adequados a aplicações de computação científica. Neste trabalho, serão apresentados os detalhes de construção de uma unidade aritmética, um multiplicador e acumulador (MAC), implementado em FPGA, o qual segue o padrão IEEE 754 para números em ponto flutuante de precisão dupla. Esta unidade foi desenvolvida como parte de um co-processador aritmético de aplicação específica, dedicado a multiplicação de matrizes densas, para uso em plataformas computacionais de alto desempenho. O padrão IEEE 754 é descrito em detalhes, bem como a arquitetura interna da unidade aritmética implementada. Serão apresentadas também as metodologia de desenvolvimento e teste empregadas na construção deste dispositivo