Co-design, Systems on Chip, Hardware-Software Integration · textbook
Voir tous les documents en génie logiciel
Fiche de révisionExplication
Rédigée à partir de ce document, puis vérifiée avant publication.
Cet article s'adresse aux étudiants et chercheurs en informatique embarquée et en conception de systèmes sur puce (SoC). Il présente la co-conception matérielle et logicielle, une approche essentielle pour concevoir des systèmes complexes intégrant à la fois du matériel et du logiciel. L'article explique les concepts fondamentaux, la méthodologie employée, ainsi que les modèles de spécification et de calcul utilisés dans ce domaine.
Le travail traite du défi de concevoir des systèmes sur puce (SoC) qui combinent des processeurs, des composants matériels spécialisés et des logiciels. La question centrale est : comment concevoir conjointement le matériel et le logiciel pour obtenir un système performant, fiable et conforme aux besoins, tout en maîtrisant la complexité croissante de ces systèmes hétérogènes ? Cette problématique est importante car les méthodes classiques, où le matériel est défini avant le logiciel, limitent la flexibilité et les performances. La co-conception vise à repousser les choix matériels le plus tard possible dans le processus, permettant une meilleure optimisation globale.
Pour comprendre la co-conception, il faut d'abord saisir plusieurs notions clés :
Les systèmes embarqués (ES) sont complexes et nécessitent une partition en composants hiérarchisés, avec des modèles structurels et comportementaux. La modélisation permet de lever les ambiguïtés des spécifications informelles et d’automatiser la conception.
La méthode adoptée repose sur un flot de conception structuré intégrant plusieurs étapes :
Le flot de conception implique une collaboration étroite entre concepteurs hardware et software, utilisant des outils de CAO électronique pour décrire, simuler et vérifier les modèles. La co-conception permet de retarder les décisions matérielles, favorisant ainsi une meilleure optimisation des performances et de la consommation.
Pour modéliser le comportement des composants, différents modèles de calcul sont utilisés :
Ces modèles sont choisis en fonction des besoins du système et peuvent être combinés pour gérer l’hétérogénéité intrinsèque des systèmes embarqués. Par exemple, un système GPS peut être spécifié en combinant des données continues (position GPS) et des comportements discrets (interface utilisateur, états de fonctionnement).
Le travail met en évidence que :
Le travail souligne plusieurs défis non totalement résolus :