42
ALTERA NIOS II EMBEDDED EVALUATION KIT Smati wassim

Altera nios ii embedded evaluation kit

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Altera nios ii embedded evaluation kit

ALTERA NIOS II EMBEDDED EVALUATION KITSmati wassim

Page 2: Altera nios ii embedded evaluation kit

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

Page 3: Altera nios ii embedded evaluation kit

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

Page 4: Altera nios ii embedded evaluation kit

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

Page 5: Altera nios ii embedded evaluation kit

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

Page 6: Altera nios ii embedded evaluation kit

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…).

Page 7: Altera nios ii embedded evaluation kit

Softcore Nios II

Diagramme du processeur Nios

Page 8: Altera nios ii embedded evaluation kit

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

Page 9: Altera nios ii embedded evaluation kit

Softcore Nios II

Registres de contrôle

Page 10: Altera nios ii embedded evaluation kit

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

Page 11: Altera nios ii embedded evaluation kit

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

Page 12: Altera nios ii embedded evaluation kit

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

Page 13: Altera nios ii embedded evaluation kit

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

Page 14: Altera nios ii embedded evaluation kit

Softcore Nios II

Comparaison

Page 15: Altera nios ii embedded evaluation kit

µ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 .

Page 16: Altera nios ii embedded evaluation kit

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.

Page 17: Altera nios ii embedded evaluation kit

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é

Page 18: Altera nios ii embedded evaluation kit

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).

Page 19: Altera nios ii embedded evaluation kit

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.

Page 20: Altera nios ii embedded evaluation kit

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.

Page 21: Altera nios ii embedded evaluation kit

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.

Page 22: Altera nios ii embedded evaluation kit

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.

Page 23: Altera nios ii embedded evaluation kit

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.

Page 24: Altera nios ii embedded evaluation kit

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).

Page 25: Altera nios ii embedded evaluation kit

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.

Page 26: Altera nios ii embedded evaluation kit

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

Page 27: Altera nios ii embedded evaluation kit

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).

Page 28: Altera nios ii embedded evaluation kit

Outils De Développement Des SOCs

Flot de conception Quartus II :

Page 29: Altera nios ii embedded evaluation kit

Outils De Développement Des SOCs

IDE Quartus II :l'interface graphique de Quartus II :

Page 30: Altera nios ii embedded evaluation kit

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

Page 31: Altera nios ii embedded evaluation kit

Outils De Développement Des SOCs

SoPC Builder et mapping mémoire

Page 32: Altera nios ii embedded evaluation kit

Outils De Développement Des SOCs Nios II EDS Pour IDE Eclipse

Page 33: Altera nios ii embedded evaluation kit

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

Page 34: Altera nios ii embedded evaluation kit

Exemple D'implémentation: Machine Détatctique IF4

Architecture CISC

Page 35: Altera nios ii embedded evaluation kit

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

Page 36: Altera nios ii embedded evaluation kit

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

Page 37: Altera nios ii embedded evaluation kit

Exemple D'implémentation: Machine Détatctique IF4

Implémentation Processuer CISC 8 bit

Sous Quartus II

Sous Xilinx

Page 38: Altera nios ii embedded evaluation kit

Exemple D'implémentation: Machine Détatctique IF4

Test et Simulation Sous Xilinx

Page 39: Altera nios ii embedded evaluation kit

Exemple D'implémentation: Machine Détatctique IF4

Standard VGA :

Page 40: Altera nios ii embedded evaluation kit

Exemple D'implémentation: Machine Détatctique IF4

Validation De Soc sur Ecran

Page 41: Altera nios ii embedded evaluation kit

Conclusion

Explorer le domaine des FPGAs implémenter un ensemble de propriétés

intellectuelles Implémentation du processeur RISC

Page 42: Altera nios ii embedded evaluation kit

Questions et discussion

Merci Pour Votre Attention