Développement d’un Système embarqués à base du processeur NIOS II Plan Dévelop
Développement d’un Système embarqués à base du processeur NIOS II Plan Développement d’un Système embarqué Cibles logiciels et matérielles Co-design Hardware/Software Processeur Soft Core Processeur NIOS II Logiciels de développement La difficulté est comment implémenter une fonctionnalité. Exemple: un algorithme de compression vidéo : – Plus rapide par hardware mais plus cher. – Plus flexible par logiciel mais plus lent. On doit être capable de jongler en plus avec les paramètres suivants: – Coût. – Rapidité. – Robustesse. 3 Développement d’un Système Embarqué 4 Développement d’un Système Embarqué Développement d’un Système Embarqué 1ère étape: Choix du matériel (composants électroniques, processeur…) pour le système embarqué. 2ème étape: Donner le système conçu aux programmeurs. 3ème étape: Les programmeurs doivent réaliser un logiciel qui « colle » au matériel en n’exploitant que les ressources offertes. 5 Complexité d’un Système embarqué Les systèmes embarqués sont de plus en plus complexes. Il est de plus en plus difficile de penser à une solution globale optimisée du premier jet. Il est de plus en plus difficile de corriger les « bugs ». Il est de plus en plus difficile de maintenir le système au cours du temps . En conséquence, l ’approche traditionnelle de développement d ’un système embarqué doit évoluer... 6 Solution à la complexité Dans le processus de conception, on doit garder le système à un niveau d’abstraction important le plus longtemps possible. Le système doit pouvoir être décomposer en sous-systèmes suivant une hiérarchie logique (approche objet). – Si le design change, on doit pouvoir en réutiliser une bonne partie (design reuse). – Il ne faut pas jeter à la poubelle un précédent design et repartir «from scratch » ! 7 Conception d’un Système Embarqué Concevoir un système embarqué demande au concepteur des compétences multidisciplinaires : –Compétences hardware et software : microprocesseur, microcontrôleur, DSP, FPGA, Co-design, VDHL, assembleur, E/S, C, RTOS, réseau, Linux, Java... – Connaissance des systèmes numériques. – Savoir travailler en équipe avec des ingénieurs d’autres disciplines. – Comprendre le besoin du client et savoir aussi l’identifier ! 8 Co-design Hardware/Software Définition: Le Co-design permet de concevoir en même temps à la fois le matériel et le logiciel pour une fonctionnalité à implémenter. Cela est maintenant possible avec les niveaux d’intégration offerts dans les circuits logiques programmables. Le Co-design permet de repousser, le plus loin possible dans la conception du système, les choix matériels à faire, contrairement à l’approche classique où les choix matériels sont faits en premier lieu ! 9 Conception et Co-design 10 Conception traditionnelle Co-design Réalisée par des groupes d’ingénieurs indépendants Réalisée par le même groupe d’ingénieurs en coopération 11 Cahier des charges Spec au niveau système Partitionnement Spec HW Spec SW Synthèse HW Synthèse SW Tests unitaires Tests unitaires Tests d’Intégration Evaluation des perfs Conception et Co-design Les étapes dans le Co-design Durant le processus de Co-design, on distingue les étapes suivantes : – Spécifications : liste des fonctionnalités du système de façon abstraite. – Modélisation : conceptualisation et affinement des spécifications produisant un modèle du matériel et du logiciel. – Partitionnement. – Synthèse et optimisation : synthèse matérielle et compilation logicielle. – Validation. – Intégration. – Tests d’intégration. 12 Les µP, µC et DSP: Avantages : – Simple à mettre en œuvre grâce à la programmation de haut niveau (langage C) (possibilité de grande abstraction par rapport au matériel) – Temps de conception courts et coûts de conception faibles – Flexibilité: il suffit de modifier le programme pour modifier l’application – Prix de revient faible Inconvénients : - Faibles performances (vitesse de fonctionnement, puissance de calcul, etc) à cause d’une architecture séquentielle (une opération à la fois) - Trop nombreux d’accès à la mémoire (instructions + données) Les cibles logicielles : Les cibles matérielles spécialisées (ASIC) : Spécialisé pour une application Réalisation complexe Extrêmement performant Circuit = cahier des charges Les cibles matérielles spécialisées (ASIC) : Les cibles matérielles spécialisées (ASIC) : Avantages : Inconvénients : Les cibles matérielles (FPGA) : Avantages : – Possibilité de prototypage, – Low time to market, – Adaptabilité aux évolutions futures (reconfiguration), – Flexibilité. Inconvénients : – Intégration limitée, – Moins performant qu’un ASIC, – Prix unitaire élevé en production de masse. Les cibles matérielles (FPGA) : 19 Processeur Soft Core On retrouve les solutions des deux leaders mondiaux en matière de circuits logiques programmables, Xilinx et Altera : Processeur Microblaze pour Xilinx Processeur NIOS II pour Altera. Processeurs propriétaires: En 2004, Altera Corporation annonce la disponibilité de processeurs RISC embarqués à cœur logiciel Nios II 32 bits. La deuxième génération du NIOS II affiche une performance supérieure à 200 DMIPS. Ce processeur à cœur logiciel affiche: La plus grande flexibilité, Les meilleures performances , Le plus faible coût. Avantage: Comme le processeur Nios II est un soft Core, les développeurs peuvent choisir un nombre infini de configurations systèmes afin de répondre à leurs objectifs de performances et de coûts sans avoir à évaluer un ASIC. Processeur Soft Core NIOS II Cœur NIOS II STANDARD ECONOMY Perf max Perf moy Perf min FAST La gamme Nios II est composée de trois Soft Core : un cœur pour un maximum de performances, un cœur optimisé pour une utilisation limitée de la logique et un cœur qui est un compromis des deux autres. Processeur Soft Core NIOS II Processeur Soft Core NIOS II Le processeur Nios II est définit avec un langage de description matérielle(HDL), qui peut être implémenté sur les circuit FPGA d’Altera . Le processeur Nios II permet aux développeurs d’étendre le jeu d’instructions en ajoutant jusqu’à 256 instructions définies par l’utilisateur afin d’accélérer les tâches de traitement dans un délai toujours critique. système complet Problème: Coût, Complexité & Power Processeur Soft Core NIOS II Exemple d’un système embarqué: SoPC Processeur Soft Core NIOS II Flot de design d’un système NIOS II Outils de développement de ALTERA Altera fournit une gamme de logiciels facilitant le développeur dans les différentes étapes de la conception d’un système SoC exploitant le processeur NIOS II. Quartus II : Logiciel de conception utilisé pour concevoir des FPGA, des CPLD et des ASIC structurés d’Altera. 26 Outils de développement de ALTERA SOPC Builder : Un outil de développement qui automatise la définition et les phases d’intégration système du développement d’un SoC, en simplifiant énormément la création de ces projets complexes et en diminuant de façon significative le délai de mise sur le marché des nouveaux produits. Cet outil est intégré au logiciel Quartus II. Le processeur NIOS II est un des composants pouvant être proposé dans la bibliothèque de SoPC Builder. 27 Outils de développement de ALTERA Quartus II Outils de développement de ALTERA Nios II IDE : Fournit un environnement graphique de développement logiciel basé sur Eclipse. Permet d’éditer, compiler, télécharger, debugger et programmer la flash. Carte de développement 30 Exemple de développement d’un SoPC 31 DE2 115 50MHZ SOPC(FPGA) On-Chip Memory LCD Controller NIOS II Processor JTAG UART System Interconnect Fabric LCD RESET USB Blaster PC POWER Exemple de développement d’un SoPC Développement du software Boucle infinie: while(1) Fonction de lecture: IORD_ALTERA_AVALON_PIO_DATA(ADD_BASE); Fonction d’écriture: IOWR_ALTERA_AVALON_PIO_DATA(ADD_BASE, val); 33 Exemple du software #include <stdio.h> #include "system.h" #include "altera_avalon_pio_regs.h" int main() { int count = 0; int delay; while(1) { IOWR_ALTERA_AVALON_PIO_DATA(PIO_LED_BASE, count & 0x01); delay = 0; while(delay < 2000000) { delay++; } count++; } return 0; } 34 uploads/Industriel/ cours-co-design.pdf
Documents similaires
-
20
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Dec 04, 2021
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 1.6442MB