Événements
Média
Partenaires
Recherche
Chercheurs

David, Jean-Pierre
Polytechnique Montréal
Membre associé

Description du programme de recherche

Le professeur David mène des activités de recherche dans le domaine de la synthèse des systèmes logiques matériel-logiciel et leurs applications, notamment en traitement du signal et en cryptographie. En particulier, il se spécialise dans la programmation des systèmes reconfigurables de type FPGA ou autres à partir d’une description de haut niveau.

Un système reconfigurable est un circuit logique programmable dont le comportement sera déterminé au moment de sa programmation. Aujourd’hui, ces circuits intègrent plusieurs noyaux de processeurs, des centaines de mémoires, des centaines de multiplieurs, des dizaines de milliers de fonctions logiques programmables, de multiples ressources dédiées et un immense réseau de connexions configurables permettant d’interconnecter ces ressources pour réaliser un circuit complexe et hautement parallèle. Ils concurrencent de plus en plus les circuits dédiés de type /ASIC/ car on peut les reprogrammer à volonté et leur densité atteint maintenant la dizaine de millions de portes logiques équivalentes.

Les circuits reconfigurables relèvent à la fois du Génie Électrique (GÉ) et du Génie Logiciel (GL). Une fois le circuit physique réalisé (GÉ), il reste à le programmer (GL). Toutefois, la programmation sert à implémenter un circuit avec des signaux logiques qui se propagent d’une manière semblable à ce qui se passe dans un circuit logique traditionnel (GÉ). Enfin, ces circuits contiennent souvent un ou plusieurs processeurs devant être programmés (GL). Les deux domaines sont donc très étroitement reliés et il devient nécessaire d’avoir une vision plus large qui réunit les deux disciplines.

Notre programme de recherche principal, subventionné par le CRSNG, consiste à développer un nouveau langage de description de matériel (HDL) d’un niveau d’abstraction intermédiaire entre les langages de programmation utilisés en GL et les langages de description de matériel utilisés en GÉ. Nous visons à décrire des circuits au niveau fonctionnel (algorithmique) et développons un compilateur (CASM) capable de transformer cette description en un circuit de manière automatique et sûre par construction. En résumé, notre langage permet de décrire des réseaux de machines algorithmiques qui traitent et s’échangent des jetons de données en parallèle, un peu sur le modèle de CSP (Communicating Sequential Processes) et SDL (Specification and Description Language). Une grande nouveauté par rapport aux ASM (Algorithmic State Machine) traditionnels consiste en la possibilité de faire des appels (et donc des retours) d’états d’une manière semblable à un appel de méthode en logiciel ou encore une continuation dans les langages fonctionnels. Il devient alors possible de synthétiser des machines récursives, ce qui nous a permis, par exemple, d’implémenter une version de l’algorithme QuickSort (un algorithme de tri rapide hautement récursif) sur FPGA très facilement. En outre, l’outil génère automatiquement tous les signaux de contrôle pour la synchronisation des envois-réceptions des jetons de données dans tout le réseau sans perdre de cycle d’horloge (possiblement sous la forme de pipeline continu). Le concepteur peut donc se concentrer sur les aspects algorithmiques et déléguer la tâche de réalisation du circuit au compilateur. Toutefois, l’utilisateur averti a conscience de l’architecture qui sera synthétisée et peut, dans la manière dont il décrit l’algorithme, influencer celle-ci.

Notre programme de recherche va s’ouvrir prochainement à la possibilité de configurer dynamiquement un circuit reconfigurable. De la même manière qu’un processeur peut générer le code qu’il va exécuter un peu plus tard (compilation /JIT/), nous voulons explorer comment un circuit reconfigurable pourrait efficacement générer le circuit qui va travailler un peu plus tard à une tâche dédiée. Nous explorerons surtout comment intégrer cette fonctionnalité à notre langage CASM et à son compilateur.

Coordonnées:

Polytechnique Montréal
Département de génie électrique
C.P. 6079, Succ. Centre-ville, bureau M-5027
Montréal ( Québec) H3C 3A7
Canada
Téléphone: (514) 340-4711 poste 2009
Télécopieur: (514) 343-4147
Adresse de courrier électronique: jean-pierre.david@polymtl.ca