Академический Документы
Профессиональный Документы
Культура Документы
Version 10 fvrier 2011 Lenvironnement de dveloppement permettant de programmer les composants reconfigurables dAltera se nomme Quartus. Il permet de raliser lintgralit des tapes permettant de configurer un composant programmable. Ce tutoriel est crit pour la version 9.0 de Quartus avec laquelle fonctionne la carte de dveloppement DE0.
Entrer ensuite dans le Project Wizard le nom choisi pour votre projet : Cliquer 2 fois sur
Choisir le FPGA prsent sur votre carte en slectionnant : La famille de FPGA : Cyclone III Le modle : EP3C16484C6
puis sur
schmatique
, Fichier Verilog
Dans le fentre qui souvre, slectionner loutil de slection de composants puis, dans la fentre Symbol, pour accder par exemple, une porte ET 2 entres, il faut descendre ensuite dans le menu de slection de composants en choisissant : C:/altera/quartus/ librairies/primitives/logic. Slectionner le composant, puis cliquer sur Ok :
On bascule alors sur le schma ; chaque clic souris dessine une nouvelle porte ; on sort de ce mode par la touche Echap (ou Esc). Pour tracer des connexions, on slectionne loutil (Orthogonal Node Tool), et on relie les 2 terminaisons concernes entre elles :
Il faut maintenant dessiner les entres/sorties de la fonction logique (les IN ou les OUT de la description Vhdl). Pour cela slectionner nouveau loutil puis, dans la fentre Symbol, choisir le chemin C:/altera/quartus/librairies/primitives/pin et choisir input pour les entres ou output pour les sorties. Reprendre les mmes oprations que pour les portes pour la fin de ce schma. On obtient alors :
A ce niveau, soit vous souhaitez utiliser cette fonction dans dautres fichiers (voir la commande COMPONENT en Vhdl, et la notion dinstanciation), soit vous voulez relier votre fonction numrique des broches physiques de la carte DE0. Dans le 1er cas, voir dabord la partie 3. Pour le 2me (par exemple pour votre 1er projet) poursuivre cette partie. Il faut maintenant nommer les entres/sorties avec des noms qui correspondent des broches physiques de la carte. Pour cela, il existe un fichier descriptif de la carte, qui se nomme pour la DE0 DE0_Pins_Assignments . Ce fichier est dans DE0 pour TPELEC que vous devez recopier partir de documents partags dans vos documents. Ce fichier dcrit les 484 broches du composant (do son nom) et nous permet de slectionner facilement les broches de la carte. Par exemple pour relier la 1re entre du schma au bouton poussoir n0, on double-clique sur le pin name du connecteur dInput, puis dans la fentre apparaissant on renseigne le nom en indiquant ORG_BUTTON[0] . Puis on valide :
Pour relier la 1re entre du schma au Switch n8, on renseigne le nom en indiquant SW[8] , et on valide. Pour relier la sortie du schma la Led verte n3 on, renseigne le nom du connecteur Output en indiquant LEDG[3] , puis on valide. Le tableau suivant indique un certain nombre de correspondances :
HEXj_D[i]
HEXj_DP
SW[i]
ORG_BUTTON[i]
Boutons poussoirs (de 0 2) Entre Bouton poussoir n i (i variant de 0 2) exemple : ORG_BUTTON[2]pour le switch n 2 Sortie Leds Vertes (de 0 9) LED verte n i (i variant de 0 2) exemple : LEDG[6] pour la LED n6
LEDG[i]
A ce niveau, il faut permettre au logiciel de faire la correspondance entre les noms des broches de la carte, et les broches du composant. Cela se fait en important le fichier DE0_Pins_Assignments dans le projet. Pour cela, choisir Assignments < Import Assignments : puis aller slectionner le fichier inclure DE0_Pins_Assignments (nb : ce fichier est situ dans DE0 pour TPELEC qui a du tre recopi dans vos documents)
La conception de votre 1er circuit sous forme graphique se termine ici. Reste compiler le projet puis la tlcharger sur la carte. Vous pouvez donc, pour ce 1er circuit, passer directement la partie 5.
2.2. Cration de fichier sous forme de fichier VHDL File>New (ou Ctrl N) ou icne , puis slectionner le type de fichier : VHDL File. Tapez le code Vhdl. Pour associer les Entres /sorties de votre code VHDL des broches physiques du composant, le plus simple est de crer un schma bloc associ votre code VHDL (voir paragraphe 3), puis de relier les broches de ce schma bloc aux broches physique comme indiqu dans le paragraphe 2.1. Il vous faut donc dabord passer la partie 3.
3.2. Utilisation du schma associ une fonction Crer un nouveau fichier Block Diagramm/Schematic (ou ouvrir un fichier existant) Slectionner loutil Symbol Tool Ouvrir le dossier Project et slectionner le composant par son nom
Composants crs
Se servir ensuite de ce composant comme dun composant standard dans des Block Diagramm/Schematic de plus haut niveau. On peut par exemple associer les broches physiques de la carte au Entres/sorties dun code crit en Vhdl. Pour votre 1re conception en Vhdl, une fois cette association effectue, vous pouvez passer la partie 5.
4.
Cette partie ne concerne pas vos tous premiers dveloppements. 4.1. Travail avec plusieurs fichiers Pour le dveloppement dun projet, on est trs rapidement amen avoir plusieurs fichiers. Quartus nous permet dutiliser des fichiers de tous types (graphiques ou textuels). Pour les associer entre eux, le plus simple est dassocier chaque fichier textuel un schma puis dassocier les schmas entre eux, et enfin de nommer les entres-physiques sur le schma global avec les noms adquats (voir tableau Exemples de noms de broches prsentes sur la DE0 ci-dessus). Le mode opratoire est donc : Crer les diffrents fichiers Associer chaque fichier un schma Associer les schmas entre eux Dsigner le fichier de plus haut niveau de la faon suivante / Slectionner dans le Project Navigator le fichier de plus haut niveau ; faire un clic droit et choisir Set as Top-Level Entity :
4.2. Ajouter ou liminer des fichiers du projet Pour ajouter (ou dailleurs liminer) des fichiers au projet, on slectionne Project > Add/Remove Files in Project puis on choisit les divers fichiers inclure ou exlure :
Puis :
Pour liminer des fichiers du projet, on peut aussi aller dans la fentre de Project Navigator , slectionner le fichier, puis Remove File from Project :
A noter quun fichier limin du projet nest nullement effac de lordinateur et quon pourra le r-inclure dans ce projet ou dans un autre ultrieurement.
5.
Compiler le projet
La compilation va gnrer la configuration du composant programmable qui permettra la ralisation concrte du projet. Pour cela faire : Soit en slectionnant licne idoine :
Commande de compilation Soit en slectionnant dans la barre de menu Processing > Start Compiation, Soit en tapant Ctrl L.
La compilation peut prendre un certain temps. On peut ne pas lire le rapport de compilation dans la fentre de Messages (en bas de la fentre Quartus) lors des premires programmations (voir remarque ci-dessous). Si la compilation nest pas couronne de succs, il va falloir trouver et corriger les erreurs dans les fichiers sources. Sinon, on peut passer la partie 6 : la programmation du composant.
Remarques sur la fentre de messages et celle de Flow Summary : De faon gnrale, un grand nombre dinformations vous sont donnes sur le bon (ou mauvais droulement de la compilation), mais dans un 1er temps leur lecture nest pas indispensable. Vous y verrez un nombre important de warnings : ils ne sont pas forcment critiques. Enfin la fentre de Flow Summary vous donne un rsum sur les ressources occupes par votre fonction sur votre composant. 6.
Programmer le composant
Pour programmer le composant, il faut imprativement : que la DE0 soit relie au PC par cble USB quelle soit sous tension (bouton rouge). que le commutateur RUN / PROG soit positionn sur RUN Il est de plus prfrable davoir test la validit de la chane de dveloppement :ainsi que celle de la connexion USB, comme il est demand dans le texte du Tp. laide du DEO Control Panel par la programmation de la carte laide dun programme dj ralis et prsent sur DE0 pour TPELEC\New Files : de0_debounce_cnt Pour programmer le composant : slectionner licne de programmation :
A ce niveau, 2 possibilits : 1) Si licone nest pas accessible (ce qui est le cas sur cette copie dcran), il faut : Cliquer sur Hardware Setup Puis dans la nouvelle fentre slectionner USB-Blaster la place de No Hardware dans le menu Currently Selected Harware
10
Cliquer alors sur ; on revient la fentre principale o le choix Start est dsormais valide ; on passe au point suivant 2) Si licone dcran ci-dessous : est accessible (ou est devenu accessible), comme sur la copie
8. Simulation du projet
Les logiciels de simulation possibles dans Quartus seront traits dans un autre document.
9. Complments
9.1. Projets Lorsquon nest pas directement au dmarrage de Quartus, pour crer un nouveau projet, on peut faire File > New Project Wizard Pour ouvrir un projet existant, on peut faire File > Open Project, ou bien Ctrl J Pour fermer un projet ouvert, faire File > Close Project.
9.2. Commandes de schma Pour dplacer un symbole, cliquer dessus et le dplacer. Pour dplacer lensemble du schma dans la fentre active, faire Ctrl A et dplacer Pour copier un symbole, procder par Ctrl C puis Ctrl V. Pour dtruire un symbole, procder slection puis Suppr. Pour modifier le nom dun signal, double cliquer sur le nom puis modifier
9.3. Notion de bus Les signaux numriques se prsentent souvent sous forme de bus (associations de plusieurs fils par exemple lorsquil reprsentent un mot numrique. Il est aussi parfois judicieux dassocier plusieurs signaux boolens et de crer un bus Sous lditeur de schma de Quartus, on trace les bus avec loutil Pour nommer ces bus on utilisera par exemple : HEX2_D[6..0] pour nommer les 6 fils du bus dentre dun des afficheurs 7 segments (donc de sortie du FPGA) , ou encore SW[2..0] pour le bus associ 3 switchs. On choisit la taille souhaite pour le bus.
11
9.4. Du schma au Vhdl A partir dun schma, Quartus peut gnrer un code Vhdl. Pour cela, dans lditeur de schma, slectionner le menu ci-dessous :
12