Académique Documents
Professionnel Documents
Culture Documents
Objet :
Prise en main de l’environnement ModelSim
Programmation et simulation de composants de base
Utilisation sur un exemple de demi-additionneur et additionneur complet
I. Configuration Modelsim
1. Démarrage de l’outil de simulation
Le simulateur utilisé s’appelle ModelSim. Lancez le simulateur à partir du menu principal
demarrer de windows.
1
Langage de description VHDL AU: 2020/2021
Une fenêtre de dialogue sur le modèle de celle apparaissant en partie gauche de la Figure ci-
dessous vous permet de saisir le nom du projet (par exemple accumulateur) et de modifier
éventuellement l’emplacement du répertoire où sera situé le projet, si l’emplacement par défaut
ne vous convient pas.
Remarque : si le répertoire cible du projet n’existe pas sur le disque référencé, l’outil vous
propose de le créer (partie gauche de la ci-dessous). Validez sa décision en cliquant sur le
bouton « OK » comme indiqué.
Une fois le projet créé, l’outil vous propose d’insérer ou d’éditer un nouveau fichier source
(Figure ci-dessous). Le fichier source n’existant pas, cliquez sur «Create New File ».
2
Langage de description VHDL AU: 2020/2021
3
Langage de description VHDL AU: 2020/2021
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 test. Sauvegardez le fichier sous la référence test_acc.vhd.
A l’aide du bouton droit de la souris dans la cadre workspace, cliquez sur add to project, puis
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, accompagné d’un point d’interrogation comme indicateur d’état (status) de
fichier.
3. La compilation
1ére méthode :
Le lancement du compilateur s'effectue par le menu :
Compile —> Compile
du logiciel. Une fenêtre s'ouvre alors et vous donne accès aux fichiers de votre répertoire de
travail. Sélectionnez un fichier et cliquez sur Compile Selected. La phase de compilation est
alors activée.
4
Langage de description VHDL AU: 2020/2021
2éme méthode :
Compilez vos fichiers sources en respectant les étapes ci-dessous :
5
Langage de description VHDL AU: 2020/2021
Erreur :
6
Langage de description VHDL AU: 2020/2021
4. Simulation
a) Ouverture du simulateur
Cliquez sur l’onglet library dans le cadre workspace. Ouvrez le dossier test puis cliquez avec le
bouton droit de la souris sur bench et sélectionnez simulate. De nouveaux onglets apparaissent
dans le workspace.
7
Langage de description VHDL AU: 2020/2021
De manière équivalente, vous pourrez obtenir le même résultat en cliquant sur start simulation
dans le menu Simulate. Dans la fenêtre de simulation qui fera alors son apparition, vous
cliquerez sur work, test et bench avant de valider grâce au bouton ok.
b) Sélection des signaux
Cliquez sur wave dans le Menu View. La fenêtre d’affichage des chronogrammes apparaît.
Faites ensuite une sélection des signaux que vous souhaitez visualiser dans cette fenêtre,
comme l’indique la Figure ci-dessous.
Ou
8
Langage de description VHDL AU: 2020/2021
Il est possible d’afficher les signaux dans d’autres formats (modification du radix). En
procédant comme l’indique la Figure ci-dessous, vous pouvez obtenir une représentation en
hexadécimal.
Cliquez sur le signal avec le bouton droit de la souris
9
Langage de description VHDL AU: 2020/2021
Solution N°3
10
Langage de description VHDL AU: 2020/2021
6. Relancer la simulation
Modifiez le programme source de test afin d’insérer une modification de la valeur de E1 de 0 à
770 ns. Pour relancer la simulation après modification de la source VHDL, il vous suffit de:
• Compiler les fichiers modifiés (Ne pas oublier !!),
• Cliquer sur restart dans le menu Simulate et de valider par « Restart » la fenêtre présentée à
l’écran.
• Dérouler la simulation (Run).
Travail demandé :
11
Langage de description VHDL AU: 2020/2021
a b
c d
1. Créer un nouveau fichier VHD que vous nommerez demi_adder1bits.vhd. Ce fichier
correspondra à la description Flot de données en VHDL d’un demi-additionneur.
2. Ecrire le code VHDL :
- Ecrire l'entité demi_add et l'architecture arch_demi de ce modèle en utilisant
une description de type flux de données.
- Ecrire le modèle de test test_demi_add comportant une valeur de A et des
valeurs de B décrivant tous les combinaisons possibles.
- Testez en simulation le comportement.
12
Langage de description VHDL AU: 2020/2021
Un additionneur sur 4 bits est un circuit qui permet de faire l’addition de deux nombres A et B
de 4 bits chacun
- A(A3A2A1A0)
- B(B3B2B1B0)
En plus il tient en compte de la retenu entrante
• En sortie on va avoir le résultat sur 4 bits ainsi que la retenu (5 bits en sortie)
13