37 0 1MB
ENSA D’OUJDA
DEPARTEMENT GENIE ELECTRIQUE
Travaux pratiques Langage VHDL B. HAJJI 01/09/2016
Niveau 4ème GE 1
Année Universitaire : 2016-2017
Guide d’utilisation du logiciel Modelsim
Ce guide d’utilisation du logiciel Modelsim présente les 4 étapes nécessaires pour la simulation d’un circuit décrit par le langage VHDL :
La première étape consiste à créer un nouveau projet La seconde étape permet la création ou l’ajout d’un nouveau fichier source VHDL La troisième et la dernière étape concernent la compilation et la simulation des fichiers sources VHDL
Lancer l’outil de simulation Modelsim dans le menu Démarrer des programmes ou par le raccourci. Etape 1 : Création d’un nouveau projet : File New Project La fenêtre suivante apparaît :
o o o
Donner un nom de projet Choisir un emplacement sur votre compte du répertoire où sera situé le projet. Laisser work comme nom de bibliothèque par défaut.
Lorsque vous validez votre choix en cliquant sur le bouton OK comme indiqué, la fenêtre suivante s’affiche :
2
Etape 2 :
Création ou ajout d’un nouveau fichier source o
Si votre fichier source VHDL existe (a été déjà écrit), vous pouvez simplement l’ajouter au projet en sélectionnant Add Existing File .
o
Dans le cas contraire, sélectionner Create New File. La fenêtre suivante s’ouvre et vous propose de préciser le nom du fichier tout en indiquant l’extension .vhd.
Après la validation de votre choix en cliquant sur le bouton ok, la fenêtre principale de Modelsim doit contenir votre fichier source VHDL dans l’espace de travail workspace.
3
Le point d’interrogation signifie que le fichier n’est pas compilé. Vous pouvez à présent éditer le contenu du fichier en double-cliquant sur son nom. La fenêtre de l’éditeur s’ouvre et vous pouvez en modifier le contenu. Une fois la saisie effectuée, sauvegardez la description à l’aide du bouton save.
Cliquez ensuite à nouveau sur VHDL dans le menu : File New Source. Effectuez la saisie du code apparaissant dans la figure ci-contre. Souvegardez le fichier sous la référence test_acc.vhd. Dans le menue File add to project, cliquez sur existing file et demandez l’insertion du fichier dans le projet courant. Vous devez alors observer l’apparition de la référence test_acc.vhd dans le workspace, au coté de accumulateur.vhd, avec toujours un point d’interrogation comme indicateur d’état (status) de fichier. Etape 3 : -
4
Compilation des fichiers sources VHDL
Sélectionner les fichiers sources VHDL Cliquer bouton droit de la souris Sélectionner « Compile selected »
Etape 4 : -
-
5
Simulation
Cliquer sur l’onglet library dans le cadre « workspace ». Ouvrer le dossier test puis cliquer avec le bouton droit de la souris sur bech et sélectionner simulate. De nouveaux onglets apparaissent dans le « workspace ». Vous pouvez vérifier que l’entité et l’architecture chargées pour la simulation correspondent bien à celles attendues.
Sélection des signaux : cliquer sur Wave dans le menu view -> Debug Windows. La fenêtre d’affichage des chronogrammes s’affiche. Faite ensuite une sélection des signaux que vous souhaitez visualiser dans cette fenêtre : clique bouton droit de la souris add to Wave Selected Signals
-
La simulation faite à l’aide de la commande Force : Exemple : force clk 0 0, 1 40 –repeat 80 Force a 0 0, 1 80 Run 100 La première ligne force le signal clk à 0 au temps 0, à 1 au temps 40, et répète cette séquence toutes les 80 ns. Ceci correspond à un signal périodique.
6
Prof : B. HAJJI
Niveau 4ème GE
TP VHDL Partie 1
Exercice 1 : Demi-additionneur Un demi-additionneur est un système à 2 entrées sur 1 bit, fournissant une sortie S = a + b et une sortie Cout de retenue.
1- Ecrire ce composant en VHDL 2- Simuler le bon fonctionnement de ce circuit en utilisant : a. La commande Force de ModelSim b. Un test-bench qui permet de générer les stimuli à appliquer au composant demiadditionneur
Exercice 2 : Additionneur complet Un additionneur complet est un système à 3 entrées sur 1 bit (A, B, Cin), fournissant une sortie S = A + B + Cin et une sortie Cout de retenue.
1) Ecrire ce composant en VHDL à l’aide de la des riptio stru turelle e utilisa t 2 demi-additionneurs et un circuit combinatoire g 2) Simuler le bon fonctionnement de ce circuit en utilisant : a. La commande Force de ModelSim b. Un test-bench qui permet de générer les stimuli à appliquer au composant demiadditionneur
7
Exercice 3 : Comparateur Les ports du comparateur qui compare deux nombres de 8bits non assignés sont listés dans la table 1 ci-dessous : Signal A B Eq Lt Gt
Type Direction std_logic_vector(7 downto 0) input std_logic_vector(7 downto 0) input std_logic output std_logic output std_logic output
Function Data input Data input a=b ab
Table1 : Description des ports du comparateur Le modèle VHDL de flot de données du comparateur est donné par la figure 1 : Library ieee ; Use ieee.std_logic_1164.all; entity compare is port ( a, b : in std_logic_vector (7 downto 0); eq, gt, lt : out std_logic); end compare; architecture dataflow of compare is begin eq