TP N 8 : Utilisation du NIOS

Documents pareils
Introduction à Eclipse

TD/TP 1 Introduction au SDK d Android

Utilisation de GCM (Google Cloud Messaging) pour Android. Partie préliminaire éventuelle : Création d'un AVD lisant GCM

Installation et compilation de gnurbs sous Windows

CSI351 Systèmes d exploitation Instructions pour rouler Linux avec Virtual PC dans la salle de labo 2052

But du papier : Paramétrer WSUS pour récupérer les mises à jour et administrer le serveur WSUS

Importation de fichiers Eagle

Eclipse atelier Java

Installation et prise en main

ÉCOLE POLYTECHNIQUE DE MONTRÉAL. Département de Génie Électrique. La technologie de TEXAS INSTRUMENTS DSP pour le cours Analyse des Signaux ELE2700

Votre premier projet Android

Récupérer les documents stockés sur l ENTG

Placez vous au préalable à l endroit voulu dans l arborescence avant de cliquer sur l icône Nouveau Répertoire

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Présentation de la plateforme WINDCHILL. Invitation à rejoindre la plateforme

Sélection du contrôleur

Utiliser Dev-C++ .1Installation de Dev-C++ Table des matières

SIN-FPGA DESCRIPTION PAR SCHEMA

pas à pas prise en main du logiciel Le Cloud d Orange - Transfert de fichiers sur PC et MAC Le Cloud

Tutoriel code::blocks

Connexions à un projet CVS via Eclipse en accès local et distant. 15 Mai 2007

Guide de configuration. Logiciel de courriel

TP1 : Initiation à Java et Eclipse

Gestion des documents avec ALFRESCO

Installation de SQL Server Reporting Services avec l intégration dans un site Windows SharePoint Services V3

wxwidgets dans un environnement Microsoft Windows

Ce document décrit la démarche à suivre pour installer les outils de développement et compiler le projet TANAGRA.

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

Déploiement de SAS Foundation

Guide d installation de MySQL

Apprendre Java et C++ avec NetBeans

AP1.1 : Montages électroniques élémentaires. Électricité et électronique

Oracle Developer Suite 10g. Guide de l installation. Vista & Seven

Service On Line : Gestion des Incidents

Tutoriel Création d une source Cydia et compilation des packages sous Linux

MODE D EMPLOI OUTLOOK ADD-IN POUR SELECTLINE

Créer une application de livre interactif pour tablette avec Indesign CS6 et Adobe Digital Publishing Suite

WINDOWS NT 2000: Travaux Pratiques. -Boîtier partage d'imprimante- Michel Cabaré Janvier 2002 ver 1.0

Validation de la création des groupes ABM et ajout de l utilisateur SASDEMO

WinReporter Guide de démarrage rapide. Version 4

1 Démarrer L écran Isis La boite à outils Mode principal Mode gadget Mode graphique...

Optimiser pour les appareils mobiles

Host Integration Server 2000

Approche Contract First

Installation SQL Server 2005 Express sur le serveur

Manuel de l utilisateur

Utilisation de l éditeur.

AVEC LIVE TRADER, VISEZ PLUS HAUT POUR VOS INVESTISSEMENTS

Installer Enterprise Miner 5.1 en SAS environnement Windows

VERITAS Backup Exec TM 10.0 for Windows Servers

Utiliser le service de messagerie électronique de Google : gmail (1)

1 Démarrage de Marionnet

Tutorial pour l installation et l utilisation de CREO et de Windchill

1. Insérez le DVD de support dans le lecteur optique. L onglet Drivers (Pilotes) apparaîtra si l Exécution automatique est activée.

Utilisation de l outil lié à MBKSTR 9

Le langage C. Séance n 4

Groupe Eyrolles, 2003, ISBN : X

Rapports d activités et financiers par Internet. Manuel Utilisateur

MANUEL D UTILISATION DES OUTILS «MapCERN»

IFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse

Mini_guide_Isis.pdf le 23/09/2001 Page 1/14

PARAMETRER INTERNET EXPLORER 9

REPETEUR SANS FIL N 300MBPS

Construire des plug-ins pour SAS Management Console SAS 9.1

Notice ARES Version 5.20 Française

Business Talk IP Centrex. guide. web utilisateur. pour. les services standards

L exemple d un serveur Proxy sous Windows NT 4 SERVER MICROSOFT PROXY SERVER 2 Installation et configuration Auteur : Eliane Bouillaux SERIA5

SoMachine. Solution logicielle pour votre architecture Machine Atelier de découverte. SoMachine

Projet De Stijl Plate-forme pour robots mobiles

ALLIANZ MODE OPERATOIRE DE MIGRATION D UNE AGENCE WINDOWS Août Version du document : 010

Installer Joomla Pearson France Joomla! Le guide officiel Jennifer Marriott, Elin Waring

TABLE DES MATIÈRES 1. DÉMARRER ISIS 2 2. SAISIE D UN SCHÉMA 3 & ' " ( ) '*+ ", ##) # " -. /0 " 1 2 " 3. SIMULATION 7 " - 4.

SOMMAIRE. Présentation assistée sur ordinateur. Collège F.Rabelais 1/10

ESPACE COLLABORATIF SHAREPOINT

L accès à distance du serveur

MEDIA NAV Guide de téléchargement de contenus en ligne

MANUEL D INSTALLATION DES PRE REQUIS TECHNIQUES SALLE DES MARCHES V.7

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/ bits, Windows 2008 R2 et Windows bits

Installation de GFI Network Server Monitor

Notice d'utilisation Site Internet administrable à distance

Livret 1 Poste de travail de l utilisateur :

Guide d utilisation commandes des pièces de rechange Rev.1.0.3

LES ACCES DISTANTS ET SECURISES. Installation et utilisation du client. Cisco AnyConnect VPN Client. pour Windows

Fiche technique rue de Londres Paris Tél. : Mail : contact@omnikles.com

Mon Budget Guide d utilisateur Windows Phone 7

PIC EVAL Dev Board PIC18F97J60

ABBYY Lingvo x3. Guide de l administrateur système ABBYY. Tous droits réservés.

GUIDE D UTILISATION DES SERVICES PACKAGES

Tutoriel Sage One Edition Expert-Comptable. - Le cabinet d Expertise-Comptable doit appeler le Service Client Sage One au

Guide d installation du logiciel HI Version 2.7. Guide d installation du logiciel HI Version 9.4

CREER ET ANIMER SON ESPACE DE TRAVAIL COLLABORATIF

PerSal Manuel d installation

Procédure pas à pas de découverte de l offre. Service Cloud Cloudwatt

ENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque

Comment paramétrer et sauvegarder les configurations d Altium Designer?

Sophos Endpoint Security and Control Guide de configuration pour réseaux étendus. Enterprise Console, version 3.1 EM Library, version 1.

TP1 : Initiation à Java et Eclipse

esms Desktop Guide de l utilisateur

Instructions relatives à l installation et à la suppression des pilotes d imprimante PostScript et PCL sous Windows, version 8

GESTION DES PISTES ET OPPORTUNITES

Transcription:

TP N 8 : Utilisation du NIOS 2006-2007 Attention! La taille des projets sous Quartus/SOPC-Builder est énorme : comptez entre 30 et 40Mo par projet. Il est donc très fortement conseillé de faire le ménage sur votre compte avant de commencer le TP/projet. 1 Prise en main de Quartus et SOPC-Builder 1.1 Lancement de Quartus II L outil est accesible par le menu Emulateurs Altera Quartus II 4.0.Un fois le programme lancé, sélectionnez File open project, et ouvrez le projet standard.qpf du répertoire nios_20mhz. Une nouvelle fenêtre contenant la représentation schématique de l architecture associée au projet doit alors apparaître. Cette architecture contient un composant std_1s10 qui contient un processeur Nios-II et tous ses périphériques. 1.2 L outil SOPC-Builder C est l outil SOPC-Builder qui permet de configurer et de générer la description matérielle (en VHDL) du processeur et de ses périphériques. Il génère également le code (en assembleur et en langage C) d un système d exploitation minimal (chargeur, entrées-sorties par liaison série) qui sera compilé puis exécuté sur le processeur Nios II. Pour accéder à SOPC-Builder, il suffit de double cliquer sur le composant standard, vous pourrez alors visualiser les différents composants du système ainsi que leurs configuration (adresses de base, numéro d interruption, etc.) comme indiqué figure 1. L utilisateur dispose d une bibliothèque de composants prédéfinis, et peut y ajouter ses propres modules. Tous les périphériques du système, ainsi que certains de leurs paramètres de configuration, sont visibles. Figure 1 : La fenêtre principale de SOPC-Builder S. Derrien 1/6

La configuration de SOPC-Builder visible à l écran n intègre pour l instant qu un petit sousensemble des périphériques disponibles sur la carte (CPU, SRAM et JTAG), notre objectif étant d intégrer à ce système un accélérateur matériel de filtrage numérique sous la forme d un périphérique de bus Avalon 1.3 Création d un périphérique Pour créer un nouveau périphérique, vous allez cliquer sur la commande create new component en haut à gauche de la fenêtre SOPCBuilder, dans l onglet system content. Un boite de dialogue intitulée Component Editor doit alors s afficher. Pour créer votre composant Avalon, vous allez suivre les directives suivantes : 1. Dans l onglet HDL files, vous allez ajouter tout les fichier nécessaires à la mise ne œuvre du composant (iir_periph.vhd, iir_fifo.vhd, les FIFOs, les fichier contenant l UT, l UC, etc.) 2. Dans l onglet signal vous allez associer les signaux du périphérique à ceux du bus Avalon (ils ont normalement le même nom), et indiquer que tous ces signaux concernent l interface avalon_slave_0. 3. Dans l onglet interface vous paramétrer le fonctionnement (protocole) de l interface, en particulier : a. Configurer le Slave Adressing Mode en Registers b. Régler les paramètres Avalon Slave Timing de manière à ce que les chronogrammes représentés au dessous correspondent exactement à ceux utilisés dans le TP7. 4. Dans l onglet component wizard, vous allez affecter un nom (iir_periph) et une catégorie (DIIC_ARC) à votre nouveau composant, puis vous cliquerez sur le bouton Finish. Vous devriez alors pouvoir constater qu un nouveau composant est disponible dans le volet gauche de l onglet system content. 1.4 Ajout d un périphérique au système Pour ajouter une nouvelle instance de notre périphérique au système, vous allez simplement double-cliquer sur le composant iir_periph crée au paragraphe précédent. Un nouveau module nommé iir_periph_0 doit alors apparaître, et le contenu du système doit correspondre à la saisie d écran donnée ci-dessous. Pour pouvoir utiliser cette nouvelle configuration matérielle, il faut régénérer entièrement la description matérielle (en VHDL) du système et les définitions/pilotes logiciels (en C). Pour cela, il suffit de cliquer sur la commande «generate». Attention! Cette étape dure en général plusieurs minutes. S. Derrien 2/6

2 L environnement de développement pour le Nios II 2.1 Présentation de l IDE L environnement que nous allons utiliser est basé sur Eclipse, il permet de gérer l édition, la compilation l exécution et le déboguage d une application NIOS-II écrite en langage C. Une vue de la fenêtre principale est donnée figure 2. La zone de console permet de visualiser les résultats de compilation et d exécution. Le navigateur permet de se repérer dans les différents fichiers du projet. Figure 2 : Environnement Eclipse pour NIOS-II A chaque projet est associé une «system library» qui contient les pilotes de périphériques associés à une configuration matérielle spécifique. Dans notre cas, nous disposons de la librairie testtp7_syslib qui a été généré à partir de SOPC-Builder. 2.2 Développer un programme pour le NIOS-II 2.2.1 Présentation On travaille ici sur un processeur «embarqué» qui ne dispose pas d un système d exploitation complet. Certaines des fonctionnalités disponibles sur une machine «desktop» ne sont donc pas disponibles (pas de processus, un seul programme, pas de protection mémoire, etc.) 2.2.2 Importer et configurer le projet 1. Dans le menu File, sélectionnez la commande import, puis l option Existing Altera Nios II project. 2. Choisissez alors le répertoire test_tp7 dans software. 3. Dans le menu file, faites ensuite new, sélectionnez System Library, choisissez comme nom tp7_syslib, sélectionnez le fichier nios_20mhz/std_1s10.ptf, puis cliquez sur finish. Sélectionnez le projet test_tp7 dans la partie gauche de la fenêtre, ouvrez le menu project et sélectionnez le choix properties, modifiez le champ associated system library de manière à l affecter à test_tp7_syslib, puis validez. S. Derrien 3/6

2.2.3 Editer et compiler le projet Sélectionnez le projet test_tp7, et visualisez le contenu du programme nios.cpp, que vous avez normalement complété au TP n 7. Pour compiler le projet, sélectionnez simplement la commande «build project» du menu «project». La compilation va produire un fichier.elf qui est en fait l image de l exécutable qui sera ensuite copié vers la mémoire locale de la carte. 2.3 Simuler l exécution d un programme par le NIOS Avant de tester in-situ votre système, vous allez effectuer une simulation VHDL de l ensemble du système. Pour ce faire, sélectionnez la commande «run as/nios Modelsim» du menu «project». Cette commande va lancer le simulateur Modelsim, qui va nous permettre de simuler le VHDL de l ensemble du système (NIOS, bus, mémoire, etc.). 1. Une fois le shell de Modelsim ouvert, saisissez la commande s (suivi de entrée), Celleci va compiler l ensemble des fichiers VHDL du projet et lancer la simulation. 2. Tapez ensuite la commande jtag_uart_drive, une fenêtre console nios2-terminal ve s ouvrir, elle vous permet de simuler le fonctionnement des entrées-sorties standard 3. Pour vous aider à visualiser les signaux les plus importants (c.a.d les signaux de bus en entrée de notre périphérique iir_periph_0) vous pouvez utiliser le script test_tp7.do qui se lance par la commande do../test_tp7.do. 4. Tapez ensuite la commande run 10 ms Une fois la simulation terminée, vous devriez pouvoir observer dans la console les messages affichés par le NIOS ; de même la fenêtre waveform doit vous permettre d observer les transactions apparues sur votre périphérique IIR_PERIPH_0. NB : Si vous n observez rien sur le bus du périphérique, continuez la simulation quelques dizaines de millisecondes. Si vous souhaitez relancer la simulation avec un programme différent pour el NIOS, il faut : 1. Recompiler le programme dans l IDE du NIOS II 2. lancer les commande restart, jtag_uart_drive et run 10 ms dans la fenêtre shell de Modelsim. Remarque : à la différence des la simulation au niveau transaction mise en œuvre au TP précédent, la simulation est ici précise au niveau cycle (on simule le VHDL du processeur NIOS qui exécute son programme stocké dans un composant mémoire VHDL). Elle est donc beaucoup plus lente et plus longue. S. Derrien 4/6

3 Compilation et exécution sur la carte 3.1 Compilation de l architecture et configuration du FPGA 3.1.1 Synthèse & placement routage Une fois la génération du système effectuée, vous allez implanter l architecture sur le circuit. Cette implantation (abusivement appelée «compilation») se décompose en plusieurs étapes : 1. La synthèse logique, qui convertit la description VHDL de l architecture en un ensemble de blocs logiques élémentaires, qui correspondent à la structure interne du circuit. 2. Le placement/routage qui va placer ces blocs logiques sur le circuit spécifié, puis qui les reliera entre eux au moyen du réseau d interconnexion programmable du circuit. 3. La génération du fichier de configuration (fichier au format.sof) qui produit un fichier bitstream qui sera téléchargé dans le FPGA. L implantation se lance par le bouton de la barre d action (en haut au milieu). Ici encore cette étape est assez longue (entre 2 et 4 minutes). Attention : il se peut que Quartus détecte des erreurs qui ne soient pas apparues lors de la simulation avec Modelsim (rappelez vous que seul un sous-ensemble de VHDL est synthétisable). 3.1.2 Configuration du circuit La configuration du circuit de la carte se fait au travers du port parallèle de votre machine, en lançant la commande programmer du menu Tools. Une nouvelle fenêtre doit apparaître à l écran. Dans cette fenêtre : - Sélectionnez la commande add file (bouton droit de la souris) pour spécifier le fichier bitsream «.sof» contenant votre configuration (dans notre cas, le nom du fichier est standard.sof) - Cliquez sur le bouton Hardware, suivi de Add hardware, et sélectionnez ByteBlasterII. - Cochez ensuite la case program/configure, puis cliquez sur start programming (icône en haut à gauche) Après quelques secondes, la carte est réinitialisée avec la nouvelle configuration du FPGA (en cas de message d erreur de type «cant t access JTAG chain», coupez, puis rouvrez l alimentation de la carte). Arrivé à ce stade, vous disposez d un circuit contenant un processeur Nios II, associé à divers périphériques. Nous allons maintenant voir comment compiler et exécuter des programmes pour et sur ce processeur. 3.2 Exécuter un programme sur la carte 3.2.1 Recompiler le programme Pour pouvoir faire exécuter votre programme c par le NIOS implanté sur la carte, vous devez modifier les paramètres de configuration du projet : 1. Cliquez sur le projet test_tp7, bouton droit, active build configuratyion debug S. Derrien 5/6

2. Cliquez sur la librairie test_tp7_syslib, bouton droit, active build configuratyion debug. 3. Cliquez sur la librairie test_tp7_syslib, bouton droit, system library properties décocher la case Modelsim only, no hardware support. 4. Relancez la compilation en cliquant sur le projet test_tp7, puis en selectionnant la commande build project. 3.2.2 Lancer l exécution sur la carte Pour lancer l exécution de votre programme, sélectionnez la commande run as/nios hardware du menu contextuel du projet test_tp7. Cette commande va tout d abord télécharger l image de l exécutable (fichier.elf) sur la carte, puis lancer l exécution. Au bout de quelques secondes (après quelque messages d avertissement), la sous fenêtre console doit alors afficher le résultat de l exécution du programme. 3.2.3 Déboguer le programme sur la carte Il est également possible d utiliser le NIOS en mode debug, l environnement offrant une interface graphique au débogueur gdb, qui permet notamment d ajouter des points d arrêts, de surveiller le contenu d une variable, d exécuter en mode pas à pas, etc. Pour l utiliser, il vous suffit de lancer la commande run as/nios hardware du menu contextuel du projet test_tp7. 4 Travail à effectuer Vous allez tout d abord vérifiez le bon fonctionnement de votre composant à l aide d un petit programme en C qui envoie des données en entrée du filtre et récupère les résultats pour les afficher sur la sortie standard. Vous mesurerez ensuite le gain en performance obtenu grâce au périphérique, en comparant la durée d exécution en version logicielle et en version matérielle d un filtrage d un tableau de 100000 échantillons. S. Derrien 6/6