Académique Documents
Professionnel Documents
Culture Documents
NIOS 2
Prépare par :
En cadré par : Mr KHAMLICH
Amenzouy Rachid
Gougni Youssef
Bakhkhakh Youssef
Laraig Youssef
ELhajli Anass
1
Introduction
2
Nios II :
Instructions personnalisées
Semblables aux instructions Nios II natives, les instructions définies par l'utilisateur acceptent des
valeurs de jusqu'à deux registres source 32 bits et éventuellement réécrivent un résultat dans un
registre de destination 32 bits. En utilisant des instructions personnalisées, les concepteurs du
système peuvent affiner le matériel du système pour atteindre les objectifs de performances et le
concepteur peut également gérer facilement l'instruction comme une macro en C.
Périphériques personnalisés
Pour les systèmes à performances critiques qui passent la plupart des cycles de CPU à exécuter une
section spécifique de code, un périphérique défini par l'utilisateur peut potentiellement décharger
une partie ou la totalité de l'exécution d'un algorithme logiciel vers une logique matérielle définie par
l'utilisateur, améliorant ainsi l'efficacité énergétique ou le débit d'application .
Nios II / f
3
Le cœur Nios II / f est conçu pour des performances maximales au détriment de la taille du cœur. Les
caractéristiques de Nios II / f incluent:
Améliorations facultatives du module de débogage JTAG, y compris les points d'arrêt matériel, les
déclencheurs de données et la trace en temps réel
Processus de développement
Le développement de Nios II comprend deux étapes distinctes: la génération de matériel et la
création de logiciels.
Le développement est hébergé dans une application Altera appelée Embedded Design Suite (EDS).
L'EDS contient un environnement de développement intégré complet pour gérer le matériel et les
logiciels en deux étapes distinctes:
4
synthèse, le placement et l'itinéraire pour implémenter l'ensemble du système sur la cible FPGA
sélectionnée.
Parce que la chaîne de développement C / C ++ est basée sur GCC, la grande majorité des logiciels
open source pour Linux se compile et s'exécute avec un minimum ou aucune modification. Des
systèmes d'exploitation tiers ont également été portés sur Nios II. Il s'agit notamment de Micrium
MicroC / OS-II, eCos, Segger Microcontroller embOS, ChibiOS / RT, μCLinux et FreeRTOS.
5
Partie HARDWARE :
1. Tout d’abord nous allons commencer par la création d’un nouveau projet sur le logicielle
Qartus 2 en choisissant la carte FPGA cyclone2 EP2C35F672C8
2. Ensuite nous abordons la création de notre propre système, pour but d’un simple
multiplexage 4 vers 1 en vas utiliser un processor Nios2 de gamme économie pour la
démonstration, de suite en ajoute une horloge de 50Mhz, les émulateurs JTAG UART pour le
débogage des Link, une mémoire intégrée SDRAM de 4Kbytes.
6
3. Pour finaliser le désigne en ajoute deux entrées de type switch et une sortie « une led »
pour simuler le fonctionnement du multiplexeur.
7
5. Apres compilation les fichiers systèmes sont bien générer dans Quartus apres lajout du
fichier « hello_qsys/synthesis/hello_qsys.qip »
6. Puis on a créé un nouveau fichier de l’extension block diagramme schématique pour simuler
le système créer en liant les entrées et sorties
8
Partie SOFTWARE :
7. Après la compilation du système présent en procède a la création de l’application software
sur éclipse
9
9. On implémente aussi le code pour la création de l’application multiplexeur 4/1
10
10. Apres compilation le système se génère correctement il reste juste l’implémentation du
système sur la carte FPGA
Conclusion
Durant la réalisation du projet multiplexeur, nous avons traité plusieurs options dans
Quartus comme Acquérir le savoir-faire essentiel pour la Conception et la Programmation de
Systèmes On Chip avec Processeur(s) embarqué(s) sur FPGAs Intel, et aussi Apprendre à
concevoir la plate-forme hardware avec l'outil Qsys, et découvrir la Méthodologie logicielle et la
couche d'abstraction matérielle (HAL Nios II). Maîtriser l'environnement de développement
logiciel Nios II EDS / Eclipse.
Et aussi nous avons bien maîtriser les concepts avancés dont Qsys, le nouvel outil de
génération « Network On Chip ». ➢ Les modes avancés des différents bus, la compréhension des
protocoles hardware et timings, l'optimisation de la bande passante, la création de composants
custom complexes et leur intégration automatique dans la librairie de composants, l'accélération
matérielle
11