NIOS Report
NIOS Report
NIOS Report
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)
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 :
Button1 (SW0) => les LEDs comptent
Button2 (SW1) => les 2 afficheurs 7 segments comptent
Button3 (SW2) => l'afficheur à cristaux liquides compte
Button4 (SW3) => tous les périphériques comptent
Utilisation du processeur NIOS II avec instructions «spécialisés»
Introduction
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
Mesurer les temps d’exécution des programmes.
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 »
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é.
c) A la fin de la compilation, charger le fichier standard.sof sur la carte FPGA à l’aide du module
« Programmer ».