La co-conception en systèmes sur puce
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.
D'après le document La co-conception en systèmes sur puce
Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Document source
Co-design, Systems on Chip, Hardware-Software Integration · PDF · 79 pages
Afficher l'aperçu du document
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.
La question
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.
Concepts de base
Pour comprendre la co-conception, il faut d'abord saisir plusieurs notions clés :
- Systèmes sur puce (SoC) : systèmes intégrés sur une seule puce combinant processeurs, mémoires, interfaces et blocs matériels spécifiques.
- Co-conception : conception simultanée du matériel et du logiciel, unifiant des chemins de conception traditionnellement séparés.
- Spécification : expression des besoins fonctionnels et non fonctionnels du système, souvent sous forme abstraite, sans présupposer une architecture particulière.
- Modèle de calcul (Model of Computation - MoC) : cadre mathématique définissant la syntaxe et la sémantique pour décrire le comportement des composants, leurs interactions et la gestion du temps.
- Abstraction et modélisation : processus de simplification et de représentation partielle d’un système pour faciliter sa compréhension et sa conception.
- Hétérogénéité : coexistence dans un même système de plusieurs types de modèles et de comportements (temps continu, temps discret, événements discrets), nécessitant des paradigmes multi-modèles.
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.
Approche
La méthode adoptée repose sur un flot de conception structuré intégrant plusieurs étapes :
- Spécification et modélisation : définir précisément les besoins, fonctionnels et non fonctionnels, et produire des modèles abstraits du système.
- Partitionnement : découper le système en composants matériels et logiciels.
- Synthèse et optimisation : transformer les modèles en implémentations matérielles (synthèse logique) et logicielles (compilation).
- Validation et intégration : vérifier la conformité aux spécifications, intégrer les composants et effectuer des tests d’intégration.
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 :
- Temps continu : modélisation par équations différentielles ordinaires (ODE) décrivant des comportements continus.
- Machines à états finis (FSM) : modèles discrets avec un nombre fini d’états, utiles pour décrire des comportements séquentiels.
- Systèmes hybrides : combinaison de comportements continus et discrets, où chaque état d’une FSM est raffiné par un comportement dynamique continu.
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).
Résultats
Le travail met en évidence que :
- La co-conception est une approche efficace pour concevoir des SoC complexes en intégrant matériel et logiciel dès les premières étapes.
- Les modèles de calcul (MoC) sont essentiels pour formaliser le comportement des composants, gérer la concurrence, la communication et le temps.
- Il n’existe pas de modèle unique couvrant tous les aspects des systèmes embarqués ; une approche multi-modèle est nécessaire.
- Les systèmes hybrides offrent une modélisation puissante pour les systèmes combinant comportements continus et discrets, comme les contrôleurs supervisés.
- Les outils de modélisation et de simulation, tels que Ptolemy, facilitent la conception et la validation des systèmes hétérogènes.
Limites et questions ouvertes
Le travail souligne plusieurs défis non totalement résolus :
- La difficulté d’intégrer et de faire communiquer différents modèles de calcul hétérogènes (multi-MoC).
- Le choix du modèle le plus adapté à chaque composant et à chaque phase de conception reste un compromis délicat.
- La vérification des systèmes temps réel, notamment la validation des contraintes temporelles et la gestion des interactions complexes entre matériel et logiciel.
- La gestion de la complexité croissante des systèmes embarqués, nécessitant des hiérarchies et des abstractions efficaces.
Glossaire
- Co-conception : conception simultanée du matériel et du logiciel d’un système.
- Modèle de calcul (MoC) : cadre formel définissant la syntaxe et la sémantique pour décrire le comportement et les interactions des composants.
- Machine à états finis (FSM) : modèle discret avec un nombre fini d’états et transitions conditionnées par des entrées.
- Système hybride : système combinant des comportements continus (équations différentielles) et discrets (états finis).
- Spécification : description abstraite des besoins fonctionnels et non fonctionnels d’un système.
- Partitionnement : découpage d’un système en composants plus simples pour faciliter la conception.
- Validation : processus de vérification que le système répond aux spécifications.
- Abstraction : simplification d’un système en ne conservant que les éléments pertinents pour une tâche donnée.
- Temps continu : modélisation où les variables évoluent de manière continue dans le temps.
- Temps discret : modélisation où les variables évoluent à des instants discrets.
Commentaires
Aucun commentaire pour le moment. Posez la première question.