• Like
Altera nios ii embedded evaluation kit
Upcoming SlideShare
Loading in...5
×
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,614
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
44
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. ALTERA NIOS II EMBEDDEDEVALUATION KITSmati wassim
  • 2. Plan Spécification  Carte Fille LCD  Kit FPGA Cyclone III Softcore Nios II  Caractéristiques du NiosII  Diagramme du processeur Nios  Registres du Nios-II  Contrôleur d’interruptions  Jeu d’instructions NIOS II  Les différents types d’instructions RTOS  µC/OS II  µClinux
  • 3. Plan Outils De Développement Des SOCs  IDE Quartus II  Sopc Builder  Nios II EDS Pour IDE Eclipse Exemple Dimplémentation: Machine Détatctique IF4  Présenation De projet  Processeur Cisc 8 bit  Controleur VGA Conclusion
  • 4. Spécification Carte Fille LCD De Terasic  Afficheur Tactique LCD en Couleurs :Résolution 800X460  CODEC audio de qualité CD 24 bits avec ligne dentrée  (10/100) Couches Ethernet : Phy / MAC  Connecteurs :  Sortie VGA  Entrée TV composite  Sortie audio  Entrée audio et entrée microphone  Carte SD  connecteur en série (port RS-232 DB9)  PS/2  connecteur Ethernet (RJ-45)  8-pin debug  Taille :125*100 mm
  • 5. Spécification Kit FPGA Cyclone III dALTERA  Cyclone III EP3C25F324  25000 Logic Elements  Configuration avec USB-Blaster  Mémoires  SDRAM : 32 Mbits  SRAM : 1 Mbits  Flash : 16 Mbits  Rythme de lhorloge : oscillateur intégré 50 MHz  Boutons et indicateurs : 6 Boutons et 7 Leds  Connecteurs :  HSMC  USB Type B  Pré-programmée avec un design Nios-II présent dans la flash  Lorsque la configuration est terminée, le Nios II commence l’exécution du boot code présent en flash
  • 6. Softcore Nios II Caractéristiques du NiosII  Architecture de Harvard  Data Master port  Instruction Master port  Banc de 32 registres 32 bits  Chacune des unités précédente définit l’architecture NiosII, mais rien n’oblige que ces unités soient réalisées en hard  Exemple : l’unité flottante est émulée en Sw  Lorsqu’une instruction n’est pas implémentée en Hw le processeur génère une exception, et l’exception handler appelle la routine d’émulation Sw (instruction, div…).
  • 7. Softcore Nios II Diagramme du processeur Nios
  • 8. Softcore Nios II Registres généraux du Nios-II  Le registre r0 contient la constante 0. On nepeut écrire dans ce registre. Il est aussiappelé zero  Le registre r1 est utilisé par l’assembleur comme registre temporaire. Il ne doit pas être utilisé dans les programmes utilisateur  Les registres r24 et r29 sont utilisés pour le traitement des exceptions. Ils ne sont pas disponibles en mode utilisateur
  • 9. Softcore Nios II Registres de contrôle
  • 10. Softcore Nios II Contrôleur d’interruptions  Le processeur Nios-II supporte 32 niveaux d’interruption (IRQ)  La priorité des interruptions est fixée par logiciel  Les interruptions sont autorisées individuellement par le registre ienable et globalement par le registre d’état  Une interruption est générée si et seulement si les 3 conditions suivantes sont réunies :  L’entrée IRQi est active  Le bit i du registre ienable est à 1  Le champs PIE du registre d’état est à 1
  • 11. Softcore Nios II Jeu d’instructions NIOS II  jeu d’instructions de type RISC  32 registres de 32 bits notés r0 à r31  3 formats d’instructions :  Instructions de type I  Instructions de type R  Instructions de type J
  • 12. Softcore Nios II Les différents types d’instructions  Les instructions mémoire  Les instructions arithmétiques  Les instructions logiques  Les instructions de transfert  Instructions de comparaison  Instructions de décalage  Instructions de rotation  Instructions de saut et de branchement  Instructions d’appel et retour de fonctions
  • 13. Softcore Nios II Version Nios II : 3 versions Compatibles  FAST: Optimisé pour la vitesse  STANDARD: Équilibré pour la vitesse et la taille  ECONOMY: Optimisé pour la taille Software : Le code en binaire est compatible
  • 14. Softcore Nios II Comparaison
  • 15. µC/OS II ? Noyau temps réel uC/OSII :Simple et petit (~ 4 000 lignes)  Système d’exploitation temps réel multitâches préemptif.  Développé par le Canadien Jean J. Labrosse .  Un exécutif temps réel destiné à des environnements de très petite taille construits autour de Microcontrôleurs.  Disponible sur un grand nombre de processeurs.  Peut intégrer des protocoles standards comme TCP/IP (μC/IP).  Assurer une connectivité IP sur une liaison série par PPP.  Utilisable gratuitement pour lenseignement .  Aujourd’hui il est développé et maintenu par la société Micrium .
  • 16. RTOS: µC/OS II Les caractéristiques essentielles du noyau temps réel µC/OS :  Création et gestion de 63 tâches maximum.  Création et gestion de sémaphores binaires et comptés.  Fonction dattente de tâche.  Changement de priorité des tâches.  Effacement de tâches.  Suspension et continuation de tâches.  Envoi de messages depuis une routine dinterruption (ISR) ou dune tâche vers une autre tâche.
  • 17. RTOS: µC/OS II uC/OS est développé en C, sauf en ce qui concerne les portions de code qui sont cible-dépendant (portage).  l’implantation des opérations de changement de contexte en assembleur. Fait partie des nombreux systèmes d’exploitation temps réel aujourd’hui disponibles sur le marché
  • 18. RTOS: µC/OS II Les fonctions de µC/OS :  Initialisation (OSinit, OSStart)  la gestion des tâches (OSTaskCreate, OSTaskDel, OSTaskDelReq, OSTaskChangePrio, OSTaskSuspend, OSTaskResume, OSSchedlock, OSSchedUnlock).  la gestion du temps (OSTimeDly, OSTimeDlyResume, OSTimeSet, OSTimeGet).  la gestion des sémaphores (OSSemCreate, OSSemAccept, OSSemPost, OSSemPend, OSSemInit).  la gestion des boîtes aux lettres (OSMboxcreate, OSMboxAccept, OSMboxPost, OSMboxPend).  la gestion des files dattente (OSQCreate, OSQAccept, OSQPost, OSQPend).  la gestion dinterruption (OSIntEnter, OSIntExit).
  • 19. RTOS: µC/OS II μC/OS-II est noyau multi-tâches temps réel, hautement portable, modulaire et pouvant être mis en mémoire ROM. μC/OS-II qui coûte moins de $1000, peut être vu comme un noyau simplifié de celui qu’on retrouve dans VxWorks (qui lui coûte plus de $10K). μC/OS-II n’a pas d’environnement pour déverminer les applications alors que VxWorks possède WindView, un logiciel dont l’efficacité est reconnue.
  • 20. RTOS: µCLinux Pourquoi retrouve-t-on Linux dans l’embarqué ?  Logiciel Libre, disponible gratuitement au niveau source.  Fiabilité reconnu du système.  Portabilité sur différentes plateformes matérielles.  Il est possible d’avoir des versions Temps Réel.  On a un système d’exploitation multitâche.  On a un système de fichiers disponible.  On a une connectivité TCP/IP en standard.
  • 21. RTOS: µCLinux Linux pour l’embarqué existe donc pour 2 catégories de processeurs 32 bits :  Processeur avec MMU (Memory Management Unit): Linux embarqué : version Linux standard.  Processeur sans MMU : μClinux : version Linux adaptée.
  • 22. RTOS: µCLinux Histoire dµClinux :  Première sortie en 1998 (Linux 2.0), pour le processeur Motorola 68000. Démonstration sur un Palm Pilot III.  1999 : Support de Motorola ColdFire.  2001 : Support de Linux 2.4. Support de lARM7.  2004 : Support de Linux 2.6. Support de lARM.
  • 23. RTOS: µCLinux Raisons pour utiliser uClinux :  Linux: Connectivité IP intégrée, fiabilité, portabilité,systèmes de fichiers, logiciels libres...  Léger: Noyau Linux 2.6 complet en moins de 300 Ko,binaires bien plus petits avec uClibc.  XIP (Execute In Place): Na pas besoin de charger les exécutables en mémoire, même si cela peut avoir des conséquences sur les performances.  Moins cher: Coeurs sans MMU environ 30% plus petits. MMU pas nécessaire dans de nombreuses applications de systèmes embarqués.  Plus rapide: Basculement de contexte plus rapide : pas de vidage des caches.  Lutilisateur accède au matériel : Les applications utilisateur peuvent accéder au système complet, y compris aux registres des périphériques.  Fonctionnalités :complète du noyau Linux 2.6 stabilité, noyau préemptif, pilotes...  Multitâches: Complet Quelques limitations mineures .  API Linux complète: Peut utiliser la plupart des appels système Linux avec quelques rares exceptions. Applications portées distribuées avec uClinux.
  • 24. RTOS: µCLinux µClibc :  Bibliothèque C légère pour les petits systèmes embarqués, mais avec la plupart des fonctionnalités.  Développé à lorigine pour uClinux. Maintenant un projet indépendant.  La Debian Woody complète a été récemment portée... Vous pouvez être certain quelle subviendra à tous les besoins.  Exemple de taille (ARM) : approx. 400 Ko (libuClibc : 300 Ko, libm :55Ko)  Exemple dun programme “hello world” : 2 Ko (lié dynamiquement), 18 Ko (lié statiquement).
  • 25. RTOS: µCLinux Limitations de µClinux :  Mémoire virtuelle = Mémoire physique.  Mémoire fixe pour les processus, impossible de fragmenter la mémoire : plus de consommation de mémoire.  Pas de protection de la mémoire.
  • 26. RTOS: µCLinux Portage de μClinux sous Nios II  La société Microtronix a réalisé il y a quelques années le portage de μClinux pour le processeur softcore de première génération NIOS.  Le portage de μClinux pour le processeur NIOS II est complet sous licence GPL
  • 27. Outils De Développement Des SOCs Quartus II :  permet une conception dun circuit numérique à partir dune entrée sous forme :  Dune schématique traditionnelle.  Dune netlist standard de type EDIF (Electronic Design Interchange Format).  Textuelle à laide dun langage de description de matériel : VHDL, Verilog et A-HDL (Altera HDL).
  • 28. Outils De Développement Des SOCs Flot de conception Quartus II :
  • 29. Outils De Développement Des SOCs IDE Quartus II : linterface graphique de Quartus II :
  • 30. Outils De Développement Des SOCs SoPC Builder :  Permet de construire un système SoPC .  Permet graphiquement de contruire un microcontrôleur intégrant des périphériques dE/S divers et variés :  Processeur NIOS II.  Contrôleur de SRAM, SDRAM.  Contrôleur DMA.  Contrôleur de mémoire CompactFlash.  Timer.  Boutons, afficheurs LCD.  Liaison série UART.  Interface Ethernet.  …  Possiblité dintégrer des bloc IP externe
  • 31. Outils De Développement Des SOCs SoPC Builder et mapping mémoire
  • 32. Outils De Développement Des SOCs Nios II EDS Pour IDE Eclipse
  • 33. Exemple Dimplémentation: Machine DétatctiqueIF4 Présenation De projet:  Emulation Dapplication Soc  Execution Dun simple programme suporté par processeur csic sous FPGA  Visulalisation des différents registre du processeur sur un ecran a travers le standar VGA  Implémenation des cas détudes vus en IF4 sous FPGA :  Processeur Cisc 8 bit  Controleur VGA
  • 34. Exemple Dimplémentation: Machine DétatctiqueIF4 Architecture CISC
  • 35. Exemple Dimplémentation: Machine DétatctiqueIF4 Classe des Opérations  Transfert Des Mots Mémoires  Opération Arithmétique et logic  Saut Conditionnel et Inconditionnel  Gestion Des Sous-programmes Mode Dadressage  Direct  immédiat
  • 36. Exemple Dimplémentation: Machine DétatctiqueIF4 Jeux D’instructions Code Opérant Exemple : ADD 0001  Mode Adressage Immédiat :Le bit le plus fort de Code égale 0 Exemple : 0001 code de Sub  Mode Adressage Direct Le bit le plus fort de Code égale 1 Exemple :1001 code de Sub
  • 37. Exemple Dimplémentation: Machine DétatctiqueIF4 Implémentation Processuer CISC 8 bit  Sous Quartus II  Sous Xilinx
  • 38. Exemple Dimplémentation: Machine DétatctiqueIF4 Test et Simulation Sous Xilinx
  • 39. Exemple Dimplémentation: Machine DétatctiqueIF4 Standard VGA :
  • 40. Exemple Dimplémentation: Machine DétatctiqueIF4 Validation De Soc sur Ecran
  • 41. Conclusion Explorer le domaine des FPGAs implémenter un ensemble de propriétés intellectuelles Implémentation du processeur RISC
  • 42. Questions et discussionMerci Pour Votre Attention