Vous êtes sur la page 1sur 10

Département de la physique

Master ESE
Module : system embarqué

Rapport de programmation des application en utilisant le


processeur Nios ll

Réalisé par : Zouicha Rajaa sous la direction du Pr  :

Hajji Slimane Ouacha Brahim

Merabet Hind

Année universitaire 2022 / 2023

1
2
SOMMAIRE
Introduction _____________________________________________________________

Objectif _________________________________________________________________

Utilisation du processeur NIOS II avec instructions «spécialisés»_____________

1. Développement d’un programme sous l’environnement IDE______________


2. Utilisation d’instructions spécialisées dans le programme aes_8bits.c_____

Conclusion _____________________________________________________________

3
Introduction

Le NIOS est un processeur softcore propriétaire de Altera. Il est à base d’un cœur RISC 32


bits. Il est doté du bus Avalon.
il est une modélisation de processeur embarqué 32 bits dédié d’une façon spécifique pour
la famille Altera de circuits intégrés FPGA .Nios II rassemble plusieurs améliorations par rapport
à l'architecture Nios de base, ce qui la rend plus adéquate à une plus large gamme d'apps
informatiques embarquées du traitement des signaux numériques (DSP) au contrôle du système

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"

Figure 1 : les LEDS

 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.

Figure 3 : afficheur LCD 16*2

 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

 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»

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

1. Développement d’un programme sous l’environnement IDE

Ouvrir le logiciel NIOS IDE


Ouvrir une nouvelle application C : new | CC++ Application et choisir Hello_world. Choisir
Pour SOC Builder System C : \niosII_cyclone_1c20\quartus_project\system.ptf
Activer le projet en cliquant dessus.
Dans le menu Projet | Properties | C/C++ Build , sélectionner la configuration Release et un
Niveau d’optimisation (-O2 ou –O3)
Puis faire Build Projet.
Puis exécuter le projet avec Run | Run as | Nios Hardware.

2. Utilisation d’instructions spécialisées dans le programme aes_8bits.c

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

Figure 5 : ajout du processeur NIOS II

Définir les instructions spécialisées et ajouter les au processeur NIOS avec SOPC builder sous la
Rubrique « custom instructions »

Figure 6 : le choix du Processeur NIOS II/e

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

Figure 7 : ajout de la RAM

Figure 8 : bloc diagramme

8
Figure 9 : choix de taille de la RAM

Figure 10 : assignement des pin

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

Figure 12 : phase Generate complet

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

Vous aimerez peut-être aussi