Upload
wassim-smati
View
1.690
Download
6
Embed Size (px)
DESCRIPTION
Citation preview
ALTERA NIOS II EMBEDDED EVALUATION KITSmati wassim
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
Plan Outils De Développement Des SOCs
IDE Quartus II Sopc Builder Nios II EDS Pour IDE Eclipse
Exemple D'implémentation: Machine Détatctique IF4 Présenation De projet Processeur Cisc 8 bit Controleur VGA
Conclusion
Spécification Carte Fille LCD De Terasic
Afficheur Tactique LCD en Couleurs :Résolution 800X460 CODEC audio de qualité CD 24 bits avec ligne d'entré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
Spécification Kit FPGA Cyclone III d'ALTERA
Cyclone III EP3C25F324 25000 Logic Elements Configuration avec USB-Blaster Mémoires
SDRAM : 32 Mbits SRAM : 1 Mbits Flash : 16 Mbits
Rythme de l'horloge : 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
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…).
Softcore Nios II
Diagramme du processeur Nios
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
Softcore Nios II
Registres de contrôle
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
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
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
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
Softcore Nios II
Comparaison
µ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 l'enseignement . Aujourd’hui il est développé et maintenu par la société Micrium .
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 d'attente 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 d'interruption (ISR) ou d'une tâche
vers une autre tâche.
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é
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 d'attente (OSQCreate, OSQAccept, OSQPost, OSQPend). la gestion d'interruption (OSIntEnter, OSIntExit).
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.
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.
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.
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 l'ARM7. 2004 : Support de Linux 2.6. Support de l'ARM.
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): N'a 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. L'utilisateur 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.
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é à l'origine pour uClinux. Maintenant un projet indépendant. La Debian Woody complète a été récemment portée... Vous pouvez être
certain qu'elle subviendra à tous les besoins. Exemple de taille (ARM) : approx. 400 Ko (libuClibc : 300 Ko, libm
:55Ko) Exemple d'un programme “hello world” : 2 Ko (lié dynamiquement), 18
Ko (lié statiquement).
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.
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
Outils De Développement Des SOCs Quartus II :
permet une conception d'un circuit numérique à partir d'une entrée sous forme : D'une schématique traditionnelle. D'une netlist standard de type EDIF (Electronic Design
Interchange Format). Textuelle à l'aide d'un langage de description de matériel :
VHDL, Verilog et A-HDL (Altera HDL).
Outils De Développement Des SOCs
Flot de conception Quartus II :
Outils De Développement Des SOCs
IDE Quartus II :l'interface graphique de Quartus II :
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 d'E/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é d'intégrer des bloc IP externe
Outils De Développement Des SOCs
SoPC Builder et mapping mémoire
Outils De Développement Des SOCs Nios II EDS Pour IDE Eclipse
Exemple D'implémentation: Machine Détatctique IF4
Présenation De projet: Emulation D'application Soc Execution D'un 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
Exemple D'implémentation: Machine Détatctique IF4
Architecture CISC
Exemple D'implémentation: Machine Détatctique IF4
Classe des Opérations Transfert Des Mots Mémoires Opération Arithmétique et logic Saut Conditionnel et Inconditionnel Gestion Des Sous-programmes
Mode D'adressage Direct immédiat
Exemple D'implémentation: Machine Détatctique IF4
Jeux D’instructions
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
Code Opérant
Exemple D'implémentation: Machine Détatctique IF4
Implémentation Processuer CISC 8 bit
Sous Quartus II
Sous Xilinx
Exemple D'implémentation: Machine Détatctique IF4
Test et Simulation Sous Xilinx
Exemple D'implémentation: Machine Détatctique IF4
Standard VGA :
Exemple D'implémentation: Machine Détatctique IF4
Validation De Soc sur Ecran
Conclusion
Explorer le domaine des FPGAs implémenter un ensemble de propriétés
intellectuelles Implémentation du processeur RISC
Questions et discussion
Merci Pour Votre Attention