Ingénieur design FPGA - Acquisition capteur
Prenez en main le design FPGA d'une carte d'acquisition ultrason haute vitesse, sur un produit existant à faire évoluer, au sein d'une ETI française reconnue à l'international.
L'entreprise
/!\ Disclaimer : Nous ne sommes pas une SSII/ESN, et ce poste n'est pas à pourvoir dans une SSII/ESN mais bien dans un bureau d'étude, en CDI direct. A bon entendeur ;)
Une ETI française spécialisée dans la conception et la fabrication de sondes à ultrasons pour l'imagerie médicale.
Son produit phare : un système d'imagerie ultrason haute vitesse, capable de piloter des matrices de capteurs émetteurs-récepteurs et de générer plus de 1,6 Tbit/s de données. Là où un échographe classique travaille en 2D avec une sonde linéaire, ce système pilote une matrice 2D de capteurs ultrasonores, chacun connecté individuellement, pour reconstruire des volumes entiers (organes, boîte crânienne) et modéliser les flux internes du corps humain.
L'architecture repose sur des cartes d'acquisition développées en interne, un FPGA au cœur de la chaîne, et un datacenter embarqué pour le traitement applicatif. L'entreprise est en phase d'industrialisation et de rationalisation de ses modules, avec l'ambition de pousser ses systèmes vers des configurations encore plus larges. L'équipe de Grenoble, autonome et à taille humaine, est au centre de ce développement.
Le poste
Vous rejoignez l'équipe Hardware-Software-Engineering de Grenoble, une équipe d'une dizaine d'ingénieurs et techniciens couvrant les domaines Software, Firmware et Hardware. Le responsable carte et FPGA sera votre interlocuteur direct et votre référent technique au quotidien.
Le produit sur lequel vous travaillez est une carte d'acquisition ultrason. Elle connecte 128 émetteurs-récepteurs ultrasonores à 8 ADC/DAC spécifiques, qui communiquent avec un FPGA Versal via des liens JESD. Le FPGA orchestre l'ensemble : génération des waveforms d'émission, récupération des samples en provenance des récepteurs, gestion de la RAM embarquée, et transmission des données vers l'extérieur via un lien Ethernet 100 GbE. Le traitement des données est déporté côté datacenter embarqué ; le FPGA, lui, reste garant de la tenue temps réel et de la fiabilité des interfaces. Une machine d'état tourne sur les cœurs ARM du Versal en bare metal, avec plus de dix domaines d'horloge à gérer.
1 - Évolution fonctionnelle du design existant
Vous partez d'un design fonctionnel, issu d'une première version de produit déjà rationalisée, et vous l'étoffez. Cela passe par l'ajout de nouvelles fonctionnalités, l'extension de la machine d'état, et ponctuellement des interventions dans le code C bare metal des cœurs ARM. L'enjeu est de faire évoluer le produit sans dégrader les timings ni la tenue temps réel du système.
2 - Rationalisation et frugalité des ressources
Un axe fort du poste : réduire l'empreinte du design sur le FPGA. L'objectif est de libérer des ressources pour les futures versions de carte, en visant un design plus compact et plus efficace. Cela demande une lecture fine de l'utilisation des ressources, une capacité à remettre en question des choix existants, et un vrai souci d'optimisation.
3 - Mise en place d'un flot de développement solide
Le poste inclut un travail de fond sur la qualité du développement : mise en place de tests, de non-régression, et d'une méthodologie plus structurée. L'idée est de professionnaliser le flot pour sécuriser les évolutions futures et réduire le risque sur un composant critique du produit.
Ce poste s'adresse à un ingénieur qui aime travailler sur un système concret, avec un existant à comprendre et à faire progresser. Pas un poste de conception from scratch, mais un poste où la rigueur, la curiosité technique et le sens du travail bien fait font toute la différence.
Le profil recherché
Vous avez entre 3 et 5 ans d'expérience en développement FPGA, avec une pratique des langages RTL et une première expérience sur des composants AMD-Xilinx. La famille Versal est un plus, mais ce n'est pas un prérequis absolu si vous avez déjà travaillé sur des architectures SoC comparables.
Vous savez produire des designs synthétisables, avec des bases en contraintes de timing, en environnements multi-domaines d'horloge et en interfaces série rapides. Le top ? Une connaissance en DDR, JESD204 ou Ethernet !
Vous savez vous servir d'un oscilloscope, travailler sous Linux, et gérer votre code sous Git. Des notions de C ou de Python pour les scripts et les tests seront les bienvenues.
Ce poste s'adresse à quelqu'un d'autonome techniquement, capable de s'approprier un design existant, de travailler en bonne intelligence avec le responsable technique en place, et d'avancer sur des sujets bien définis.
L'environnement est une petite équipe, avec des échanges directs entre métiers (électronique, firmware, software). La capacité à communiquer clairement, à poser des questions et à s'adapter compte autant que le niveau technique pur.
CDI direct au sein de l'entreprise, pas en prestation. L'équipe en-core vous accompagne tout au long du process.
À bientôt.