-
-
-
-
-
-
-
HomeSite map
SoC/Offres d'emplois/Stages/2014-2015/CIAN/Synthèse de circuits utilisant l'arithmétique virgule fixe Print page

Synthèse de circuits utilisant l’arithmétique virgule fixe

Descriptif

Le but de ce stage est de rapprocher deux outils (développés respectivement dans les équipes CIAN et PEQUAN) qui sont finalement à utiliser à la suite l’un l’autre dans un flot de conception :

  • FiPoGen est un outil développé dans le cadre de la thèse de Benoit Lopez et du projet ANR DEFIS (Design of fixed-point embedded systems, 2011-2014) permettant de transformer un algorithme en du code virgule fixe (plus précisément, un graphe d’opérations virgule fixe, avec calcul des erreurs commises, optimisations des largeurs des opérateurs (sous contrainte d’erreur de sortie), etc.). FiPoGen est principalement dédié à l’implantation des filtres linéaires récursifs, dans la mesure où certaines parties (évaluation de la dynamique, etc.) ne sont garanties que dans ce cadre pour le moment.
  • Stratus est un outil développé dans l’équipe CIAN permettant de décrire des composants matériels numériques sous forme de générateur dont les paramètres peuvent être aussi bien matériels (largeur des données, type d’opérateur etc.) que logiciels (système de numération, contraintes etc.). Il permet notamment d’adapter facilement un composant à son contexte d’utilisation.

L’équipe CIAN développe des circuits mixtes analogique/numérique. Ces circuits sont décrits à un haut niveau d’abstraction en utilisant des réels. Lorsqu’il faut les synthétiser, il est nécessaire de trouver la bonne représentation virgule fixe, ainsi que l’enchainement des calculs virgule fixe satisfaisant les contraintes numériques du circuit (erreur sur la sortie, par exemple), ce que permet l’outil FiPoGen. Une fois cela, le graphe de calcul est utilisé par l’outil Stratus pour générer le circuit adéquat.

La mise en commun des deux outils permettrait de générer directement un circuit numérique à partir de la description haut niveau du circuit mixte analogique/numérique, ce qui est en enjeu majeur dans le domaine de la conception mixte analogique/numérique.

     

Étude théorique

La mise en commun des deux outils pour proposer un flot de conception complet, nécessite tout d’abord d’identifier les verrous technologiques existants. Ces verrous peuvent être de plusieurs sortes :

  • Le niveau de description du circuit initial n’est pas adapté à l’outil FiPoGen
  • Le type de circuit n’est pas pris en compte par l’outil FiPoGen
  • Les opérateurs utilisés ne sont pas présents dans l’outil Stratus
  • Etc.

Cette identification pourra se faire à l’aide d’exemples concrets de circuits qui ont été synthétisés par l’équipe CIAN, et d’exemple académiques classiques traités dans l’équipe Pequan.

       

     

Objectifs

L’intégration de FiPoGen et Stratus est déjà réalisée, dans le sens où Stratus peut déjà prendre en entrée le graphe de calcul obtenu par FiPoGen et générer l’architecture matérielle correspondante. Ceci a pu être validé sur l’ensemble des exemples traité par FiPoGen. 

     

Mais il reste maintenant à exploiter leurs interactions possibles, et voir comment exploiter de manière conjointe les phases d’optimisation. Par exemple, lors de sa phase d’optimisation, FiPoGen devrait être capable d’interroger le moteur de Stratus afin d’obtenir une estimation des performances de l’architecture matérielle et d’en tenir compte. De plus il serait bien de pouvoir prendre en entrée une description Simulink de l’algorithme à implémenter (standard utilisé dans l’industrie).

Les objectifs de ce stage sont donc :

  • Intégrer à FiPoGen l’importation de descriptions Simulink
  • Etendre les exemples traités par FiPoGen aux circuits mixtes analogiques/numériques
  • Enfin tenter d’exploiter de manière conjointe les différents degrés de liberté de chaque outil.

Il sera alors possible, partant d’un exemple concret et d’une contrainte sur la qualité numérique de l’implémentation, de générer automatiquement une implémentation matérielle, avec garantie sur la qualité numérique et sur les performances de l’implantation matérielle. 

     

Encadrement

Ce stage sera encadré par :

 

 

 

LIP6 LIP6-SoC LIP6 CNRS UPMC