Vous êtes sur la page 1sur 7

TP2 : Simulation VHDL avec l’outil

«Xilinx ISE »
I - Création d'un nouveau projet (ISE):
1.1 Lancement de l’outil :
L’outil démarre en cliquant sur l’icône :

Ou en le sélectionnant dans le menu démarrer/programmes. La fenêtre « Project Navigator »


s’ouvre alors :

Si cette fenêtre n’est pas vide faites : File>Close Project

Généralement l’outil s’ouvre avec le dernier projet ouvert.

1.2 Création d’un nouveau projet

Créez un projet :

File>New Project
La fenêtre New Project Wizard – Create New Project apparaît, renseignez la avec les
valeurs voulues :
Project Name : nom de votre projet (attention pas d’espaces dans le nom)
Project Location : chemin de sauvegarde du projet et des fichiers associés
Top-Level Source Type : HDL
Cliquer sur Next.

REMARQUE : A tout moment il est possible de changer ces informations en faisant


Source>Properties

Cependant certaines phases du flot de conception seront alors remisent en cause (synthèse,
placement, routage).

La fenêtre New Project Wizard – Create New Source apparaît. Si vous souhaitez créer des fichiers
sources qui seront automatiquement ajouté au projet vous pouvez le faire à ce moment. Mais vous
pourrez aussi à tout moment ajouter de nouveaux fichiers au projet. Dans tous les cas la fenêtre New
Source Wizard – Select Source type s’ouvre.

Vous devez spécifier le nom et l’emplacement du nouveau fichier (il est recommandé de le
sauvegarder dans le dossier du projet). Vous devez spécifier le type de fichier, par exemple VHDL
Module pour un fichier de VHDL classique.
En cliquant sur NEXT vous avez la possibilité de définir les entrées sorties du fichier si c’est un
fichier VHDL (l’entité sera alors automatiquement générée) mais c’est facultatif.

Une fois les différentes sources créés vous pouvez aussi ajouter des sources existantes avec la
fenêtre New Project Wizard – Add Existing Sources. En cliquant sur Add Source vous ouvrez une
fenêtre dans laquelle vous indiquez le chemin vers le dossier de sauvegarde du fichier à ajouter au
dossier. Vous pourrez à tous moment ajouter un fichier au projet si vous ne le faites pas lors de la
création du projet.

Une fois le projet créé (avec ou sans fichiers liés) vous visualisez dans la fenêtre sources le projet
et sa hiérarchie. Avec une clique droite sur le projet (cliquez sur la ligne avec une icône en forme de
circuit intégré) apparait une liste déroulant. Vous pouvez ajouter un fichier (vhd, ucf, …) au projet
ou en créer un nouveau, vous pouvez aussi modifier les propriétés du projet (par exemple le type de
circuit utilisé).
Vous trouvez toutes ces fonctionnalités dans la barre de tâches :

Projet>NewSource …
Projet >Add Source …
Source > Properties

Grace à la fenêtre sources vous pouvez naviguer dans la hiérarchie du projet et effectuer certaines
tâches sur un fichier en particulier en sélectionnant ce fichier. Comme le montre la capture d’écran
suivante il est parfois nécessaire (cas de la synthèse de fichier VHD) de placer un fichier en Top
Module.

Remarquez que vous pouvez aussi ajouter des sources à un fichier et modifier ces propriétés. Pour
obtenir ce menu déroulant faire un clique droit sur le fichier concerné.

1.3 Synthèse

Vous pouvez maintenant effectuer la synthèse du fichier sélectionné dans la


fenêtre Sources (attention à sélectionner le bon fichier). Pour cela vous devez sélectionner la tâche
de synthèse dans la fenêtre Processes, comme indiqué sur la capture d’écran suivante.
On peut voir que le processus de synthèse (comme tout les autres processus) est hiérarchique et
qu’il comporte plusieurs sous-processus (tous ne sont pas nécessaire à la réalisation complète de
l’application). En double cliquant à gauche sur la ligne Synthesize – XST vous lancer
automatiquement le synthétiseur Xilinx XST qui effectue la synthèse du fichier VHDL concerné.
Vous pouvez aussi faire une clique droite sur cette même ligne et sélectionner Run dans le menu
déroulant. Avec ce menu déroulant vous pouvez modifier les options de synthèse (et de la même
façon pour tous les processus et sous-processus) en cliquant sur Processes. S’ouvre alors la fenêtre
suivante :

Le choix des options demande une bonne connaissance des contraintes de l’application développée
(optimisation en puissance, temporelle, en surface par exemple).

Une fois la synthèse réussie avec succès, il est possible de visualiser le rapport de synthèse qui
comporte toutes les informations sur le résultat de synthèse, à savoir comment le synthétiseur à
transformer la description en un circuit au niveau RTL (Register Transfert Level). Vous pouvez
aussi le schéma RTL (schéma avec des fonctions simple de l’électronique numérique) ou le schéma
Technologique (schéma avec les éléments internes du FPGA, LUT ou registre par exemple). Pour
cela cliquer sur la ligne correspondant dans la liste des sous-processus de la synthèse.
Nous vous conseillons avant de passer à l’implémentation (et pour éviter de perdre inutilement du
temps) de passer à ce moment à la simulation fonctionnelle avec ModelSim (voir la suite du
document pour l’utilisation du logiciel de simulation ModelSim). Une fois cette simulation
effectuée et validée vous pouvez passer à l’implémentation du circuit.

1.4 Implémentation

Vous pouvez maintenant effectuer l’implémentation du fichier sélectionné dans la


fenêtre Sources (attention à sélectionner le bon fichier). Pour cela vous devez sélectionner la tâche
de synthèse dans la fenêtre Processes, comme indiqué sur la capture d’écran suivante :

La tâche d’implémentation est bien plus conséquente que la phase de synthèse. C’est pourquoi il
faut bien veiller à valider le fonctionnement du système avant de lancer cette tâche
(particulièrement vraie dans le cas de projet de grande taille). Cette tâche peut effectivement
prendre beaucoup de temps.

Nous pouvons regarder la sous-tâche de placement routage qui comporte de nombreuses étapes
intéressantes :

Lorsque, dans cette liste, un nom apparait entre parenthèses cela signifie que ce processus va ouvrir
un outil complémentaire. Il est très intéressant d’effectuer une simulation postplacement routage
pour valider le circuit avant configuration du FPGA. Pour cela le processus Generate Post-Place &
Route Simulation Model va créer un nouveau fichier qui tient compte des délais dus à
l’implémentation du circuit. Ce fichier est simulable sous ModelSim à condition de compiler
auparavant les fichiers simprim_Vcomponents.vhd et simprim_Vpackage.vhd dans la librairie
SIMPRIM.

1.5 Génération du fichier de configuration

La génération du fichier de configuration (ou bitstream) du FPGA est un lancé en cliquant sur le
processus Generate Programming File comme indiqué sur la capture d’écran si dessous :

A partir de ce processus vous pouvez lancer l’outil iMPACT de configuration du FPGA. Avec ce
même outil vous pouvez générer un fichier de configuration pour le stockage dans la ROM de
configuration et programmer cette mémoire.

Vous aimerez peut-être aussi