Compilation automatique pour les FPGAs - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2007

Automated compiling targetting FPGAs

Compilation automatique pour les FPGAs

Résumé

This dissertation explores the algorithmic opportunities offered by the high-level synthesis of digital synchronous circuits targeting Programmable Active Memories. We present the implementation of an experimental compiler toolchain which automatically compiles a reconfigurable circuit from its high-level specification. The circuit description is written in DSL (Design Source Language) which is rooted in the Jazz functional programming language. DSL can describe any digital synchronous circuit. DSL can then simulate, synthetize and execute the hardware routine on a Programmable Active Memory. The compiler proceeds in stages from the DSL source-code in order synthetize the circuit from its high-level specification. Each compiler stage generates annotations which specify circuit properties down to a synthetizable form. Most annotations are generated automatically. Manual annotations are part of the syntax of DSL, and can be used by an experienced designer to specify circuit details through source guidance. DSL automatically generates the hardware and software interfaces needed for speedy communication between the circuit and its host. The whole system is thus a fully automatic hardware accelerator for software applications described in DSL. It has been tested on a strong set of algorithms, including a lossless codec, digital dithering algorithms, motion estimation and Harris feature point extraction.
Cette thèse explore les possibilités algorithmiques offertes par la synthèse de haut niveau de circuits dans le cadre de la logique synchrone et à destination d'une Mémoire Active Programmable. Une chaîne de compilation expérimentale permettant de générer automatiquement un circuit reconfigurable à partir d'une spécification de haut niveau y est présentée. Le langage de haut niveau est DSL (Design Source Language). DSL est basé sur le langage fonctionnel Jazz. DSL permet de décrire tout type de circuit dans le modèle de la logique synchrone, d'en faire la simulation et la synthèse, puis de l'exécuter sur une Mémoire Active Programmable. Le compilateur procède par étapes successives pour synthétiser un circuit à partir de son code-source de haut niveau. Chacune des étapes de la compilation génère des annotations qui précisent les propriétés du circuit jusqu'à une forme synthétisable. Les annotations sont pour la plupart ajoutées automatiquement par le compilateur mais sont partie intégrante de la syntaxe de DSL et peuvent ainsi être précisées par le concepteur. DSL prend en charge la génération automatique de l'ensemble des routines systèmes qui permettent au circuit de communiquer avec son hôte. Ce système de prototypage et d'accélération matérielle automatique sur PAM est testé sur des circuits variés, comme des algorithmes de tramage, d'estimation de mouvement et de détection des points de Harris.
Fichier principal
Vignette du fichier
these_web.pdf (1.51 Mo) Télécharger le fichier
Loading...

Dates et versions

tel-00807973 , version 1 (04-04-2013)

Identifiants

  • HAL Id : tel-00807973 , version 1

Citer

Jean-Baptiste Note. Compilation automatique pour les FPGAs. Performance et fiabilité [cs.PF]. Université Pierre et Marie Curie - Paris VI, 2007. Français. ⟨NNT : 2007PA066483⟩. ⟨tel-00807973⟩
149 Consultations
834 Téléchargements

Partager

Gmail Facebook X LinkedIn More