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