Vous êtes sur la page 1sur 8

Licences professionnelles

DMSEEA

INFORMATIQUE INDUSTRIELLE :
Travaux Pratique d’Initiation à la Programmation VHDL avec
l’Outil ISEDESIGN SUITE de XILINX

Encadré par : Réalisé par :


Mr. SALBI Adil EDDERJOUN Khalil
BOUSSAOUD Oualid

Année universitaire : 2023 / 2024


Ce premier TP a pour but de permettre la prise en main des outils de CAO Xilinx sur un exemple
simple : le design « portes logiques combinatoires ». Les entrées seront reliées sur les interrupteurs de
la maquette FPGA et les sorties sur les leds. Nous allons passer en revue toutes les phases du
développement d’un design en VHDL.
Introduction
Le processus de réalisation de ce projet prévoit d’énumérer et de décrire les étapes simples concises
pour :
• créer un projet dans ISE 9.2;
• décrire un circuit numérique en se basant sur la conception des circuits logiques programmables à
l’aide d’un schéma ou à l’aide d’une description VHDL et l’intégrer au projet ;
• simuler le circuit numérique en lui appliquant des signaux d’entrée désirés et en observant sa
sortie ;
• synthétiser et implémenter le circuit pour un FPGA ;
• programmer le FPGA de la planchette de développement FPGA, pour vérifier l’opération
correcte du circuit
I. Choix et configuration du logiciel

Le logiciel Ise II permet entre autres, la description d’un projet (système numérique), sa compilation,
sa simulation logique et temporelle, son analyse temporelle et la programmation d’un circuit cible
(CPLD ou FPGA).

Description Simulation Simulation


Implémentation
graphique fonctionnelle temporelle

La description du système numérique (logique) peut être faite à l’aide d’une des entrées suivantes :
 Editeur de texte : pour l’utilisation du langage VHDL.
 Editeur graphique : permet d’utiliser les composants prédéfinis des bibliothèques fournies par le
logiciel.
 Editeur de chronogrammes : avec lequel on représentera l’évolution temporelle et celle attendue
des sorties.
A chaque description est associé un symbole graphique du composant ainsi réalisé. L’éditeur
graphique permettra alors de relier éventuellement ces composants les uns aux autres. Chaque sous-
ensemble puis le système global est ensuite compilé, puis simulé par le simulateur logique, puis
analysé et envoyé vers le circuit cible via le programmateur.

Après avoir lancé l’application, dans la fenêtre qui s’ouvre, nous avons suivis la démarche par les
étapes suivantes en vue de configurer le logiciel :
1.La création et sélection du répertoire et nom du projet.
2.La saisie des paramètres choisies en adéquat avec la carte Xilinx fournie :

• la famille de FPGA utilisée (Spartan 6 dans le champ « Device Family »),


• le circuit utilisé (XC6SLX16 dans le champ « Device »),
• le boîtier (CSG324 dans le champ « Package »),
• la vitesse (-3 dans le champ « Speed Grade »),
• les outils du flot de développement (synthétiseur : XST, simulateur : modelsim, langage VHDL)
3.Création du design VHDL dans notre cas le module choisi celui du VHDL Module

II. Saisie de la description du circuit logique

La description VHDL est composée essentiellement de deux parties indissociables :


 L’entité (entity) : elle décrit l’extérieur l’interface du composant et permet ainsi de définir les
entrées/sorties. Pour déclarer l’entité on donne un nom et on précise la liste des différents signaux
d’entrées/sorties (ports d’E/S)
 L’architecture (architecture) : décrit l’intérieur du composant. Elle contient les instructions VHDL
permettant de réaliser le fonctionnement attendu.
Elle comporte une partie de déclaration et un corps de programme.

Le programme choisi consiste a réaliser 3 fonctions logiques AND OR ET XOR en respectant les
trois étapes constitutives à savoir :
 Déclaration des bibliothèques
 Déclaration des signaux d’entrées /sorties
 Architecture

Library IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_logic_unsigned.ALL;
Entity TP1 is
Port (E0, E1, E2, E3, E4, E5: in STD_LOGIC;
S0, S1, S2: out STD_LOGIC);
end TP1;
Architecture Portes logiques of TP1 is
begin
S0 <= E0 and E1;
S1 <= E2 or E3;
S2 <= E4 xor E5;
end Portes logiques;
 En phase de compilation et vérifications syntaxe nous avons constaté la génération de deux
types d’erreurs

 Erreur 1 : on a oublié de déclarer une variable d’entrée.


 Solution : saisir la variable oubliée.

 Erreur 2 : on a utilisé une instruction du VHDL comme nom d’architecture


 Solution : Renommer l’architecture.
Une fois les syntaxes ont été redressés la compilation est exécuté sans toutefois afficher d’erreurs, et
nous permet de générer un schéma dit RTL et de technologie en visualisons les architectures
logiques et l’implantation des entrées sortie

Schéma RTL montre la version réoptimisée en termes de symboles génériques.


Tant que le schéma de technologie est généré après la phase de d’optimisation et de ciblage
technologique de la phase de synthèse.
III. Simulation du projet

Apres le placement et routage nous envisageons visualiser les signaux en timing détaillé

 En rouge la fonction AND.


 En bleu La fonction OR.

 En vert La fonction XOR.


Problème rencontré lors de la simulation du programme :
 La seule difficulté rencontrée est la façon de forçage des horloges afin de décaler la période
des signaux des entrées permettant de visualiser les changements de variables tels que
dans une table de vérité.
LA SOLUTION été de multiplier la période du deuxième signal d’entrée par deux, par
rapport au premier signal.
III. Implémentation du design

1. Affectation des ports d’Entrées /Sorties :


En se basant sur les adresses qui se trouves dans la carte NEXYS3, et afin de pouvoir utiliser
les interrupteurs et les leds de la carte nous avons affecté chaque variables de notre
programme a l’un des adresses des ports de la cartes en utilisant le logiciel « Xilinx
PlanAhead»
*Chaque entrée/sortie validé se présente en jaune
Apres enregistrement des modifications on a quitté PLANAHEAD et on a vérifié l’existence du
fichier. UCF

2. Mapping et routage :
Dans cette simple étape on désire finalement de générer le ficher «. Bit » qui sera implanté sur notre
FPGA
3. L’Implantation et essais :

Nous avons mis notre carte XILINX sous tension pour être prédisposée a charger et et piloter
des interfaces entrées sorties déclarés sur notre logiciel, entamés la procédure citée ci-
dessous de configuration d’implémentation et le faire charger sur un autre programme
d’interface Adept sous un fichier enregistré sous extension. Bit

Conclusion :
D’après la réalisation de ce TP, nous avons pu aboutir et apporter une réponse à notre
problématique qui consiste à décrire et simuler la réponse d’une composante électronique en
utilisant Modelsim et le langage VHDL, ce TP nous a aidé à approfondir et élaborer nos
connaissances en VHDL ainsi, se familiariser correctement avec Modelsim, nous avons
acquis et développé des qualités, aptitudes et intérêts. Ce qui va être bénéfique notre dans
cursus d'étude.

Vous aimerez peut-être aussi