Amélioration et extension du support de l’architecture SoC FPGAau sein de la suite d’outils ADES
Contexte
CIELE Ingénierie est une entreprise spécialisée dans le développement de solutions embarquées électroniques et logicielles. Les solutions développées par CIELE sont aujourd’hui intégrées dans les domaines d’expertises dits critiques tels l’avionique, l’automobile, le ferroviaire et la défense.
CIELE développe aujourd’hui des solutions basées sur une nouvelle architecture matérielle dénommée SoC/FPGA. Le SoC/FPGA intègre au sein d’une unique puce un processeur physique ASIC (e.g. ARM/Cortex-A9 double-cœur) et un FPGA. Cette architecture permet de combiner les avantages de l’ASIC (fréquence élevée, utilisation d’un OS embarqué et des applicatifs haut-niveau, IHM, etc.) à ceux du FPGA (accélération matérielle, acquisition et traitement de larges volumes de données à haut débit, etc.). Si les bénéfices sont conséquents, l’intégration de cette architecture est complexe et nécessite la modification du processus de développement traditionnel des systèmes embarqués basé sur ces technologies.
L’initiative R&D de CIELE est de proposer des outils permettant de concevoir, de valider et d’accélérer le déploiement des briques matérielles et logicielles constituants le système embarqué. Ainsi, le CI-lex Builder 2 est une première solution qui simplifie le déploiement et la reconfiguration des briques matérielles du FPGA lors de la phase de prototypage.
Aujourd’hui, CIELE souhaite enrichir cette solution et a initié le développement de la suite d’outils ADES (Automatic Deployment of Embedded Solutions) visant à simplifier la conception, la validation et le déploiement des briques matérielles (IPs, DSPs..) et des briques logicielles (OS embarqué, drivers, applicatifs) selon un nouveau processus de développement adapté au SoC.
Objectifs et travail à réaliser
La suite d’outils ADES fournit des fonctionnalités adressant aussi bien le développement de briques logicielles applicatives que celui de briques matérielles. Ces fonctionnalités peuvent être invoquées à différentes phases du processus de développement.
L’une des fonctionnalités de l’outil doit permettre la production automatisée d’un modèle dit "matériel qui sera utilisé́ par un outil de synthèse tel Xilinx/Vivado ou Altera/Quartus pour synthétiser l’image du SoC FPGA. ADES fournit un framework permettant de modéliser les composants matériels et logiciels. Ce modèle ADES devra servir de point d’entrée au générateur de modèle "matériel.
Les objectifs de ce stage sont :
- Contribuer et enrichir le framework de modélisation ADES existant
o Améliorer et compléter la modélisation du composant matériel SoC FPGA
o Modéliser les composants matériels usuels d’une carte électronique de CIELE
- Implanter les fonctionnalités manquantes pour la génération du modèle (i.e. projet) pour les outils de synthèse industriels.
- Les actions de génération mais aussi celle de synthétisation du modèle "matériel et de déploiement de l’image synthétisée du SoC FPGA devront être enrichies ou implantées si manquantes
Pour cela, il sera nécessaire d’analyser l’architecture de la suite d’outils et de prendre du recul par rapport aux choix technologiques effectués. On cherchera en particulier à capitaliser sur les briques logicielles existantes, sur les outils de transformation de modèles intégrées mais aussi à satisfaire le caractère générique de la fonctionnalité́.
La validation s’effectuera sur un projet industriel de CIELE Ingénierie.
Prérequis et apports du stage
Le stage présentant une partie pratique assez importante, il est nécessaire d’avoir une expérience raisonnable de la programmation. Il permettra d’acquérir une solide expérience dans la modélisation de systèmes et les principes de transformation de modèles et de génération de code. Il sera l’occasion de se familiariser avec des techniques de conception déjà̀ éprouvées et appelées à se développer, tant au niveau de la recherche que de l’industrie.
Ces travaux seront intégrés à la suite d’outils ADES.
En fonction des résultats, ce stage peut déboucher sur une embauche ou une thèse CIFRE.
Profil
Stage ingénieur de niveau bac + 5, spécialisation systèmes logiciels embarqués et/ou FPGA.
Connaissances souhaitées :
Architecture microcontrôleur, FPGA, SoC FPGA
Outils de synthèse Xilinx/Vivado, Altera/Quartus ou autre…
Programmation C, VHDL, TCL
Développement sur plateforme Eclipse (Java, EMF…)
Informations administratives
Responsables du stage :
G. Lasnier
C. Palarino
Encadrants du stage :
H. Haouaneb
G. Lasnier
Lieu du stage : bureau d’étude CIELE Ingénierie Créteil Europarc Métro L8 Créteil Pointe du Lac
Rémunération : 900 1100 € selon profil
Durée : six mois