VHDL ( Quartus )

Quartus est le logiciel qui permet de programmer et d’envoyer son programme sur la carte.

Voici à quoi ressemble la carte sur laquelle vous allez envoyer votre code.

Sur cette carte vous allez principalement utiliser les interrupteurs, les interrupteurs poussoirs, les LED et les afficheurs 7-segments.

Vous pourrez éventuellement lors de votre projet de fin de semestre brancher un écran sur le port VGA.

 

Création d’un nouveau projet

Lorsque vous ouvrez Quartus, vous devez créer un projet pour renseigner toute les données du micro-contrôleur.

Vous devez d’abord cliquer sur « New Project Wizard ».

 

Cliquez sur « Next ».

 

Sur cette page vous devez renseigner le nom de votre projet, ainsi que le nom de l’entité qui va être dans votre projet.

 

Sur cette page, n’ajoutez aucun fichier, cliquez simplement sur « Next ».

 

Ici, c’est une étape très importante, vous devez sélectionner le micro-contrôleur que vous allez utiliser, ici en TP nous utilisons le « 5CSEMA5F31C6 ».

Cliquez ensuite sur « Next ».

 

Ici ne touchez rien, cliquez simplement sur « Next ».

 

Pour finaliser votre création de projet vous devez vérifier que vous avez bien saisi les bonnes informations et ensuite cliquez sur « Finish ».

 

Vous venez de paramétrer votre logiciel et de créer un projet, vous devez ensuite créer le code qui sera envoyé sur votre machine.

 

Création de votre premier programme

Voici déjà quelques explications, le programme que nous allons prendre en exemple sera simple, nous aurons deux interrupteurs et deux LED.

En VHDL, on utilise très souvent des portes logiques, par exemple pour faire un XOR entre le bouton a et b on a juste à faire :

a XOR B

Notre programme allumera une LED lorsque on aura « a XOR b » et une autre LED lorsque l’on aura « a ET b », qui se traduit en VHDL par

R <= a AND b    //R étant notre sortie donc la LED

 

Passons maintenant à la création de notre programme.

 

Pour écrire votre code, vous devez premièrement créer un fichier VHDL où vous pourrez rentrer le code.

Cliquez pour cela dans File -> New…

Nous voulons un fichier en VHDL car c’est le langage que nous utilisons, sélectionnez « VHDL File ».

 

Notre fichier est maintenant créé et nous pouvons ensuite passer à l’écriture de notre programme, le programme sera écrit dans la zone rouge.

 

Si vous voulez comprendre le programme utilisé cliquez-ici pour voir son explication détaillée.

 

Une fois que notre code est tapé nous allons pouvoir le compiler pour vérifier que nous n’avons pas d’erreur et pour ensuite l’envoyer à la simulation.

Pour cela cliquer sur « Analysis & Synthesis ».

 

Vous devrez retrouver cette page si votre programme ne comporte pas d’erreur, et vous devrez avoir « 0 errors ».

 

Si vous n’avez pas d’erreur, vous pouvez ensuite passer à la simulation de votre programme.

 

Simulation

Avant d’envoyer votre programme sur la carte vous pouvez en faire une simulation pour vérifier que tout fonctionne bien.

 

Avant de lancer la simulation, veillez à bien avoir « Analysé » votre programme.

 

Vous devez renseigner le chemin pour le simulateur pour cela allez dans Tools -> Options… Et renseignez le bon chemin pour « ModelSim-Altera ». Si la version n’a pas changé vous pouvez utiliser celui de la capture d’écran.

Et lorsque vous avez fini vous pouvez appuyer sur « OK ».

 

Pour lancer la simulation, appuyez sur Tools -> Run Simulation Tool -> RTL Simulation

 

Vous devez normalement arriver sur cette page, si ce n’est pas le cas revoyez le chemin dans l’étape précédente.

Dans le cadre rouge, sélectionnez votre architecture qui se trouve dans le dossier « work ».

Vous allez maintenant avoir le rectangle vert où se trouvent vos variables d’entrées et de sorties.

 

Vous allez ensuite devoir donner des valeurs à vos variables d’entrée. Pour cela faites clic-droit sur la variable dont vous voulez modifier la valeur.

Puis allez dans Modify -> Apply Wave…

 

Ici sélectionnez « Constant » et appuyez sur « Next ».

 

Et là vous devez renseigner la valeur souhaitée (0 ou 1).

 

Vous allez voir se créer un graphique où l’on retrouve l’état de vos variables.

Faites de même pour vos autres variables d’entrée.

 

Il faut ensuite rajouter vos variables de sortie pour que vous puissiez voir leurs états. Pour cela il suffit de les sélectionner et de les déplacer dans la zone noire.

 

Voilà maintenant votre simulation est prête à être lancée.

 

Envoi sur la carte

Lorsque votre programme est terminé et qu’il répond à votre cahier des charges vous pouvez l’envoyer sur la carte pour ensuite le tester physiquement.

 

Avant d’envoyer votre programme vous devez lui dire à quel périphérique correspond chaque variable. Pour cela vous devez appuyer sur « Pin Planner ».

 

Vous devez ensuite renseigner dans le rectangle rouge, les adresses de vos périphériques, pour connaitre ces adresses reportez-vous à votre Poly, elles sont notées dedans.

Une fois cela fait vous devez paramétrer le logiciel avec la carte.

Cliquez sur « Fitter » et « Assembler ».

 

Une fois cela fait et que vous n’avez pas d’erreur, faites clic droit sur « programme device », et cliquez sur « open ».

 

Une nouvelle fenêtre s’ouvre, vous devez ensuite sélectionner la bonne carte « DE-SOC (USB 1) ». Cliquez ensuite sur « Close ».

 

Une fois le bon périphérique indiqué vous devez lui renseigner le modèle de la carte, pour cela faites « Auto Detect ».

 

Et sélectionnez « 5CSEMA5 ».

 

Ensuite vous devez lui dire quel programme vous allez envoyer, pour cela faites clic-droit sur le module de droite et ensuite faites « change file ».

 

Allez chercher votre programme qui se trouve dans le dossier « output_files », et double-cliquez dessus.

 

Ensuite cochez la case du rectangle rouge ci-dessous.


Et appuyez sur « Start », votre programme va ensuite être transféré.

 

Si vous n’avez pas d’erreur vous pouvez maintenant le tester sur la carte. Et vous devez avoir cet écran.

 

Si vous voulez voir un exemple de fonctionnement d’un programme sur la carte en vidéo cliquez-ici.