Professional Documents
Culture Documents
ME27
TP01
I. Objectif du TP :
1. Installation du Logiciel Xilinx ISE9.2 ;
2. Cration du premier projet sous ISE9.2 ;
3. Dfinition du couple Entit/Architecture.
II. Le logiciel Xilinx ISE9.2 :
Le logiciel ISE9.2 est un environnement intgr (de la compagnie Xilinx) de dveloppement de
systmes numriques sur des composants reconfigurables ayant pour but une implmentation
matrielle sur FPGA. ISE est disponible sur le site www.xilinx.com sous plusieurs versions (, 8.1,
9.2, 10.1, 12.2, 12.3 ). Dans ISE, Les designs peuvent tre dcrits sous trois formes principales
:
Schmas ;
Langage de description matrielle (HDL) comme VHDL, Verilog, ABEL, etc. ;
Diagrammes dtats.
ISE intgre des diffrents outils permettant de passer travers tout le flot de conception dun
systme numrique savoir :
Un diteur de textes, de schmas et de diagrammes dtat ;
Un compilateur VHDL/Verilog ;
Un outil de simulation ;
Des outils pour la gestion des contraintes spatiales et temporelles ;
Des outils pour la synthse ;
Des outils pour la vrification ;
Des outils pour limplantation sur FPGA.
III. Lancement de ISE9.2 et cration dun projet :
Dans lenvironnement ISE, un projet est un regroupement de fichiers en rapport avec un systme
ou un design en particulier. Par exemple, dans le cadre dun cours, on pourrait avoir un projet par
laboratoire ou par devoir. Avant de commencer avec ISE, crez un rpertoire dans un endroit o
vous rangez vos data et appelez-le, par exemple TP_VHDL.
1. Lancer ISE 9.2 en cliquant deux fois sur licne le bureau ou bien en choisissant :
Dmarrer tous les Programmes XilinxISE9.2 Project Navigator.
2. La deuxime tape consiste crer un nouveau projet dans ISE (File New Project) toute en
choisissant le nom et lemplacement et le nom de projet (TP_01 par exemple). A cette tape,
vous pouvez faire le choix entre un design et une implmentation en HDL. Dans notre cas
slectionner HDL comme Top-Level Source Type. Cliquez sur Next.
1
K. Messaoudi 2013/2014
Informatique Industrielle 2
ME27
3. Vrifier que les paramtres sont identiques la figure suivante. Ces paramtres reprsentent
les caractristiques du circuit FPGA (LX110T) disponible dans la plateforme XUPV5 (voir
Annexe). Vrifier que Enable Enchanced Design Sammary est bien slectionn. Cliquez
sur Next.
4. Appuyer sur Next deux autres fois pour les deux autres fentres et ensuite sur Finish.
2
K. Messaoudi 2013/2014
Informatique Industrielle 2
ME27
Cliquer sur le nom de fichier (TP01_1.vhd) pour ouvrir un diteur de texte et crire votre
code VHDL. Taper le code VHDL suivant :
libraryIEEE;
useIEEE.STD_LOGIC_1164.ALL;
useIEEE.STD_LOGIC_ARITH.ALL;
useIEEE.STD_LOGIC_UNSIGNED.ALL;
entityTP01_Ais
port(
A,B:INstd_logic;
C,D:outstd_logic
);
endTP01_A;
architectureBehavioralofTP01_Ais
begin
C<=AandB;
D<=AorB;
endBehavioral;
3
K. Messaoudi 2013/2014
Informatique Industrielle 2
ME27
IV. Simulation
Lenvironnement de simulation de notre conception devra assurer la gnration des stimuli et
laffichage des rsultats, ce qui se fera de manire procdurale. Ces lments peuvent tre hbergs
dans un module de test (test-bench). Ce module est un programme VHDL, avec ni entre ni sortie,
dans lequel le programme principal est appel comme component. Dans le test-bench est ajoute
aussi une partie pour la gestion des entres/sorties du programme principale. Cette mthode est
ncessaire pour des programmes avec des entres/sorties importantes et de diffrentes natures.
Une autre mthode est aussi applicable pour des programmes VHDL simple. Cette mthode consiste
crer un fichier graphique waveforme sur le quel nous pouvons varier les entres et observer
les rsultats des sorties aprs lopration de simulation. Pour cela, nous suivrons les tapes ci-aprs :
Slectionner le fichier TP01_A dans la fentre Sources ;
Crer un nouveau fichier source (test-bench) par la slection de Project New Source ;
Dans la fentre New Source Wizard slectionner Test Bench WaveForm dans
licne source type et taper le non de fichier test-bench (TP01_A_tbw). Tbw pour dire
que cest un test bench waveform ;
Appuyer sur Next deux fois ensuite sur Finish. Observer les fentres dinformation
chaque fois qui indiquent lassociation du test-bench avec le programme principal.
Dans la fentre qui suit, il faut indiquer les dlais comme montr sur la figure suivante :
Cliquer sur Finish pour complter linitialisation de la simulation. La figure suivante est
affiche :
4
K. Messaoudi 2013/2014
Informatique Industrielle 2
ME27
Enregistrer le waveform ;
Dans fentre (Sources), slectionner (Behavioral Simulation). Vrifier que le
TestBenchWaveform est automatiquement ajout votre projet ;
A cette tape, vous pouvez afficher le schma RTL (affichage graphique du programme
VHDL) avec double click sur view RTL schematic de licne Synthesize XST .
5
K. Messaoudi 2013/2014
Informatique Industrielle 2
ME27
XC5VLX110T 3 FF G 1136
Type du circuit
Vitesse
(-1, -2, -3)
Type de package
Ce circuit a lavantage de supporter plusieurs modes de configuration : JTAG, Master Serial, Slave
Serial, Master SelectMAP, Slave SelectMAP, Byte-wide Peripheral Interface (BPI) Up, BPI Down,
6
K. Messaoudi 2013/2014
Informatique Industrielle 2
ME27
and SPI modes. Le tableau suivant montre les diffrentes caractristiques du circuit FPGA. Pour
plus dinformations sur cette carte, consulter le site officiel de Xilinx (www.xilinx.com).
TP02
I.
Objectif du TP :
1. Dfinition du couple Entit/Architecture.
2. Les notions de base dun programme VHDL.
3. Dclaration des bibliothques.
II. Partie pratique
A. Soit le code VHDL suivant :
Library ieee ;
Use ieee.std_logic_1164.all ;
Entity porteslogique is
Port (A, B : IN std_logic ;
Y1,Y2,Y3,Y4,Y5,Y6,Y7 : OUT std_logic) ;
End porteslogique ;
Archtecture arch_portes of porteslogique is
Begin
Y1<=A and B ;
Y2<=A or B ;
Y3<=A xor B ;
Y4<= not B ;
Y5<=A nor B ;
Y6<=not(A xor B) ;
Y7<=not A ;
End arch_portes ;
1. Donner les noms des bibliothques utilises, et les noms des paquets utiliss ?
2. Quels sont les noms de lentit et larchitecture utiliss ?
3. Reprsenter le schma fonctionnel de la fonction, on placera les entres gauches et les sorties
droite ?
4. Reprsenter le schma structurel du circuit ?
5. Saisissez ce code VHDL, sous ISE9.2 ? Corriger sil ya des erreurs ? lancer la simulation et la
synthse du circuit ?
6. Visualiser les signaux dentres /sorties sur un fichier waveform ?
7. Expliquer la notion des instructions concurrentes ?
Informatique Industrielle 2
ME27
);
architecture tp2a of fct is
begin
s1<=a-b;
S2<=a+b;
end ;
UNIVERSITE MENTOURI DE CONSTANTINE
FACULTE DES SCIENCES DE LINGENIEUR
DEPARTEMENT DELECTROTECHNIQUE
Master en lectrotechnique (M1) 2013-2014
TP03
I.
Objectif du TP :
1. Utilisation du process et if-then-else ;
2. Utilisation de la notion du signal ;
3. Utilisation du Component.
II. Partie pratique :
A. Soit le code VHDL suivant :
library ieee;
use ieee.std_logic_1164.all;
entity tp4c is
port ( hor,e : in bit;
s:out bit);
end tp4c;
architecture arch of tp4c is
signal qa,qb:bit;
begin
s<=qa or qb;
P1 : process (hor)
begin
if hor='1' and hor'event then -- le front montant de lhorloge
qa<=e;
qb<=qa;
end if ;
end process P1;
end arch;
1. Saisir et Compiler ce code?
2. Quelle est la liste de sensibilit du process p1 ?
3. Aprs avoir cr un fichier waveform, et choisi un temps de simulation, faite entrer les
valeurs suivantes pour lentre : e=0 , 1 after 4ns ; 0 after 6ns ; 1 after 11ns ; 0 after 13ns .
Compiler et Visualiser vos chronogrammes? (afficher aussi les signaux utiliss)
Expliquer le chronogramme trouv? Commenter lutilisation des signaux?
B. Soit le programme VHDL suivant :
library ieee;
use ieee.std_logic_1164.all;
entity inconnue is
port( E, clk:in std_logic;
x,y,z: out std_logic);
end inconnue;
architecture inconnue_fct of inconnue is
8
K. Messaoudi 2013/2014
Informatique Industrielle 2
ME27
B
Cin
Decodeur
0
1
2
3
4
5
6
7
M
U
X
Cou
t
9
K. Messaoudi 2013/2014
Informatique Industrielle 2
ME27
TP04
I. Objectif du TP :
Lobjectif de ce TP est de passer de la simulation la synthse et limplmentation physique des
programmes VHDL sur des cartes de prototypages FPGA, savoir la carte Virtex5 XUPV5
(LX110T) de la compagnie Xilinx.
II. Partie pratique 1 :
Lobjectif de cette premire partie est dnumrer et de dcrire les tapes simples pour :
Crer un projet dans ISE 9.2 ;
Dcrire un circuit numrique laide dune description VHDL et lintgrer au projet ;
Simuler le circuit numrique en lui appliquant des signaux dentre dsirs et en observant
les sorties ;
Synthtiser et implmenter le circuit pour un FPGA donns (Virtex5 LX110T).
Lancement de ISE9.2 et cration dun projet :
5. Lancer ISE 9.2 et crer un nouveau projet ;
6. Ajouter un nouveau fichier ;
7. Cliquer sur le nom de fichier pour ouvrir un diteur de texte et crire le code VHDL
suivant :
signalcount_int:std_logic_vector(3downto0):="0000";
begin
process(CLOCK)
begin
ifCLOCK='1'andCLOCK'eventthen
if(CLR='1')then
count_int<="0000";
else
ifDIRECTION='1'then
count_int<=count_int+1;
else
count_int<=count_int1;
endif;
endif;
endif;
endprocess;
COUNT_OUT<=count_int;
endBehavioral;
Vous pouvez rcuprer ce code VHDL partir de Language Templates de ISE. Cliquer
sur Edit Language Templates. Ensuite utiliser le symbole + pour ouvrir la fentre du
code exemple (VHDL Synthesis Constructs Coding Examples Counters
Binary Up/Down Counters Simple Counter).
10
K. Messaoudi 2013/2014
Informatique Industrielle 2
ME27
A cette tape, vous pouvez afficher le schma RTL (affichage graphique du programme
VHDL) avec double click sur view RTL schematic de licne Synthesize XST .
11
K. Messaoudi 2013/2014
Informatique Industrielle 2
ME27
Appuyer sur Next deux fois ensuite sur Finish. Observer les fentres dinformation
chaque fois qui indiquent lassociation du test-bench avec le programme principal.
Dans la fentre qui suit, il faut indiquer la frquence dhorloge, les dlais de sorties, et.
Comme montr sur la figure suivante :
Cliquer sur Finish pour complter linitialisation de la simulation. La figure suivante est
affiche :
Enregistrer le waveform ;
Dans fentre (Sources), slectionner (Behavioral Simulation). Vrifier que le
TestBenchWaveform est automatiquement ajout votre projet ;
12
K. Messaoudi 2013/2014
Informatique Industrielle 2
ME27
13
K. Messaoudi 2013/2014
Informatique Industrielle 2
ME27
Question 6 : Complter le programme VHDL et corriger la partie dj raliser en ajoutant aussi les
signaux ncessaires. Expliquer le fonctionnement de la nouvelle partie.
Question 7 : Donner la nouvelle frquence de fonctionnement.
Question 8 : Lancer lopration de synthse nouveau et expliquer les rsultats.
Attribution et emplacement des broches (pins)
Dans cette tape, nous allons spcifier les endroits des broches pour les ports dE/S de la conception
afin qu'ils soient correctement branchs sur le kit virtex5-XUPV5. Ceci ne se fait pas au hasard, il
faut consulter le fichier .pdf user guide UXPV5 Evaluation Platform (UG347) concernant la virtex5
(Annexe). Cependant nous pouvons simplement ici forcer le logiciel utiliser un fichier de
contraintes (User Constraints File .ucf) dans lequel seront forcs le placement des entres et des
sorties de notre design. Comme on peut le voir sur limage suivante.
Pour raliser cette affectation des pins sur l'ensemble des broches, on procde comme suit :
Double cliquer Assign Package Pins dans la fentre Processes ;
Slectionner Package View ;
Dans la fentre de conception qui saffiche, entrez un emplacement broches pour chaque
broche dans la ligne de la colonne en utilisant les informations suivantes :
1. clock input port de connexion FPGA pin AH15 ;
2. counter_out <0> output port de connexion FPGA pin H18 ;
3. counter_out <1> output port de connexion FPGA pin L18 ;
4. counter_out <2> output port de connexion FPGA pin G15 ;
5. counter_out <3> output port de connexion FPGA pin AD26 ;
6. enable input port de connexion FPGA pin V8 ;
7. reset input port de connexion FPGA pin U8.
Cliquer File Save. Ainsi le fichier de contrainte UCF a t modifi.
Chargement du Design dans notre FPGA
Cest la dernire phase de conception et de vrification concrte de notre design. Cette section
fournit toutes les informations et instructions conues au paravent notre FPGA.
Alimenter le FPGA la prise du secteur via son adaptateur 5V DC ;
Connecter le FPGA au PC via le cble JTAG (USB), puis le mettre en marche ;
Slectionner Synthesis/Implementation de la fentre Sources ;
Dans la fentre Processes, cliquer + Generate Programming File ;
Double cliquer Configure Device (iMPACT), puis cliquer Decline si une nouvelle boite de
dialogue apparat ;
Slectionner Disable the collection of device usage statistics for this project only et cliquer
OK. iMPACT souvre comme suit:
14
K. Messaoudi 2013/2014
Informatique Industrielle 2
ME27
Cliquer Finish ;
Une boite de dialogue du nom de Assign New Configuration File apparat ;
Dans cette dernire, slectionner Bypass jusqu lapparition du fichier counter.bit (fichier
en question charger dans notre FPGA). Slectionner le et appuyer sur OK ;
Clique droit sur la petite boite verte en image, et slectionner Programainsi une boite de
dialogue Programming Properties souvre ;
Cliquer OK ;
Quand la programmation est complte, le message Program succeeded saffiche.
Enfin nous verrons les LEDs 0, 1, 2, 3 de notre FPGA clignoter, cela signifie que notre
compteur est en train de tourner.
15
K. Messaoudi 2013/2014
Informatique Industrielle 2
ME27
Annexe
16
K. Messaoudi 2013/2014
Informatique Industrielle 2
ME27
17
K. Messaoudi 2013/2014