FrançaisEnglish

Outil de description d'architectures matérielles

Date: 2018-2019

Contexte du stage

Le laboratoire LIP6 maintient et fait évoluer depuis de nombreuses années un flot de conception de circuits intégrés (Coriolis) qu'il diffuse sous licence libre : FOSS for Free HW. Dans ce flot, de nombreux efforts ont été mené ces dernières années pour proposer des outils de placement/routage efficaces. En amont de ces outils, Stratus est un langage haut-niveau de description de matériel qui s'appuie sur Python. Stratus a été conçu à l'origine pour générer de manière procédurale des circuits numériques. La conception de circuits dépend souvent de contraintes extérieures diverses (débit, surface, propriétés, etc.). Ainsi un besoin grandissant d'intégrer toutes ces contraintes dès la description se fait de plus en plus sentir. Il est donc nécessaire de repenser l'outil Stratus dans son ensemble pour répondre à ce besoin.

Objectifs du stage

Nous souhaitons donc revoir dans son ensemble l'outil Stratus afin de le rendre plus conforme aux besoins de conception actuels. Ainsi, il faudra dans un premier temps proposer un modèle de données permettant de représenter l'ensemble des concepts de description matérielle, puis fournir toutes les fonctionalités permettant de construire le modèle d'un circuit. Dans un soucis de réutilisation de l'existant, il faudra également assurer la compatiblité avec l'ancienne version de Stratus. Enfin, il faudra permetre à l'outil de pouvoir faire des choix lors de la construction du modèle, choix dépendants des contraintes de conception.

Travail à effectuer

Les tâches à réaliser durant ce stage sont les suivantes :

  • Revue des différents modèles de représentation du matériel,
  • Etude de l'outil existant Stratus, de ses avantages et inconvénients,
  • Proposition d'un modèle de données remplissant l'ensemble des besoins,
  • Etablissement du langage et des fonctionalités permettant de construire le modèle,
  • Mise en oeuvre sur des exemples de circuits numériques (RISC-V, blocs crypto etc.).

Compétences requises

  • Curiosité pour les outils de conception de matériel
  • Modélisation et programmation objet
  • Programmation en langage Python

Encadrement

Ce stage sera financé par le LIP6 au tarif en vigueur à Sorbonne Université (environ 550 euros). Il se déroulera dans les locaux du LIP6 et sera encadré par :

Roselyne Chotin-Avot et Jean-Paul Chaput

Il pourra déboucher sur un emploi CDD dans le cadre des projets MOOSIC et EchOpen.