Thèse de doctorat (2015)
Résumé
Au-delà des processeurs d'instructions multi-coeurs, le monde du traitement numérique haute performance moderne est également caractérisé par l'utilisation de circuits spécifiques à un domaine d'application implémentés au moyen de circuits programmables FPGA (réseau de portes programmables in situ). Les FPGA représentent des candidats intéressants à la réalisation de calculs haute-performances pour différentes raisons. D'une part, le nombre importants de blocs de propriétés intellectuelles gravés en dur sur ces puces (processeurs, mémoires, unités de traitement de signal numérique) réduit l'écart qui les sépare des circuits intégrés dédiés en termes de ressources disponibles. Un écart qui s'explique par le haut niveau de configurabilité offert par le circuit programmable, une capacité pour laquelle un grand nombre de ressources doit être dédié sans être utilisé par le circuit programmé. Néanmoins dans un contexte où souvent plus de transistors sont disponibles qu'on puisse en utiliser, le coût associé à la configurabilité s'en trouve d'autant réduit. De par leur capacité à être reconfigurés complètement ou partiellement, les FPGAs modernes, tout comme les processeurs d'instructions, offrent la flexibilité requise pour supporter un grand nombre d'applications. Néanmoins, contrairement aux processeurs d'instructions qui peuvent être programmés avec différents langages de programmation haut-niveau (Java, C#, C/C++, MPI, OpenMP, OpenCL), la programmation d'un FPGA requiert la spécification d'un circuit numérique, ce qui représente un obstacle majeur à leur plus grande adoption. La description de circuits numériques est généralement exprimée au moyen d'un langage concurrent pour lequel le niveau d'abstraction se situe au niveau des transferts entre registres (RTL), tels les langages VHDL et Verilog. Pour une application donnée, la réalisation d'un circuit numérique spécialisé requiert typiquement un effort de conception significativement plus grand qu'une réalisation logicielle. Il existe aujourd'hui différents outils académiques et commerciaux permettant la synthèse haut-niveau de circuits numériques en partant de descriptions C/C++/SystemC, et plus récemment OpenCL. Cependant, selon l'application considérée, ces outils ne permettent pas toujours d'obtenir des performances comparables à celles qui peuvent être obtenues avec une description RTL produite manuellement. On s'intéresse dans ce travail à un outil de synthèse de niveau intermédiaire offrant un compromis entre les performances atteignables au moyen d'une méthode de conception RTL, ainsi que les temps de conception que permet la synthèse à haut-niveau.
Statistiques
Total des téléchargements à partir de PolyPublie
Téléchargements par année
Provenance des téléchargements
