Conference Paper

A Study on the Design of Floating-Point Functions in FPGAs.

DOI: 10.1007/978-3-540-45234-8_137 Conference: Field Programmable Logic and Application, 13th International Conference, FPL 2003, Lisbon, Portugal, September 1-3, 2003, Proceedings
Source: DBLP

ABSTRACT Floating-Point Operations represent a common task in a variety of applications, but such operations often result in a bottleneck,
due to the large number of machine cycles required to compute them. Even though the FPGA community has developed advanced
algorithms to improve the speed of FLOPs, floating-point transcendental functions are still underdeveloped. In this paper,
we discuss some of the tradeoffs faced when implementing floating-point functions in FPGAs. These techniques, including lookup
tables, and CORDIC algorithms, have been used in the past for the implementation of fixed-point analytic functions. This paper
seeks to apply those methods to floating-point functions. The implementation results from different versions of a floating-point
sine function are summarized in terms of speed, area, and accuracy to understand the effect of different architectural alternatives.

0 Bookmarks
 · 
59 Views
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: It has been shown that FPGAs could outperform high-end microprocessors on floating-point computations thanks to massive parallelism. However, most previous studies re-implement in the FPGA the operators present in a processor. This is a safe and relatively straightforward approach, but it doesn't exploit the greater flexibility of the FPGA. This article is a survey of the many ways in which the FPGA implementation of a given floating-point computation can be not only faster, but also more accurate than its microprocessor counterpart. Techniques studied here include custom precision, specific accumulator design, dedicated architectures for coarser operators which have to be implemented in software in processors, and others. A real-world biomedical application illustrates these claims. This study also points to how current FPGA fabrics could be enhanced for better floating-point support.
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: Ce mémoire reprend quelques résultats obtenus entre 2000 et 2007 au sein du projet Arénaire du LIP. La problématique centrale est l'évaluation de fonctions numériques : étant donnée une fonction réelle, par exemple un polynôme, un sinus, une exponentielle ou toute autre fonction utile, il s'agit de construire un opérateur pour l'évaluer. Pour cela, on dispose de quelques règles du jeu et de quelques briques de bases: pour le matériel, on peut utiliser, avec un parallélisme arbitraire, des additions et multiplications entières et des tables précalculées. Pour le logiciel, on dispose en plus d'opérateurs de calcul en virgule flottante, mais avec un modèle d'exécution séquentiel. Dans les deux cas, on est contraint à des approximations dont on cherche à minimiser l'erreur. La question de la précision, notamment des calculs intermédiaires, est ici intimement liée à celle de la performance. Pour gérer tous ces paramètres et obtenir des implémentations de qualité, il faut de plus en plus d'automatisation. De plus, pour que cette qualité soit garantie, il faut se rapprocher du monde de la preuve formelle. Ces différents aspects sont évoqués, ainsi que des applications de ces travaux aux accélérateurs de calcul reconfigurables et à la normalisation de la virgule flottante.
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: Les circuits reconfigurables FPGA ont désormais une capacité telle qu'ils peuvent être utilisés à des tâches d'accélération de calcul en virgule flottante. La littérature (et depuis peu les constructeurs) proposent des opérateurs pour les quatre opérations. L'étape suivante est de proposer des opérateurs pour les fonctions élémentaires les plus utilisées. Parmi celles-ci, nous proposons des architectures dédiées pour l'évaluation des fonctions exponentielles, logarithme, sinus et cosinus, et étudions les compromis possibles. Pour chacune de ces fonctions, un seul de ces opérateurs surpasse d'un facteur dix les processeurs généralistes en terme de débit, tout en occupant une fraction des ressources matérielles du FPGA. Tous ces opérateurs sont disponibles librement sur http://www.ens-lyon.fr/LIP/Arenaire/.
    01/2008;