Vous êtes sur la page 1sur 15

Utiliser QUARTUS

pour la conception de circuits


numériques FPGA
Serge Weber
Institut Jean Lamour
(Serge.Weber@univ-lorraine.fr)

Simulation par test bench


Simulation temporelle avec prise en
compte du placement-routage
1
Exemple de circuit à simuler

2
Faire la synthèse logique (voir démarrage)

3
Simulation : configuration éventuelle

Le simulateur
utilisé est Modelsim
Il faut vérifier le chemin
d’accès à l’exécutable de
Modelsim

4
Simulation par Testbench

• Le testbench est une description en VHDL


des stimuli permettant de simuler le
composant à concevoir. Le testbench peut
inclure des vérifications

Composant
Stimuli sous test
Ex table de Et_ou_non.vhd
valeurs
+
vérification
des sorties
Testbench : et_ou_non.vht

5
Ecriture du Testbench
• Une fonction de simplification est prévue dans Quartus :
• Processing
-> Start
-> Start
testbench
Template writer

6
Ecriture du Testbench
• Ouvrir le testbench
ex : et_ou_non.vht

7
Ecriture du Testbench
Ajouter le fichier au projet
Project -> add current file to
project
Compléter le testbench avec
les stimuli ex :

BEGIN

a<= '0'; b<= '0' ;


wait for 100 ns;
a<= '1'; b<= '0' ;
wait for 200 ns ;
a<= '0'; b<= '1' ;
wait for 300 ns;
a<= '1'; b<= '1' ;
wait for 400 ns;
a<= '0'; b<= '0' ;
WAIT;

8
Exemple de testbench

9
Paramétrage pour simulation par testbench

• Assignments
• Settings…

10
Paramétrage pour simulation fonctionnelle
Test Benches : choisir new
Donner un nom au
test Bench

11
Paramétrage pour simulation fonctionnelle
• Changer le nom du Top level (mettre le nom de l’entité du
testbench) (dans l’exemple et_ou_non_vhd_tst )
• chercher le fichier .vht adéquat
• et l’ajouter avec ADD

12
Paramétrage pour simulation avec temps de
propagations (timing simulation)
Cocher la case : Use test bench to perform VHDL timing Simulation

13
Paramétrage pour simulation avec temps de
propagations (timing simulation)
• Le nom de Design instance…
• correspond au nom donné du port map du composant sous
test dans le tesbench
Dans l’exemple
i1 : et_ou_non PORT MAP(….)

14
Lancer le simulateur et visualiser
• Simulation gate level -> timing simulation

• Visualisation (on voit des aléas dans l’exemple)

15

Vous aimerez peut-être aussi