Au sein du groupe de recherche "low power" dirigé par Mme Nathalie JULIEN (professeur des universités).
Sujet : Caractérisation et modélisation de la consommation des opérateurs arithmétiques et logiques sur FPGA.
Mise en oeuvre, synthèse, simulation de code VHDL, implémentation sur carte FPGA (virtex) avec les outils xilinx ise6.x, modelsim et synopsis. Mise en oeuvre et paramétrage de l'IP (intellectual property) coeur de processeur LEON, programmation sur EPLD, ... dans le but de trouver des modèles mathématiques pour la caractérisation en consommation des FPGA (article scientifique en cours). Dans le même temps, j'ai pu avoir des formations et explications sur la reconfiguration dynamique sur FPGA, le prototypage rapide à base de FPGA/DSP et le flot de conception ASIC, ...
Programmation en VHDl et C.
· Spécification du FPGA virtex 1 et E ainsi que la carte de développement,
· Spécification de l’IP (intellectual property) cœur de processeur : LEON2
· Développement de programme VHDL :
§ Pour l’implémentation d’opérateur arithmétique et logique.
§ Pour l’implémentation d’un algorithme de génération de signaux aléatoire.
· Synthèse et implémentation à l’aide de l’outil Xilinx ISE 6.2
· Simulation sur Modelsim
· Implémentation sur carte (JTAG).
· Définition du fichier de contraintes (.ucf).
· Programmation de l’EPLD.
· Mesure de consommation physique sur carte pour modélisation mathématique des opérateurs.
· Implémentation de l’IP.
· Synthèse et compilation de code C pour l’IP cœur de processeur LEON2.
· Rédaction d’un tutorial sur la marche à suivre pour l’implémentation et sur les configurations à apporter pour l’IP LEON.
· Formations et conférences sur la reconfiguration dynamique, systemC, flot de conception, prototypage rapide à base de FPGA/DSP, …
Le but, ainsi que le sujet de cette mission s’inscrit dans un projet globale de caractérisation à l’aide d’un outil automatique (GAUT) d’une architecture optimale en vitesse, surface et consommation d’un algorithme de type traitement du signal.
Mise en oeuvre d'un produit pour le secteur médicale, il s’agissait de réaliser un test de dextérité manuel. Il s’agit en réalité d’un labyrinthe composé de deux molettes et d’une bille qui doit suivre un chemin particulier ; pour des raisons d’objectivités, il a été décidé d’automatiser ce test. Pour cela, on a mis en oeuvre une dalle tactile, pour repérer la position de la bille sur la surface, ainsi que son composant électronique, puis on a créé une carte électronique comportant notamment ce composant ainsi qu’un microcontrôleur de chez Motorola (68HC908), création d'un driver USB pour la communication entre la carte et le PC via le port USB, création de son progiciel. En ce qui concerne le suivi du projet, je suis parti de la rédaction du cahier des charges jusqu'à la mise en oeuvre du prototype en passant par toutes les étapes de développement, de validation et de négociations avec les futurs clients. (Actuellement recherche de partenaires et dépôt de brevet).
Utilisation de la programmation en assembleur, C, C++ et VB.
Pour la réalisation d’un module pour la mesure de la dextérité manuelle :
§ Spécification du cahier des charges,
§ Recherche de solutions
§ Développement d’une solution à base de dalle tactile résistive 4 fils.
§ Développement d’une carte électronique à base de microcontrôleurs.
§ Réalisation d’une carte de programmation pour microcontrôleurs.
§ Développement de la communication entre la carte et le PC via le port USB, développement du driver USB avec son protocole.
§ Développement du progiciel pour la mise en forme et la présentation des mesures
§ Développement du prototype (électronique et mécanique).
§ Présentation et démonstration.