TP VHDL ModelSim20016 2017 [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

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