Académique Documents
Professionnel Documents
Culture Documents
Master ESE
Module : system embarqué
Merabet Hind
1
2
SOMMAIRE
Introduction _____________________________________________________________
Objectif _________________________________________________________________
Conclusion _____________________________________________________________
3
Introduction
Objectif :
Le but de ce rapport est de proposer comment s’adapter avec le processus de conception d’un
processeur embarqué sur la FPGA. Ce qui aboutit à la synthèse d'un processeur NIOS II , sur une
carte DE2 dirigeant les (entrées/sorties) suivantes :
Une sortie à 8 bits pour LEDs sous le nom ‘’ led-pio’’(Utiliser un PIO "Parallèle Input
Output"
une sortie sur 16 bits pour les 2 afficheurs 7 segments nommé ‘‘seven-seg_pio’’ (nous avons
16 bits pour gérer 14 segments et il est conseillé de gérer les 7 premiers segments sur les bits
de 0 à 6 ensuite les 7 suivant sur les bits de 8 à 14)
4
Figure 2 : afficheur 7-ségments
Un composant LCD Display sous nom ‘’lcd-isplay’’. Il est à citer que lors de la compilation
de la partie logicielle la présence matérielle du ‘lcd display’est testée. La partie du programme
dirigeant le lcd n'est activée que si la partie matérielle correspondante est disponible et
présente.
Une sortie à 4 bits sous nom’‘button-pio’’ (faut faire attention à l'activation des boutons
poussoirs qui doivent générer une interruption sur front pour être prise en considération par le
processeur et doit être activée de façon synchrone sur chaque fronts) Le programme utilisé
pour tester la partie matérielle est un programme simple ‘’count binary ‘’ dans les exemples
proposés sur éclipse). Ce programme, qui utilise une variable à 8 bits, compte de 00 jusqu’à FF
de manière continue. Cette variable est affichée sur les LEDs, les 2 afficheurs 7 segments et
l'afficheur à cristaux liquides. Les 4 boutons poussoirs (SW0-SW3) sont utilisés pour contrôler
l'affichage sur ces éléments de la manière suivante :
5
Figure 4 : les boutons poussoirs
On veut aboutir à utiliser le processeur NIOS II (cœur logiciel) sur une carte FPGA d’Altera pour
exécuter des programmes C , On examinera comment
Compiler une version du processeur à l’aide du logiciel Quartus II
Charger le processeur et l’environnement associé dans le FPGA (charger le fichier de
Configuration du processeur sur la carte à l’aide de la connexion USB – Blaster
Charger un programme C dans la mémoire du processeur (charger le fichier correspondant au
programme dans le FPGA) et l’exécuter
Écrire des programmes C sous l’environnement IDE, les charger dans le FPGA et les exécuter
Ajouter des instructions spécialisées au processeur NIOS
6
Chargement de la configuration sur le FPGA
Après avoir écrit et validé des opérateurs décrits en VHDL pour spécifier des instructions spécialisées.
a) Ouvrir sous Quartus le projet standard.qpf contenu dans l’archive M1_TP4.rar (site du cours).
Définir les instructions spécialisées et ajouter les au processeur NIOS avec SOPC builder sous la
Rubrique « custom instructions »
7
b) Quand toutes les instructions ont été ajoutées, générer le fichier comprenant tous les
Composants nécessaires avant la compilation VHDL du « système complet : processeur, mémoire et
composants d’interface » via la fonction « generate ». Après cette étape, effectuer la
Compilation du VHDL généré.
8
Figure 9 : choix de taille de la RAM
c) A la fin de la compilation, charger le fichier standard.sof sur la carte FPGA à l’aide du module «
Programmer ».
9
Figure 11 : attachements entres les éléments et signaux
Conclusion
L’utilisation du processeur NIOS II lors de la programmation d’une application, présente plusieurs
avantagent, grâce à la haute performance du Processeur, et sa grande flexibilité
10