Chapitre 1 : La Méthode De Conception Classique 2024-2025 PDF
Document Details
Uploaded by IllustriousWalnutTree
2024
Tags
Related
- Introduction aux Systèmes d'Information en Santé PDF
- Chapitre 2 Architecture des systèmes embarqués SoC MPSoC PDF
- Cours de Programmation Cible Embarqué PDF
- Cours Systèmes D'exploitation Pour L'Embarqué (Licence EEA 3) 2024-2025 PDF
- Le Timer - Cours PDF
- Conception de composants programmables et langage HDL PDF
Summary
Ce document présente le chapitre 1 sur la méthode de conception classique pour les systèmes embarqués et IoT. Il décrit les concepts fondamentaux et les étapes clés de la démarche. L'année universitaire est 2024-2025.
Full Transcript
CHAPITRE 1: LA MÉTHODE DE CONCEPTION CLASSIQUE Mastère Professionnel en systèmes embarqués & IoT Année Universitaire 2024-2025 PLAN Introduction aux systèmes embarqués Méthode de conception des systèmes embarqués 1. La méthode de conception classique 2. Outils...
CHAPITRE 1: LA MÉTHODE DE CONCEPTION CLASSIQUE Mastère Professionnel en systèmes embarqués & IoT Année Universitaire 2024-2025 PLAN Introduction aux systèmes embarqués Méthode de conception des systèmes embarqués 1. La méthode de conception classique 2. Outils de CAO et environnements de conception Introduction aux Systèmes Embarqués Où se trouvent les SE? Différents secteurs industriels Télécoms Aéronautique Automobile Construction électrique Transport ferroviaire Cartes à puce Explosion des besoins : doublement du nombre d'objets intelligents et de la complexité embarquée tous les 2/3 ans Chaque industrie est confrontée à des contraintes spécifiques SE - Définitions Il existe plusieurs définitions des systèmes embarqués Un SE peut être défini comme un système électronique et informatique autonome ne possédant pas des entrées/sorties standards comme un clavier ou un écran d'ordinateur (PC). Le système matériel et l’application sont intimement liés et noyés dans le matériel et ne sont pas aussi facilement discernables comme dans un environnement de travail classique de type PC. Un SE peut être défini comme étant un système de traitement de l'information qui répond aux stimulus externes dans un délais bien défini. – L'exactitude de la réponse dépend non seulement du résultat logique mais également du temps de réponse. – Répondre en retard est aussi mauvais qu’une mauvaise réponse! Un SE est un système mixte. Il combine le Hw et le Sw pour accomplir une fonction particulière. Il est une partie d’un système plus complexe qui n’est pas forcément un "ordinateur". Il travaille dans un environnement réactif et sous contrainte temporelle. Une partie du SE est logicielle (Sw). Elle est utilisée pour la flexibilité. L’autre partie est matérielle (Hw) utilisée pour améliorer les performances (& de temps à autre, la sécurité). Une définition générique du SE peut être : un (sous) système intelligent capable d’exécuter un ensemble prédéfini de tâches. – Il contient plusieurs capteurs lui permettant d’acquérir de l’information du monde qui l’entoure. – Il peut contenir des actionneurs ou des interfaces associées à ces capteurs. Il peut contenir aussi plusieurs liens de communication avec d’autres SE. Système embarqué temps-réel : système mixte contenant du logiciel exécuté par une architecture matérielle sous-jacente. Architecture en couches d'un système embarqué Différents composants d'un système embarqué La consommation en énergie, le coût et la fiabilité sont des attributs très influents lors de la conception d’un SE. Un SE est un système numérique et autonome à hautes performances et fortes contraintes temporelles. Il utilise généralement un processeur. Il exécute un logiciel dédié pour réaliser une fonctionnalité précise. Il n’a pas réellement de clavier standard (KB, clavier matriciel...). L’affichage est limité (écran LCD…) ou n’existe pas du tout. Il n’est pas un PC. Il n’exécute pas une application scientifique ou commerciale traditionnelle. 4 types de SE Calculs généraux Application similaire à une application de bureau mais empaquetée dans un système embarqué. jeu vidéo, set-top box. Systèmes de contrôle (automatisme) Contrôle de systèmes en Temps Réel. Moteur d’automobile, process chimique, process nucléaire, système de navigation aérien. Traitement du signal Calcul sur de grosses quantités de données. Radar, Sonar, compression vidéo. Communication & réseaux Transmission d’information et commutation. Téléphone, Internet. Méthode de conception des systèmes embarqués 1. La méthode de conception classique La méthode de conception classique des systèmes embarqués, également appelée cycle en V ou cycle en cascade, est un processus séquentiel et structuré, largement utilisé dans l'industrie pour développer des systèmes où les exigences sont bien définies dès le départ. Ce modèle suit une série d'étapes organisées de manière linéaire, chaque étape devant être complétée avant de passer à la suivante. Le « cycle en V» est généralement utilisé dans la description du cycle de développement d’un système embarqué. Le cycle est composé de deux branches. La branche descendante, qui correspond à une démarche de raffinements successifs, décrit les phases de conception allant du général, qui démarre avec l’expression des besoins, au particulier. La branche ascendante détaille les phases d’intégration et de validation correspondant à chaque phase de conception. La conception d’un système suivant le cycle en V permet de retarder le choix de la technologie de réalisation. Les efforts sont concentrés sur la spécification et la conception. Cycle de développement en V d’un système embarqué Spécification des exigences : Objectif : Définir clairement les besoins fonctionnels et non fonctionnels du système. Activités : Collecte des exigences auprès des parties prenantes (clients, utilisateurs finaux, etc.). Définition des spécifications fonctionnelles (ce que le système doit faire). Définition des spécifications non fonctionnelles (contraintes de performance, de sécurité, de consommation d'énergie, etc.). Documentation des exigences sous forme d’un cahier des charges. Conception de l'architecture système: Objectif : Créer une architecture globale qui répond aux exigences spécifiées. Activités : Décomposition du système en sous-systèmes ou modules. Définition de l'architecture matérielle (choix des composants matériels). Définition de l'architecture logicielle (répartition des tâches entre le matériel et le logiciel). Définition des interfaces entre les différents modules (bus de communication, protocoles, etc.). Conception détaillée : Objectif : Détailler la conception de chaque module du système. Activités : Conception des schémas électroniques pour les composants matériels. Définition des algorithmes et des structures de données pour les logiciels embarqués. Spécification des interfaces matérielles et logicielles. Création des diagrammes détaillés (diagrammes de flux de données, diagrammes de classes, etc.). Implémentation Objectif : Réaliser physiquement et logiquement le système conçu. Activités : Développement du code logiciel en respectant la conception détaillée. Conception et fabrication des circuits imprimés (PCB) pour le matériel. Intégration des composants matériels et logiciels. Développement des drivers nécessaires pour le fonctionnement du matériel. Tests unitaires Objectif : Vérifier individuellement chaque module ou composant du système. Activités : Création et exécution de tests unitaires pour chaque module logiciel. Tests fonctionnels des circuits imprimés et des composants matériels. Vérification de la conformité de chaque module aux spécifications définies. Intégration système Objectif : Assembler les différents modules pour former le système complet. Activités : Intégration des modules matériels et logiciels. Test des interfaces entre les modules pour s'assurer qu'ils communiquent correctement. Identification et résolution des problèmes d'intégration. Tests système Objectif : Vérifier que le système global répond aux exigences initiales. Activités : Exécution de tests fonctionnels complets pour valider le comportement global du système. Tests de performance pour vérifier que le système respecte les contraintes temporelles, de consommation, etc. Tests en conditions réelles pour évaluer le fonctionnement du système dans son environnement d’utilisation. Validation Objectif : Assurer que le système conçu correspond parfaitement aux attentes des parties prenantes. Activités : Revue finale avec les parties prenantes pour valider que le système répond aux besoins. Vérification de la conformité aux normes et aux réglementations applicables. Acceptation formelle du système par le client ou les utilisateurs. Déploiement Objectif : Mettre en service le système dans l’environnement prévu. Activités : Installation du système sur site ou livraison aux clients. Formation des utilisateurs et du personnel de maintenance. Documentation du système pour l’exploitation et la maintenance. Maintenance Objectif : Assurer la durabilité et la performance continue du système. Activités : Surveillance du système en opération pour détecter d'éventuels problèmes. Réalisation des mises à jour logicielles ou matérielles pour corriger des bugs ou améliorer les performances. Gestion des retours clients et support technique. La méthode de conception classique est très structurée et assure une traçabilité claire à chaque étape du développement. Cependant, elle peut être rigide, car elle ne prévoit pas de retour en arrière facile si des modifications importantes sont nécessaires après le début du processus. Cette méthode est souvent utilisée dans les industries où les exigences sont stables et bien définies, comme l'aérospatiale, la défense, et les applications médicales. 2. Outils de CAO et environnements de conception Les environnements : ( Méthodes et outils de CAO) – Faciliter la conception – Augmenter la productivité – Automatiser des phases de conception Environnements de spécifications : Modèles de spécification Modèles de représentation : décrivent l’évolution d'une ou de plusieurs sorties en fonction des entrées du comportement fonctionnel du système (du plus simple au plus complexes) – Equations logiques, table de vérité, chronogrammes, table de transitions, diagramme états/transitions (GEF) : Ces modèles conduisent à une déduction directe de la solution – Grafcet, statechart, réseau de Pétri, diagramme des activités : Ces modèles nécessitent une transformation pour se ramener aux cas précédents – Modèles mathématiques, description algorithmique (organigramme), etc. : Ces modèles permettent de spécifier des applications plus complexes mais nécessitent bien entendu un travail plus conséquent pour définir l'architecture interne permettant de satisfaire au mieux les spécifications Spécification de haut niveau Concepts de base de la spécification de haut niveau Au cours de la réalisation de l’étape de spécification, il est nécessaire de vérifier un certain nombre de concepts. Modularité Le développement des spécifications de grandes tailles nécessite leur découpage en plusieurs spécifications de tailles réduites, appelées modules. Chaque module correspond à un problème plus simple à résoudre et souvent plus efficace. Cette méthode suit le dicton "diviser pour mieux régner". Hiérarchie Contrairement à la vision de modularité, la hiérarchie correspond à une approche ascendante qui s’achève par une abstraction. En effet, dans cette approche, nous nous intéressons à la composition de modules, c'est à dire au regroupement de modules élémentaires pour construire des modules plus complexes. L'intérêt de la composition est de permettre la réutilisation des modules de base, ce qui permet de réduire les erreurs et les coûts de développement. Concurrence Souvent, nous sommes amenés à décomposer un système complexe en un ensemble de sous-systèmes parallèles et communicants. La spécification de la concurrence entre les sous- systèmes est due à ce parallélisme de fonctionnement ; le but étant de préciser le parallélisme de fonctionnement des sous-ensembles ainsi que le partage de signaux et de données. Étapes de Spécification et modélisation Description (Spécification) fonctionnelle Modélisation de l’envirennement Extraction des services demandées par l’extérieur Comportement globale dicté par ces services (Quoi) Décomposition fonctionnelle Répartirions de la description sous forme de blocs fonctionnels : (Modularités, Hiréarchie, Abstraction, etc.) Partitionnement architectural (Raffinement) Transformation de manière hiérarchique des descriptions comportementales Environnements de spécifications : « HDL » Langages de description de matériel « HDL » : – Description de tout type de circuit : (Instructions séquentielles et concurrentes) VHDL : (de VhsicHDL) Very high speed integrated circuit HDL: – Deux types de descriptions – multi niveaux. – V-Synth de Honewell, HIS d’IBM, Amical de TIMa, Gaut du LESTER, Monet de Mentor, etc Verilog : – Idem que VHDL – Architect ’s Workbench de Carnegie de Mellon (SHN) Choix d'un langage dépend fortement de : – son admissibilité par les outils de simulation et de synthèse – et de sa capacité d’abstraction du comportement souhaité. Environnements de synthèse et de simulation : Niveaux et domaines de description La spécification se fait selon Trois domaines (vues) et Cinq niveaux (complexités) Diagramme de Gajski Domaine comportemental La description comportementale exprime, de l'extérieur, comment les sorties d'un élément ou d'une entité répondant à l'excitation des entrées. - Le niveau électrique exprime dans le temps les relations d'entrée-sortie : timing, délai, fréquence d'utilisation, etc. - Le niveau logique est décrit par les équations booléennes. - Au niveau architectural, c'est la description RTL (Register Transfer Language) permettant d'exprimer les opérations effectuées avec les registres et les opérateurs à l'aide d'un diagramme à états finis. - La description algorithmique convient pour le niveau fonctionnel. - Le niveau spécification considère le circuit de l'extérieur avec l'énoncé des contraintes. Domaine structurel Le niveau structurel le plus bas est le transistor formant l'élément de base du niveau électrique. Au niveau logique l'élément de base est généralement la porte complexe Au niveau architectural (RTL) ce sont des modules tels que l'ALU, la RAM les controleurs qui peuvent être constitués par un ou plusieurs séquenceurs. Le niveau fonctionnel décrit l'interconnexion de fonctions définies par un comportement ou une structure. Domaine physique La structure de base qu'est la cellule dépend beaucoup de la technologie, elle est mise au point par les technologues; c'est la brique de base pour que le concepteur puisse construire toute la hiérarchie de son circuit. Environnements de synthèse et de simulation: Flot typique Compilateur idéal : – part d'une représentation système – utilise tous les niveaux d'abstraction comme format intermédiaire La Synthèse : transformation d'une description comportementale en la description structurelle correspondante Synthèse physique: Compilateur de Silicium : génération automatique de dessins de masques Synthèse logique Synthèse RTL Synthèse comportementale (Arch., HN)