0% ont trouvé ce document utile (0 vote)
1 vues28 pages

Simulation VHDL Sur Quartus: Les Deux Méthodes de Simulation

Le document explique comment simuler un code VHDL sur Quartus en utilisant deux méthodes : l'éditeur de formes d'onde et le testbench. Il décrit les étapes pour créer un projet, compiler le code, et lancer la simulation, en utilisant un exemple de porte AND. Les deux méthodes permettent de visualiser les résultats de simulation et de tester le fonctionnement du code VHDL.

Transféré par

elmehdi.sasni
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
1 vues28 pages

Simulation VHDL Sur Quartus: Les Deux Méthodes de Simulation

Le document explique comment simuler un code VHDL sur Quartus en utilisant deux méthodes : l'éditeur de formes d'onde et le testbench. Il décrit les étapes pour créer un projet, compiler le code, et lancer la simulation, en utilisant un exemple de porte AND. Les deux méthodes permettent de visualiser les résultats de simulation et de tester le fonctionnement du code VHDL.

Transféré par

elmehdi.sasni
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Simulation VHDL sur Quartus

Les deux méthodes de simulation

Exemple : Porte AND


Objectifs

• Apprendre à simuler un code VHDL sur Quartus


• Comprendre les deux méthodes de simulation :
• Méthode 1 : Waveform Editor (éditeur graphique)
• Méthode 2 : Testbench (fichier VHDL de test)
• Visualiser les résultats de simulation
Étapes communes (avant simulation)

Étape 1 : Créer un nouveau projet


File → New Project Wizard → Choisir le dossier et nom du projet

Étape 2 : Créer le fichier VHDL


File → New → VHDL File → Écrire le code → Save as "porte_and.vhd"

Étape 3 : Compiler le projet


Processing → Start Compilation (ou Ctrl + L)
Vérifier qu'il n'y a pas d'erreurs (0 Errors)

Étape 4 : Choisir la méthode de simulation


→ Méthode 1 : Waveform Editor (graphique)
→ Méthode 2 : Testbench (code VHDL)
Code VHDL : Porte AND
Fichier : porte_and.vhd

library IEEE;
Schéma :
use IEEE.STD_LOGIC_1164.ALL;

entity porte_and is A
port (
A : in std_logic; S
B : in std_logic; AND
S : out std_logic B
);
end porte_and;

architecture arch of porte_and is


begin
Table de vérité :
S <= A and B; A B S
end arch;
0 0 0
0 1 0
1 0 0
1 1 1
Méthode 1
Waveform Editor
Simulation graphique avec l'éditeur de formes d'onde
Méthode 1 : Waveform Editor
Étape 1 : Créer un fichier Waveform

1. File → New → University Program VWF

2. Un éditeur de formes d'onde s'ouvre

3. Sauvegarder le fichier :
File → Save as → "porte_and.vwf"

💡 Remarque : VWF = Vector Waveform File (fichier de formes d'onde)


Méthode 1 : Waveform Editor
Étape 2 : Ajouter les signaux

1. Ajouter les signaux A, B, S (fenêtre a gauche clic droit → Insert Node or Bus)
2.
3. 2. Fenêtre "Insert Node or Bus" s'ouvre
4.
5. 3. Cliquer sur "Node Finder...“
6.
7. 4. Dans Node Finder :
8. • Filter : Pins (all)
9. • Cliquer "List"
10. • Sélectionner A, B, S
11. • Cliquer " > " pour ajouter
• Cliquer "OK"
Méthode 1 : Waveform Editor
Étape 3 : Configurer les entrées
1. Configurer le temps de simulation :
Edit → Set End Time → 1 us (ou 1000 ns)

2. Pour modifier le signal A :


• Sélectionner la ligne A
• Clic droit → Value → overwrite Clock
• Dans la fenêtre qui s'ouvre :
Period : 200 ns
Offset : 0 ns
Duty Cycle : 50%

3. Pour modifier le signal B :


• Sélectionner la ligne B
• Clic droit → Value → overwrite Clock
• Period : 400 ns
Méthode 1 : Waveform Editor
Étape 4 : Lancer la simulation

1. Sauvegarder le fichier VWF

2. Lancer la simulation :
Simulation → Run Functional Simulation

3. Observer les résultats :


→ La sortie S apparaît automatiquement
→ S = 1 seulement quand A = 1 ET B = 1
Résultat attendu :

A: ▁▁▁▁████▁▁▁▁████▁▁▁▁████▁▁▁▁████

B: ▁▁▁▁▁▁▁▁████████▁▁▁▁▁▁▁▁████████

S: ▁▁▁▁▁▁▁▁▁▁▁▁████▁▁▁▁▁▁▁▁▁▁▁▁████
Méthode 2
Testbench
Simulation avec un fichier VHDL de test
Méthode 2 : Testbench
Qu'est-ce qu'un Testbench ?
Un testbench est un fichier VHDL qui :

• Instancie le composant à tester (UUT : Unit Under Test)

• Génère les signaux d'entrée automatiquement

• Permet de vérifier les sorties

• Ne contient PAS de ports (entité vide)


Testbench

UUT (porte_and)
Méthode 2 : Testbench
Code du Testbench : tb_porte_and.vhd

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity tb_porte_and is
end tb_porte_and; -- Entité VIDE (pas de ports)

architecture test of tb_porte_and is


signal A_tb, B_tb, S_tb : std_logic;
component porte_and
port (A, B : in std_logic; S : out std_logic);
end component;
begin
Méthode 2 : Testbench
Ajouter le processus de stimulation

begin
UUT: porte_and port map(A_tb, B_tb, S_tb);

process -- Processus de stimulation


begin
A_tb <= '0'; B_tb <= '0'; -- Test 1
wait for 100 ns;
A_tb <= '0'; B_tb <= '1'; -- Test 2
wait for 100 ns;
A_tb <= '1'; B_tb <= '0'; -- Test 3
wait for 100 ns;
A_tb <= '1'; B_tb <= '1'; -- Test 4
wait for 100 ns;
wait; -- Arrêter la simulation
end process;
end test;
Méthode 2 : Testbench
Étapes pour simuler avec le Testbench
Résumé

Méthode 1 : Waveform Editor


• Créer fichier VWF → Ajouter signaux → Configurer entrées → Simuler

Méthode 2 : Testbench
• Créer fichier VHDL de test → Instancier composant → Générer stimuli → Simuler
Multiplexeur 2 vers 1 :
Testbench :
Compteur modulo 16 :
Testbench :
Compteur avec RST asynchrone :
1. Full Adder (fa) :
2. Additionneur 4 bits (add4) :
3. Testbench :

Vous aimerez peut-être aussi