TP Système numérique Tutorial sur la suite logicielle Xilinx ISE ATLYS

Transcription

TP Système numérique Tutorial sur la suite logicielle Xilinx ISE ATLYS
TP SYSTEME NUMERIQUE EMBARQUE : TUTORIAL XILINX ISE ATLYS
PAGE 1
06/04/2013
PETITPA
TP SYSTEME NUMERIQUE EMBARQUE : TUTORIAL XILINX ISE ATLYS
!
"
!
06/04/2013
#$#
$
!
!"
&
*
)
!
+, )
#
$
)
%%
&
'
&.
&
)
%%
% &
&
&
&
PAGE 2
)
&*
/ 0 "
&
&
)
"
%%
#
'(
- ' , .)
*
(
#
*
% #
& (
%%
$
"
"
%1
1
)
"
"
PETITPA
TP SYSTEME NUMERIQUE EMBARQUE : TUTORIAL XILINX ISE ATLYS
%
%$
&&
' !
*
&
.
.
&
!"
&
&
()
+
*
% &
!
*
06/04/2013
#
2
(3
4
Dans le menu sélectionne file New project
PAGE 3
PETITPA
TP SYSTEME NUMERIQUE EMBARQUE : TUTORIAL XILINX ISE ATLYS
06/04/2013
Cliquez sur next
Attention à bien cocher VHDL
PAGE 4
PETITPA
TP SYSTEME NUMERIQUE EMBARQUE : TUTORIAL XILINX ISE ATLYS
06/04/2013
Un résumé de la configuration du projet est donné
2.2)
Ecriture du fichier VHDL,et des entrées sorties
Dans la barre de menu faire
Project new source
On peut remarquer qu’il est possible
D’implanter :
- Un fichier VHDL
- Un fichier vérilog
- Une schématique
- Un processeur embarqué si le
FPGA le permet
- Un IP core ( industrial property) qui
Correspond à une fonction numérique
complexe développé par l’industriel
(voir page suivante)
PAGE 5
PETITPA
TP SYSTEME NUMERIQUE EMBARQUE : TUTORIAL XILINX ISE ATLYS
06/04/2013
Faire Next et définir les entrées sorties :
On peut remarquer que contrairement au CPLD il n’existe pas le type buffer
Cliquez sur next
Un résumé apparait alors :
PAGE 6
PETITPA
TP SYSTEME NUMERIQUE EMBARQUE : TUTORIAL XILINX ISE ATLYS
06/04/2013
Cliquez sur finish
PAGE 7
PETITPA
TP SYSTEME NUMERIQUE EMBARQUE : TUTORIAL XILINX ISE ATLYS
2.3)
06/04/2013
Simulation d’un bloc VHDL
2.3.1) Ecriture du fichier Testbench
Un fichier testbench est un fichier stimulis qui va nous permettre d’élaborer les signaux d’entrées afin de pouvoir simuler le
fonctionnement de notre fonction numérique dans le module lsim.
Depuis la version 10 de ISE les stimulis ne sont plus générés en utilisant des chronogrammes mais par les lignes de code. On donne
dans le dossier annexe la syntaxe usuelle pour élaborer un fichier testbench.
L’extension d’un fichier testbench est aussi un fichier .vhd.
Sélectionnez le module VHDL
Allez dans le menu project new source
Cliquez sur next :
PAGE 8
PETITPA
TP SYSTEME NUMERIQUE EMBARQUE : TUTORIAL XILINX ISE ATLYS
06/04/2013
Cliquez sur next :
Encore un résumé faire next
Pour voir apparaitre notre fichier testbench
PAGE 9
PETITPA
TP SYSTEME NUMERIQUE EMBARQUE : TUTORIAL XILINX ISE ATLYS
06/04/2013
2.3.2) Compile simule et debug
Pour passer en mode simulation cliquez sur simulate
Clique droit sur simulate behavorial Model
et process properties
PAGE 10
PETITPA
TP SYSTEME NUMERIQUE EMBARQUE : TUTORIAL XILINX ISE ATLYS
06/04/2013
Faire ok, pour lancer la simulation double
cliquez sur simulate behavorial Model
Le logiciel lsim se lance et nous donne le résultat de notre simulation
Faire file
PAGE 11
exit pour quitter le logiciel lsim
PETITPA
TP SYSTEME NUMERIQUE EMBARQUE : TUTORIAL XILINX ISE ATLYS
06/04/2013
2.4) Approche de conception par symbole et IP Core
Cette partie du didacticiel permettra de fusionner plusieurs fichiers VHDL avec l'intégration d'un IP CORE. On associera à
chaque fichier VHDL un symbole schematic. Un schéma dit de TOP LEVEL nous permettra d'intégrer tous les symboles
schematic afin de réaliser notre fonction numérique globale.
Dans la fenêtre design on voit apparaitre nos différentes fonctions codées avec un bloc vhdl. Le bonton implementation doit être
coché les fichiers Testbench de simulation ne sont alors plus visibles. Il ne reste plus que les fichiers VHDL.
2.4.1) Intégration d'un IPCORE
Afin de disposer d'une Horloge interne nous allons mettre en place l'IP CORE. Un symbole sera créé automatiquement pour cet
IPCORE.
Faire projet -->new source
Choisir l'outil IPCORE et nommez le GEN_CLK
Choisir un IPCORE du type Clocking wizard
PAGE 12
PETITPA
TP SYSTEME NUMERIQUE EMBARQUE : TUTORIAL XILINX ISE ATLYS
Dans la fenêtre suivante choisir l'IPCORE
06/04/2013
. En cochant la case on fera apparaître les IpCORE compatible avec notre FPGA
Le menu de configuration de l'IPCORE clocking Wizard apparaît ci-dessous. La fréquence en entrée sera de 100MHz et aucun
traitement ne sera effectué sur cette Horloge.
PAGE 13
PETITPA
TP SYSTEME NUMERIQUE EMBARQUE : TUTORIAL XILINX ISE ATLYS
06/04/2013
cliquez sur Next pour chaque fenêtre jusqu'à l'écran suivant :
On peut décocher dans les menus la broche
RESET et locked non utile bien souvent
Cliquez sur generate pour intégrer l'IPcore dans notre projet
2.4.2) Création des schematic symbol pour chaque bloc VHDL
On doit créer un schematic symbol pour chaque bloc VHDL
Implantez votre code VHDL dans l'environnement d'ISE. Puis dans le menu Design utilies double cliquez sur le sous menu
Create schematic symbol. Le symbole correspondant à la fonction numérique écrit-e en code VHDL est alors crée.
Double cliquez sur create Schematic symbol . Répetéz la même opération pour les autres blocs VHDL sauf l’IPCORE
PAGE 14
PETITPA
TP SYSTEME NUMERIQUE EMBARQUE : TUTORIAL XILINX ISE ATLYS
06/04/2013
2.4.3) Création du schéma de TOP LEVEL
Sélectionne le FPGA cible :
Puis Allez dans le menu projet
new source et choisir schematic. Nommez ce schéma didact_top
Le schéma vierge avec ses outils apparaissent ci-dessous
PAGE 15
PETITPA
TP SYSTEME NUMERIQUE EMBARQUE : TUTORIAL XILINX ISE ATLYS
06/04/2013
La première chose est de placer sur la feuille les différentes schematic symbol grâce à l'outil add symbol :
Les symboles dans ce cas particulier sont :
- L'IP CORE CLK_GEN
− Le symbole schematic DIV
− Le symbole schematic COMPTEUR
PAGE 16
PETITPA
TP SYSTEME NUMERIQUE EMBARQUE : TUTORIAL XILINX ISE ATLYS
06/04/2013
Puis de relier chaque module par l'outil fil add wire
De nommer les broches d'entrées grâce à l'outil Net Name
De nommer le bus de sorties par un bus flottant nommée OUT compteur
PAGE 17
PETITPA
TP SYSTEME NUMERIQUE EMBARQUE : TUTORIAL XILINX ISE ATLYS
06/04/2013
de relier ce bus flottant aux modules compteur
D'identifier les signaux externes qui seront associés aux pattes du FPGA grâce à l'outil add I/O marker.
Pour un bus le nom du noeud doit se faire de la façon suivante :
Nom du bus (N :0)
PAGE 18
bus de N+1 fils
PETITPA