SOPC Builder
SOPC Builder
SOPC Builder
Le SOPC Builder permet, entre autres, de concevoir des microcontrleurs spcifiques une
application. Ces microcontrleurs comportent donc une partie processeur laquelle on
associe des priphriques (PIO, Timers, UART, USB, composants propritaires, ) et de la
mmoire. Cette dernire peut-tre embarque dans le FPGA (on parle alors de RAM/ROM On
Chip) ou lextrieur du composant FPGA. La partie microprocesseur proprement dite est le
NIOS2 de ALTERA, processeur de 32 bits qui se dcline en trois versions : conomique,
standard, rapide. La version conomique, la moins puissante, utilise le moins de ressources du
FPGA. Bien sr il est possible dintgrer dautres types de processeurs pour peu quon
dispose de leurs modles (VHDL, Verilog, ). La cration dune application SOPC
comprend les tapes suivantes :
- Cration du composant matriel (processeur + priphriques) dans lenvironnement Quartus II
- Tlchargement dans le composant FPGA (configuration) (environnement Quartus II)
- Cration du logiciel dans lenvironnement NIOS2IDE et tlchargement dans le FPGA.
On obtient :
De la mme manire, ajouter deux PIO de huit bits chacun (Parallel Inputs Outputs) : un en
entre et un en sortie. Nota : on peut les renommer en faisant un clic droit sur le composant.
Revenir sur le processeur en double-cliquant dessus puis slectionner on-chip ram dans les
zones reset vector et exception vector .
Faire ensuite System puis auto-assign base adress . Ceci a pour effet dassigner
automatiquement une adresse logique chaque ressource dans lespace mmoire adress par
le processeur. A ce stade le SOPC est dfini : type de processeur, horloge, priphriques
utiliss, taille mmoire, adresses physiques des composants.
6
Pour des raisons de scurit on peut rajouter un composant sysid : celui-ci a pour rle de
donner un numro didentification au systme que lon a conu et viter ainsi de tlcharger
par erreur un programme qui ne correspondrait pas lapplication.
Une fois tous les composants rajouts, cliquer sur Generate : ceci a pour effet de gnrer
le fichier VHDL (ou Verilog suivant le choix qui a t fait) et le symbole graphique associs
au SOPC que lon vient de dfinir. A ce stade le composant a t cr.
Ouvrir une fentre graphique et double-cliquer dedans (comme lorsquon fait une saisie de
schma classique). Dans le rpertoire projet, rcuprer le symbole du SOPC cr et le placer
dans la feuille de travail. Rajouter les ports dentres-sorties et affecter les broches.
Dveloppement du logiciel
On peut lancer NIOS2IDE depuis le SOPC Builder de Quartus (onglet nios II) ou directement
depuis le menu programmes de windows. Les tapes sont les suivantes :
- dfinition dun espace de travail (Workspace)
- cration du projet
- cration de la bibliothque
- cration du programme
- compilation
- tlchargement et excution
2) Cration du projet
Faire File => New project, cliquer sur NIOS II C/C++ application , faire next
puis slectionner un projet blanc et lui donner un nom (ex. : compteur). Dans la rubrique
select target hardware slectionner le systme sur lequel sexcutera le logiciel (ici cest le
systme mon_processeur cr prcdemment) ;
3) Cration de la bibliothque
Faire next et slectionner create a new system library puis finish.
10
4) Cration du programme
Faire un clic droit sur compteur et slectionner New=> source file (qui correspond au
programme en c crer).
11
Cliquer sur finish. Une fentre souvre dans laquelle il ny a plus qu taper le programme
dapplication.
12
13
5) Compilation
Faire un clic droit sur le projet compteur puis slectionner build project .
faire Debug . La fentre de debug souvre avec le pointeur positionn sur la premire
instruction du programme excuter.
La commande Resume lance/relance lexcution.
La commande Suspend suspend lexcution du programme.
La commande Terminate arrte lexcution et clt la session.
Un double-clic dans la colonne de gauche de la fentre du programme insre un point darrt.
Un autre double-clic lenlve.
16
Attention cependant car les entres/sorties physiques ne sont pas simules !!!!
17