Ceci est une ancienne révision du document !



Simulation VHDL

GTKWave Cette page s'adresse à ceux qui débutent en Vhdl ou bien qui recherchent une solution libre de développer leurs projets. Elle s'appuie sur les logiciels libres suivants:

  • GHDL : logiciel de simulation de code VHDL
  • GtkWave : logiciel de visualisation de simulation

FIXME Un petit explicatif de ce qu'est vhdl serait un plus plutôt qu'un simple lien wikipedia

Depuis un terminal, placez vous dans votre répertoire de travail

cd le/chemin/vers/mon/repertoire/Repertoire_de_Travail

Analyse du code VHDL

Permet de vérifier la syntaxe du code, les erreurs sont affichées dans le terminal.

ghdl -a monFichier.vhd

Compilation

Cette étape ne peut se faire qu'une fois le code vérifié et corrigé. Si ce n'est pas le cas, ghdl vous le fait remarquer.
On crée ici un fichier exécutable.

ghdl -e monFichier
Attention, il ne faut pas indiquer d'extension à monFichier

Simulation

Un fois l'exécutable créé, on spécifie un temps de simulation pour l'exécuter. Remplacez XX par la durée de votre simulation. Le fichier vcd créé va nous servir à visualiser nos chronogrammes via GTKWave.

./monFichier --stop-time=XXns --vcd=monFichierSimulation.vcd

Visualisation

On lance le logiciel gtkwave en lui spécifiant notre fichier de simulation.

gtkwave monFichierSimulation.vcd &
L'ajout des signaux au chronogramme se fait par simple double clic
Pour ceux qui ont l'habitude de travailler directement sur des cibles type FPGA, dans le cas d'une simulation, il vous faudra impérativement simuler vos signaux d'horloge

Exemple de simulation d'une clock :

signal clk_simu : std_logic := '0';
constant demiPeriode : time := 10 ns; -- pour une periode de 20ns -> freq 50MHz

p_clk_simu : process is
     begin  
          clk_simu <= '1' after demiPeriode, '0' after 2*demiPeriode;
          wait for 2*demiPeriode; 
 end process p_clk_simu;  

Pour désinstaller ces applications, il suffit de supprimer les paquets ghdl et gtkwave. Selon la méthode choisie, la configuration globale de l'application est conservée ou supprimée. Les journaux du système, et les fichiers de préférence des utilisateurs dans leurs dossiers personnels sont toujours conservés.


Contributeurs:FIXME

  • simulation-vhdl.1306794842.txt.gz
  • Dernière modification: Le 15/12/2011, 15:20
  • (modification externe)