| Efficient design of on-board computer heterogeneous embedded systems for space applications (Conception efficace de systèmes embarqués hétérogènes pour des applications spatiales) Lee, Seungah - (2025-01-15) / Université de Rennes Efficient design of on-board computer heterogeneous embedded systems for space applications
| |||
Langue : Anglais Directeur(s) de thèse: Casseau, Emmanuel Discipline : Informatique Laboratoire : IRISA Ecole Doctorale : MATISSE Classification : Informatique Mots-clés : Systèmes embarqués, Exploration de l'espace de conception, FPGA, HLS, LLVM IR
| |||
Résumé : Le traitement des données des charges utiles spatiales a été jusqu'à présent effectué au sol en raison des performances limitées des plates-formes de traitement embarquées. Cependant, grâce aux récents systèmes sur puce hétérogènes qualifiés pour l'espace, il est possible d'envisager une migration partielle des pipelines de traitement de données au sol vers la plateforme d'exécution embarquée des satellites. Cependant, en raison des caractéristiques très différentes des processeurs CPU et des FPGA (circuit reconfigurable), il est difficile d'effectuer efficacement la co-conception matérielle/logicielle. En particulier, en raison des propriétés de reconfigurabilité des FPGA, nous avons besoin d'une exploration de l'espace de conception (DSE) spécifique au matériel (HW) et à l'application, basée sur plusieurs fonctions objectifs. Dans cette thèse de doctorat, nous proposons des méthodologies efficaces d'exploration de l'espace de conception dédiées à la co-conception matérielle/logicielle. Nous proposons un modèle de performance permettant de comparer différentes implémentations matérielles/logicielles et de les positionner par rapport aux performances maximales théoriques de la plateforme d’exécution. Ainsi, les équipes chargées de la charge utile peuvent choisir une implémentation appropriée lorsqu'elles disposent de plusieurs bibliothèques matérielles/logicielles. Deuxièmement, nous proposons un outil d'aide à la conception matériel/logiciel qui permet à l'utilisateur de décider rapidement d'une cible d'exécution appropriée (CPU / FPGA) sans passer par un processus de conception laborieux. L'outil utilise la représentation intermédiaire LLVM et les passes d'analyse et de transformation de LLVM. Il prend en entrée un algorithme décrit à un haut niveau d’abstraction et fournit en sortie une description matérielle destinée à un outil de synthèse de haut niveau et accompagnée des optimisations à mettre en œuvre pour une cible FPGA. Ce type d’outil s’adresse en particulier aux utilisateurs qui souhaitent mettre en œuvre à partir de zéro un algorithme de traitement des données à embarquer dans un satellite et qui doivent très rapidement décider entre une cible d’exécution CPU ou FPGA. Abstract : Space payload data processing has been conducted on the ground because of the performance limit of on-board processing platforms. However, thanks to the recent space-qualified heterogeneous System-on-Chips, it is expected to partially migrate data processing pipelines on the ground to the on-board data processing platform of satellites. However, because of the different characteristics of CPUs and FPGAs, it is difficult to efficiently perform hardware/software co-design. Especially, because of the reconfigurable characteristics of FPGAs, we need hardware-specific and application-specific Design Space Exploration (DSE) based on several objective functions. In this Ph.D dissertation, we propose efficient DSE methodologies dedicated to hardware/software co-design. We propose an adapted roofline performance model to compare different hardware/software implementations and suggest possible optimizations. Thus payload teams can decide a suitable implementation when they have several hardware/software libraries. Secondly, we propose a hardware/software DSE estimation tool which facilitates users to decide a proper hardware target quickly without exhaustive design process. The tool uses the LLVM intermediate representation and LLVM’s analysis and transform passes. It takes as input a user-defined algorithm at a high level and provides a proper hardware target and High-Level Synthesis based optimizations for FPGA designs, which can help users who would like to implement a payload-specific algorithm from scratch and need to select a proper target hardware first between a CPU and an FPGA. | |||