Home
Didacticiel d`initiation à l`environnement de conception FPGA
Contents
1. Nom Taille Description clk_ demi 1 Signal d horloge 16 MHz Sortie du module de gestion d horloge dem_inst Son rapport cyclique est de 50 clk2hz 1 Signal carr d une fr quence de 2 Hz d riv de clk_dcm1 fak demi 886 Son rapport cyclique est de 50 clk16hz 1 Signal d horloge d une fr quence de 16 Hz d riv de clk_dcm1 fox dem1 1e6 Son rapport cyclique est de 50 clk2khz 1 Signal d horloge d une fr quence de 2 kHz d riv de clk_dem1 fax demi 8e3 Son rapport cyclique est de 50 deb_out1 1 Sortie du module d anti rebond pour BTNR actif haut deb_out2 1 Sortie du module d anti rebond pour BTNS actif haut deb_out3 1 Sortie du module d anti rebond pour BTNL actif haut bO 1 Bit de sortie de l encodeur entr e de la MSA Ce signal encode les trois entr es command es par les boutons b1 1 Bit de sortie de l encodeur entr e de la MSA Ce signal encode les trois entr es command es par les boutons gs 1 Ce signal est activ quand l usager appuie sur un des trois boutons actif haut enable_del 1 Ce signal est activ quand l usager appui sur les boutons dans la bonne s quence actif haut etatpres 3 Ce bus donne la sortie du registre d tat de la MSA Il repr sente l tat pr sent de la MSA et peut tre utilis des fins de test lors d une simulation etatsuiv 3 Ce bus donne la sortie de l IFL de la MSA Il repr sente l tat suivant de l
2. inst diviseur clik diviseur clk port map clkin gt clk demi clk2hz gt clk2hz cik16hz gt cik16hz clk2khz gt clk2khz Inst msa hdl msa hdl port map clkin gt clik demi rst gt rst b0 gt b0 b1 gt b1 cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 133 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 gs gt gs nable del gt enable del Description de l encodeur b0 lt 1 when debout3 0 and debout2 1 and deboutl 0 or debout3 1 and debout2 1 and deboutl 0 els ATs b1 lt 1 when debout3 1 and debout2 0 and deboutl 0 els jiy Description du Get something gs lt 1 when debout3 1 or debout2 1 or deboutl 1 els tg Description du registre d calag xshifreg process rst clki6hz begin if rst 1 then shreg lt others gt 0 elsif clkl16hz event and clk16hz 1 then if enable del 1 then shreg 0 lt clk2hz shreg 7 downto 1 lt shreg 6 downto 0 end if end if end process Q del lt shreg end Behavioral cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 134 Didacticiel d initiation l environnement de conception FPGA Version 2
3. 4 4 D clarez et instanciez le module d anti rebond Vous allez d clarer le composant debounce_hdi dans le fichier top_level et instancier trois de ces sous modules Chacun de ces sous modules sera charg de traiter un des signaux bouton1 3 a 1 E ctiv s par les boutons poussoirs Suivez les tapes suivantes Dans l espace Hierarchy du Navigateur de projet double cliquez sur l item didact_top Le fichier du sch ma top level s ouvre dans l espace de travail Ouvrez maintenant le fichier debounce hdi en d roulant Design Utilities de la fen tre Proccesses vous allez cr er une instantiation du composant automatiquement debounce_hdi vhi II suffit de cliquer view HDL Instantiation Template Par un copier coller d clarez ensuite le composant debounce_hdi comme suit e Sous la ligne architecture Behavioral of didact top is en haut du begin ajoutez ces lignes de code component debounce hd1 port sig in in STD LOGIC clkin in STD LOGIC sig out out STD LOGIC cole Polytechnique de Montr al Universit de Lille1 LE3311 Syst mes logiques programmables Formation en Informatique de Lille 76 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 end compon ent 4 D clarez tous les signaux internes d interconnexions du module didact_top d s maintenant comme suit Sous les lignes de code que vous venez d aj
4. 3 14 outp Placez le symbole debounce_sc Vous pouvez maintenant placer le symbole du module anti rebond dans le sch ma top level Proc dez comme suit 1 Double cliquez sur l item didact_top dans l arborescence du projet Le sch ma top level s ouvre dans l espace de travail et onglet Symbols est du m me coup s lectionn montrant les librairies et composants disponibles 2 S lectionnez Add gt Symbol ou cliquez sur l ic ne Add symbol de la barre d outils ou l onglet Symbols 3 Dans la liste Categories s lectionnez la librairie de symboles locale work_space_path didact_sc 4 S lectionnez le symbole debounce_sc dans la liste Symbols et placez en trois instances dans la partie gauche de la page comme montr la Figure 7 pr sentant le sch ma top level compl t 5 Renommez les trois instances du module debounce_sc en tant que debouncel_inst debounce2_inst et debounce3_inst dans l ordre en partant du haut On peut rendre le nom visible en cochant la case Visible 6 Sauvegardez le sch ma top level en s lectionnant Save All Remarquez que les trois instances debounce_sc ajout es au sch ma top level apparaissent sous l item didact_top dans l arborescence du projet cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 37 Didacticiel d initiation l environnement de conception FPGA Version 2 1
5. entre les balises architecture Behavioral of didact top is et end Behavioral L entit contient une liste des ports d entr es sorties du module VHDL accessibles au niveau hi rarchique sup rieur alors que l architecture d crit le fonctionnement du module L entit du module top level est compl te alors que son architecture est encore vide Vous devrez la compl ter par la suite cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 69 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Define Module Specify ports for module Entity name didact_top Architecture name Behavioral Figure 33 La bo te de dialogue Define Module pour entrer les ports d entr es sorties du module didact_top Pour la suite de cette partie la d marche adopt e consiste cr er les sous modules VHDL et IP n cessaires au projet et les instancier et les interconnecter ensembles dans le fichier top level didact_top vhd R f rez vous au Tableau 3 pour en savoir plus sur chaque sous module cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Project
6. liminer les oscillations et le bruit m canique les rebonds li s l activation d un commutateur Le syst me utilise trois instances de ce module pour traiter les trois boutons de la s quence encodeur_sc encodeur_hdi encodeur_inst Ce module sert encoder les trois signaux entr individuellement activ s par les boutons Il est r alis avec deux LUT msa_sc msa_inst Ce module r alise la MSA qui sert reconna tre la s quence msa hdl entr e l aide des trois boutons Il est compos d une ROM E impl mentant l IFL et l OFL et d un registre de 3 bascules D r alisant le registre d tat La ROM est r alis e l aide de CORE Generator SR8CE shiftreg_inst Registre d calage comportant 8 bits d riv d une LUT du Utilis uniquement Spartan 6 Il sert activer les LED de fa on s quentielle cole Polytechnique ELE3311 Syst mes logiques programmables de Montr al Universit de Lille Formation en Informatique de Lille 22 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 pour l approche par sch ma Le suffixe sc est utilis pour d signer les fichiers utilis s avec l approche de conception par sch ma tandis que le suffixe hdl est utilis pour les fichiers de l approche de conception par langage HDL Tableau 4 Description des signaux internes
7. cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 et routage et configurer les composants de la carte avec le projet impl ment FPGA CPLD m moire ROM etc Description de la m thodologie de conception Ce didacticiel couvre deux approches de conception FGPA l approche de conception par sch ma et l approche de conception par langage HDL Bien qu assez diff rentes les deux approches m nent exactement au m me r sultat final Ainsi les circuits composant le d tecteur de s quence seront r alis s successivement avec les deux approches dans un but p dagogique Cela vous permettra de voir les similitudes entre les deux r alisations Vous constaterez que l approche par sch ma est plus pr s du sch ma bloc et de la r alisation du circuit alors que l approche par langage HDL est li e davantage aux processus algorithmiques et semble par cons quent plus abstraite Par ailleurs l approche par sch ma est sans doute plus instinctive que l approche HDL Elle est d ailleurs davantage pr conis e par les concepteurs d butants ou novices Les concepteurs aguerris pr f rent g n ralement l approche par langage HDL parce qu elle est plus flexible et plus efficace De plus cette derni re pr sente une meilleure compatibilit avec les outils
8. Compl tez le sch ma top level Compl tez le sch ma didact_top en r alisant toutes les connexions entre les symboles que vous avez plac s Effectuez les tapes suivantes pour fignoler le sch ma et r f rez vous au sch ma compl t Figure 7 pour vous aider dans cette t che Chaque item de la liste de t ches effectuer cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 63 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 a d j t couvert dans les sections pr c dentes de ce didacticiel R f rez vous ces sections pour de plus amples d tails sur les fa ons de les accomplir si n cessaire Effectuez les actions suivantes pour compl ter le sch ma top level Dessinez un fil entre la broche clk_ outi du module demi et la broche clkin du module diviseur_clk et nommez le clk_dcm1 Dessinez trois fils flottant partir des broches clk2hz clk16hz et clk2khz du module diviseur_clk et nommez les clk2hz clk16hz et clk2khz respectivement Dessinez des fils flottants partir des broches clkin des trois modules debounce sc et nommez les clk2khz Notez que l diteur de sch ma consid re que deux fils ayant le m me nom sont physiquement connect s 4 10 11 12 13 Tracez un fil entre la broche sig_out de debouncel_inst et la broche E1 de decodeur_sc un autre entre l
9. Syst mes logiques programmables Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 6 Sauvegardez le sch ma top level en s lectionnant Save All 7 Fermez le fichier debounce_hdl vhi Remarquez que les trois instances debounce_ hdi ajout es au fichier top level apparaissent maintenant sous l item didact_top dans l arborescence du projet 8 S lectionnez l item didact_top dans l onglet Design gauche du Navigateur de projet de l arborescence du projet dans l espace Hierarchy 9 Dans l espace Processes sous Hierarchy d ployez l item Synthesize XST 10 Double cliquez sur l item Check syntax de cette liste 11 Corriger les erreurs de syntaxe affich es dans la Console s il y a lieu et fermer le fichier didact_top vhd Cr ation d un module de gestion d horloge Le Architecture Wizard de ISE permet de cr er et de configurer graphiquement une panoplie de module IP tr s rapidement Vous allez cr er et configurer un module de gestion d horloge DCM qui d rivera une horloge d une fr quence de 16 MHz partir de l horloge de r f rence de 100 MHz disponible sur la carte Spartan 6 7 Cliquer sur Project gt New Source dans la barre de menu du Navigateur de Projet ISE 8 S lectionnez IP CORE Generator amp Architecture Wizard dans la fen tre Project Wizard Select Source Type 9 Tapez demi comme nom de fichier v rif
10. Eu L L E start g Design C Fies D thraries 2 en NIIE didact_top vhd E Design Summary outofdate C E debounce_hdl vhd x diviseur _dk vhd Console 08 JP INFO ProjectMgmt 656 Parsing design hierarchy completed successfully Started Launching ISE Text Editor to edit diviseur_clk vhd m El Console Wamings Erors i Fndnries Results 15722272 Ln1Coll VHO Figure 41 Fichier VHDL incomplet d crivant le module diviseur_clk Vous allez d clarer les composants dem1 et diviseur _clk dans le fichier top_level et instancier chacun de ces sous modules D clarez et instanciez le module dcm1 D clarez et instanciez le module demi comme suit Dans l espace Hierarchy du Navigateur de projet s lectionnez l item dem1 dcm1 xaw Dans l espace Processes sous Hierachy cliquez avec le bouton droit de la souris sur l item View HDL Instantiation Template et s lectionnez Process Properties 3 Assurez vous que VHDL est s lectionn pour le champ HDL Instantiation Template Target Language value et cliquez sur Ok Dans l espace Processes double cliquez sur View HDL Instantiation Template 5 Dans la fen tre de droite fichier demi vhi s lectionnez le premier bloc code component dcmi avec la souris comme illustr la Figure 42 cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille Didacticie
11. FDC FDC Figure 29 Sch ma compl t de la MSA Cr ez le symbole du sch ma de la MSA Cr ez un symbole pour la MSA et placez le dans le sch ma top level comme vous l avez fait pour les autres modules 4 Tout d abord s lectionnez l onglet Design gauche du Navigateur de projet et s lectionnez l item msa_sc de l arborescence du projet dans l espace Hierarchy cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 5 D ployer la liste d item Design Utilities en cliquant sur le symbole lui faisant face 6 Double cliquez sur l item Create Schematic Symbol Placez le symbole msa_sc Placer le symbole de la MSA dans le sch ma top level en proc dant comme suit 7 Double cliquez sur l item didact_top dans l arborescence du projet 8 S lectionnez Add gt Symbol ou cliquez sur l ic ne Add symbol de la barre d outils 9 Dans la liste Categories s lectionnez la librairie de symboles locale didact_sc 10 S lectionnez le symbole msa_sc dans la liste Symbols et placez le dans le sch ma top level droite du symbole de l encodeur comme montr sur le sch ma compl t reproduit la Figure 7 11 Renommez l instance de ce nouveau module en tant que msa_inst 12 Sauvegardez le sch ma top level Cr ati
12. Pour la carte Nexys 3 ISE 12 4 Jean luc Dekeyser Automne 2012 cole Polytechnique de Montr al ELE3311 Syst mes logiques programmables Universit de Lille Formation en Informatique de Lille 4 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 propos de ce didacticiel Ce didacticiel propose un survol de l outil int gr de conception ISE version 12 4 de Xilinx et de la carte de d veloppement Nexys3 de Digilent http www digilentinc com Les connaissances acquises l aide de ce mat riel p dagogique serviront effectuer les s ances de travaux pratiques pr vus dans le cadre du cours Documentions suppl mentaire recommand e e Manuel d utilisation de la carte Nexys3 http www digilentinc com Data Products NEXYS3 Nexys3_rm pdf e Fiche technique de la carte Nexys3 e http www digilentinc com Data Products NEXYS3 NEXYS3_sch pdf e Manuel d utilisation ISE version 12 4 http www xilinx com support documentation dt_ise12 4_userguides htm e Manuel d utilisation de Isim http www xilinx com support documentation sw_manuals xilinx11 plugin_ism pdf Didacticiels Xilinx recommand s e ISE In Depth Tutorial version 12 4 http www xilinx com support documentation sw_manuals xilinx12_4 ise_tutorial_ug695 p df e Isim In Depth Tutorial http www xilinx com support documentation sw_manuals xilinx11 ug682 pdf De plus le site web de la
13. Q_del 5 Output Nii lt Q_del 6 Output Rii 4 Q_del 7 Output Tii Scalar ports 5 W boutoni Input D9 Br bouton2 Input B8 bouton3 Input C4 D dkin Input v10 D rst Input c9 Consultez le fichier UCF cr Vous pouvez consultez le fichier UCF cr suite aux ajouts de contraintes de timings et d assignations de broches Pour ce faire 1 S lectionnez le fichier difact_top ucf didact_sc didact_top didact_top ucf dans l arborescence de projet de l espace Hierarchy 2 Double cliquez sur Edit Constraints Text dans la liste User Constraints Le fichier UCF s ouvre dans l espace de travail Vous retrouverez les contraintes sp cifi es sur les trois horloges et les assignations de broches annot es dans ce fichier Familiarisez vous avec la syntaxe de ce fichier V rifier que le contenu de votre fichier est conforme celui du fichier original plac l Annexe 8 On peut crire directement ce fichier sans passer par PlanAhead en particulier pour des projets utilisant les m mes types de connexion cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille i 1 i Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 Impl mentez le projet L impl mentation du projet s effectue en trois tapes soit l interpr tation translation le mapping et le placement amp routage ISE appel
14. 1 Automne 2012 Annexe 7 Fichier testbench didact_top_tb vhd LIBRARY ieee USE ieee std logic_1164 ALL USE ieee numeric_std ALL LIBRARY UNISIM USE UNISIM Vcomponents ALL ENTITY msa top tb IS END msa top tb ARCHITECTURE behavioral OF didact top tb IS COMPONENT didact top PORT clkin in STD LOGIC rst in STD LOGIC boutonl bouton2 bouton3 std logic Q del out std logic vector 7 downto 0 END COMPONENT SIGNAL rst STD LOGIC SIGNAL clkin STD LOGIC 0 signal boutonl bouton2 bouton3 std logic signal Q del std logic vector 7 downto 0 BEGIN UUT didact top PORT MAP rst gt rst clkin gt clkin bouton1 gt bouton1 bouton2 gt bouton2 bouton3 gt bouton3 Q del gt Q del process pour g n rer l horloge une p riode d horloge de 20 ns est utilis e clkin gen process clkin begin clkin lt not clkin after 10 ns end process clkin gen process de d assignation des signaux de test cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 135 tb PROCESS BEGIN rst bou bou bou wai rst bou bou bou wai bou bou bou wai bou bou bou wai bou bou bou wai bou bou bou wai bou bou bou wai bou bou bou WAIT will wait forever END PROCESS lt 1 tonl lt O ton2 lt O ton3 lt O t for 100 us lt
15. 1 Dans l espace Hierarchy du Navigateur de projet double cliquez sur l item didact_top Le fichier du sch ma top level s ouvre dans l espace de travail cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 43 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 2 S lectionnez Add gt Symbol ou cliquez sur l ic ne Add symbol de la barre d outils ou onglet Symbols amp wlat T Figure 21 Ic ne Add Symbol de la barre d outils L diteur de symbole s ouvre gauche de l espace de travail L diteur de symbole pr sente les librairies de symboles sous Categories et les composants qu elles contiennent sous Symbols 3 Rep rez les deux librairies correspondant au projet en cours dans l espace Categories et s lectionnez les une une 4 S lectionnez le symbole demi dans l espace Symbols sous Categories et placez le dans la partie sup rieure gauche de la page du sch ma didact_top ouvert dans l espace de travail 5 Faite de m me pour le symbole diviseur_clk dans la seconde librairie Laissez les modules tel quel sans les connecter pour le moment 6 Renommez l instance du module demi deml_inst et l instance du diviseur diviseur_inst en appliquant l approche d taill e pr c demment la section Renommez les instances 7 Sauvegardez le sch ma top level et fermez le
16. 2 D ployez l item User Constraints dans la liste de l espace Processes 3 Double cliquez sur l item 1 0 Pin Planning PlanAhead Post Synthesis Une bo te de dialogue s ouvre et vous offre de consulter la documentation appropri e pour en savoir plus sur PlanAhead Fermer cette bo te de dialogue pour l instant L outil PlanAhead s ouvre Sp cifiez les broches du FPGA comme suit 1 Cliquez d abord sur le contour noir de la fen tre package et cliquez ensuite deux fois sur l ic ne Zoom in de la barre d outils Dans la fen tre onglet 1 0 Ports d ployez la liste Scalar ports en cliquant sur le Dans cette liste cliquez sur clkin Dans la fen tre Package Pins d ployez la liste 1 0 Bank 2 8 0 D Cliquez sur Name dans le haut de la colonne pour classer les l ments de la liste I O Bank 2 en ordre croissant Vous allez assigner la broche V10 au port tiquette clkin Cela aura pour effet de connecter l oscillateur 100 MHz de la carte Nexys3 l entr e CLK_IN du module de gestion d horloge demi utilis dans ce projet 6 S lectionnez clkin dans le 1 0 port et par un drag and drop venez le placer sur la case V10 du package Vous devriez obtenir un r sultat conforme celui montr la Figure 56 7 Positionnez ensuite le curseur sur la fen tre Package et rep rez la broche B8 au centre de la partie sup rieure du package Notez que la broche B8 est mise en vidence pour vous aider la localiser 8
17. 30 ms cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 100 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Finalement v rifiez que vos r sultats de simulation sont conformes ceux montr s la Figure 52 V rifiez que la MSA passe par la bonne s quence d tats en regardant les signaux etatpres et etatsuiv Remarquez que le signal enable del est activ avant la fin de la simulation Pour observer la variation des signaux q_ del il faut laisser la simulation se d rouler plusieurs centaines de ms l rst cikin i bouton 000 100 000 100 i ji 0000p000 Figure 52 Les r sultats de simulation s affichent dans la fen tre Wave pour la totalit du temps de simulation Fermez le logiciel ISim Vous avez compl t l tape de simulation fonctionnelle du d tecteur de s quence Vous tes pr ts effectuer l impl mentation du projet e Allez au chapitre Impl mentation du projet pour effectuer le placement routage du d tecteur de s quence cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 101 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Impl mentation du projet Dans ce chapitre vous effectuerez la synth se et l impl mentat
18. Ajouter des tiquettes d entr es sorties l aide de la fonction Create 1 0 Markers Cr ez les tiquettes suivantes r f rez vous aux sections pr c dentes pour plus de d tails sur la fa on de proc der avec les tiquettes e Entr es bO b1 gs clkin rst e Sorties etatpres 2 0 etatsuiv 2 0 enable_del Apr s cette tape les tiquettes bO b1 gs clkin et rst se retrouve gauche du sch ma alors que etatpres 2 0 etatsuiv 2 0 et enable_del se retrouvent droite cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 50 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 Cr ation d une m moire ROM l aide de CORE Generator CORE Generator est un outil avec interface graphique permettant de cr er des modules de complexit sup rieure dont des m moires des fonctions math matiques des interfaces de communications etc CORE Generator permet d optimiser les modules cr s pour exploiter les caract ristiques particuli res chaque FPGA Xilinx Vous allez utiliser CORE Generator pour g n rer une ROM comportant 48 l ments d une taille de 4 bits Cette ROM r alisera le circuit IFL et le circuit OFL de la MSA Suivez les tapes suivantes pour cr er une ROM l aide de CORE Generator 1 Cliquer sur Project gt New Source dans la barre de menu du Navigateur de
19. Automne 2012 Cr ation d un module de gestion d horloge L Architecture Wizard de ISE permet de cr er et de configurer graphiquement une panoplie de module IP Intellectual Properties tr s rapidement Vous allez cr er et configurer un module de gestion d horloge DCM avec feedback et correction automatique de rapport cyclique gr ce cet outil Le DCM d rivera une horloge d une fr quence de 16 MHz partir de l horloge de r f rence de 100 MHz disponible sur la carte Spartan 6 Cliquer sur Project gt New Source dans la barre de menu du Navigateur de Projet ISE S lectionnez IP CORE Generator amp Architecture Wizard dans la fen tre Project Wizard Select Source Type 3 Tapez demi comme nom de fichier v rifiez que la case Add to project est coch e et cliquez sur Next 4 S lectionnez FPGA Features and Design gt Clocking gt Clocking Wizard dans l onglet View by fonction de la bo te de dialogue Select IP comme illustr la Figure 17 5 Cliquez sur Next et ensuite sur Finish cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 38 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 O New Source Wizard Select IP Create Coregen or Architecture Wizard IP Core View by Function View by Name Name A Version Status License E fF Automotive amp Industrial H Ba
20. Clock The phase is calculated relative to the active input clock Settings output coek Put Freq MHz Phase degrees Dutycyde piyes Le Requested Actual Requested Actual Requested Actual Ps CLK_OUT1 16 000 16 000 0 000 0 000 50 000 50 0 BUFG X CLK_ OUT2 100 000 oma 0 000 p wa E wa leurs CLK_OUT3 100 000 na 0 000 N A 50 000 NA Burc CLK_OUT4 100 000 N A 0 000 N A Sooo n a eurc 3S z CLK OUTS5 100 000 N A 0 000 n A 50 000 N A BUFG ooo n A 50 000 N A lBurc CLK_OUT6 100 000 N A LOCKED IP Symbol Ea perns Estimation Datasheet lt Back Page 20f6 Next gt Generate Cancel Help Figure 18 Le Clocking Wizard de ISE permet de g n rer et configurer des modules DCM sur mesure Le symbole repr sentant le module dcm1 est cr par ISE et plac dans la librairie locale de projet didact_sc ipcore_dir Cr ation d un module VHDL diviseur d horloge Il est facile de cr er des modules d cris en langage VHDL dans ISE Une fois cr s ces modules peuvent tre repr sent s par des symboles et interconnect s avec d autres instances dans un sch ma Vous allez cr er un diviseur d horloge d crit en langage VHDL Pour cr er le fichier source du diviseur 1 S lectionnez Project gt New Source 2 S lectionnez VHDL Module dans la bo te de dialogue Select Source Type 3 Entrez diviseur_clk comme nom de fichier et appuyer sur Next c
21. FPGA Version 2 1 Automne 2012 ce stade vous obtenez un nouveau projet ISE ne contenant encore aucun fichier HDL ou module IP Cr ation d un fichier VHDL top level Cr ez un nouveau fichier top level de la fa on suivante 1 Assurez vous que l onglet Design est s lectionn dans l espace Hierarchy situ dans la partie sup rieure gauche du Navigateur de Projet et cliquer sur Project gt New Source dans la barre de menu S lectionnez VHDL Module dans la fen tre New Source Wizard Select Source Type Tapez didact_top comme nom de fichier et v rifiez que la case Add to project est coch e Cliquez sur Next RARE Dans la bo te de dialogue Define Module entrez cinq ports d entr es et un port de sortie sous Port Name comme montr la Figure 33 a Entrez rst clkin bouton1 bouton2 et bouton3 dans les cinq premi re cases Entrez Q_del dans 6 case et changez le champ Direction out Toujours pour le port Q_ del cochez le champ Bus entrez 7 sous le MSB et 0 sous le champ LSB 6 Cliquez sur Next et enfin sur Finish Remarquez que l l ment didact_top est ajout au projet dans l espace Hierarchy de l onglet Design De plus le fichier vide didact_top vhd s ouvre dans l espace de travail comme montr la Figure 34 Ce fichier VHDL est divis en deux parties importantes l entit du module situ e entre les balises entity didact top isetend didact top et l architecture du module situ e
22. I EE STD LOGIC UNSIGNED ALL entity divise ur clk is Port clkin in STD LOGIC clk2hz out STD LOGIC clk16hz out STD LOGIC clk2khz out STD LOGIC end diviseur clk architecture Behavioral of diviseur clk is signal cnt2hz integer range 0 to 4e6 0 signal cnt1l6hz integer range 0 to 5e5 0 signal cnt2khz integer range 0 to 4e3 0 signal div2hz temp std_logic 0 signal divi6hz temp std logic 073 signal div2khz temp std logic oO begin process clkin begin if clkin event and clkin 1 then Diviseur par 4e6 if cnt2hz gt 4e6 then div2hz temp lt not div2hz temp cnt2hz lt 0 else div2hz temp lt div2hz temp cnt2hz lt cnt2hz 1 end if cole Polytechnique de Montr al ELE3311 Syst mes logiques programmables Universit de Lille Formation en Informatique de Lille 123 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 clk2hz lt div2hz_temp horloge 2 Hz Diviseur par 5e5 if cnti6hz gt 5e5 then divi6hz temp lt not divi6hz temp cnt1l6hz lt 0 else divi hz temp lt divi hz temp cnt1l6hz lt cnt16hz 1 end if clki6hz lt divi6hz temp horloge 16 Hz Diviseur par 4e3 if cnt2khz gt 4e3 then div2khz temp lt not div2khz temp cnt2khz lt 0 else div2khz temp lt div2khz temp cnt2khz lt cnt2khz 1 end if clk2kh
23. Launching ISE Text Editor to edit didact_top vhd Launching Design Summary Report Viewer Cnil i i El Console Wwamings Errors lig Findin Fies Results Figure 34 Le fichier VHDL top level didact_top vhd doit tre compl t Cr ation d un module VHDL anti rebond 15777777 In Colt VHOF Les boutons poussoirs et les commutateurs disponibles sur la carte Nexys2 ne disposent pas de circuits d anti rebond Par cons quent les rebonds doivent tre trait s l aide du FPGA Pour cette partie du didacticiel vous allez cr er un module VHDL d anti rebond pour traiter les trois boutons utilis s pour entrer la s quence Les tapes suivantes montrent comment cr er un module VHDL d anti rebond l aide du New Source Wizard du Navigateur de projet ISE Comme pour le module top level le module d anti rebond sera d crit dans un fichier VHDL compos d une entit d crivant ses ports d entr es sorties et d une architecture d crivant son fonctionnement Vous cr erez d abord un fichier VHDL vide et vous utiliserez les gabarits VHDL disponibles dans le Navigateur ISE pour compl ter la description de ce module Pour cr er le module VHDL d anti rebond 1 S lectionnez Project gt New Source cole Polytechnique de Montr al ELE3311 Syst mes logiques programmables Universit de Lille Formation en Informatique de Lille 71 Didacticiel initiation l environnement
24. Le Clocking Wizard de ISE permet de g n rer et configurer des modules DCM sur mesure Le symbole repr sentant le module dcm1 est cr par ISE et plac dans la librairie locale de projet didact_sc ipcore_dir Cr ation d un module VHDL diviseur d horloge Le module d anti rebond et certains modules associ s la MSA du projet n cessitent des horloges moins rapides sous les 10 kHz Vous allez cr er un diviseur d horloge d crit en langage VHDL Pour cr er le fichier source du diviseur 1 S lectionnez Project gt New Source 2 S lectionnez VHDL Module dans la bo te de dialogue Select Source Type 3 Entrez diviseur_clk comme nom de fichier et appuyer sur Next cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 4 Cr ez un port d entr clkin et trois ports de sortie clk2hz clk16hz et clk2khz comme illustr la Figure 40 e Entrez clkin clk2hz clk16hz et clk2khz dans les 4 premiers champs Port Name e Dans le champ Direction choisissez in pour clkin et out pour clk2hz clk16hz et clk2khz e Ne cochez pas les champs Bus 2s New Source Wizard Define Module Specify ports for module Entity name diviseur_dk Architecture name Behavioral Port Name Direc
25. Notez que didact_hdi est ajout au chemin initial contenu dans le champ Location cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 S lectionnez HDL pour le champ Top Level Source Type et cliquez sur Next 5 Entrez les valeurs suivantes dans la fen tre New Project Wizard Device properties e Product Category All e Family Spartan6 e Device XC6SLX16 e Package CSG324 e Speed 3 e Synthesis Tool XST VHDL Verilog e Simulator ISim VHDL e Preferred Language VHDL La Figure 32 montre la bonne configuration avoir pour cette bo te de dialogue cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 67 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 Figure 32 Fen tre New Projet Wizard Device properties param tres entrer pour la configuration du FPGA Spartan 6 utilis pour ce didacticiel 6 Cliquez successivement sur Next et Finish dans les fen tres Project Summary du New Project Wizard se succ dant cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille Didacticiel d initiation l environnement de conception
26. Positionnez le curseur sur la broche C9 Le curseur affiche ce texte Place clkin at B8 La Figure 57 illustre cette tape 9 Cliquez sur la broche B8 pour l assigner au signal clkin cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 107 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 108 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Netlist Design didact_top ucf target x 4 a zsa d Name Dir Neg Diff Pair Site Ba t S Al ports 13 M H A Q del 8 Output B B Scalar ports 5 G D bouton1 Input d D bouton2 i gt bouton3 TE EN D rst 4 ali BU Netist Physical Timing Co MDMO PONS ua lock Reg lt E I O Port Properties 008x E FIn G D dkin 5 L Name dkin Direction Input j Site v10 V Fixed Package Pin Pv ls General Configure i Package x 1re Package Pins A Name Prohibit Port I OStd Dir Vcco Bank BUFIO2Region Type Diff Pair Clock Voltage Config System Monitor Gigabit 1 0 uii A 2BR User 10 L23P A vu m 2BR User 10 L23N D R10 m 2BR multi function L29P GCLK3 8 T10 A mul
27. Projet ISE 2 S lectionnez IP Coregen amp Architecture Wizard dans la fen tre Project Wizard Select Source Type 3 Tapez rom_msa comme nom de fichier v rifiez que la case Add to project est coch e et cliquez sur Next 4 Dans l onglet View by fonction de la bo te de dialogue Select IP s lectionnez Memories amp Storage Elements gt RAMs amp ROMs gt Distributed Memory Generator 5 Cliquez sur Next et ensuite sur Finish ISE lance l interface de g n ration et configuration de m moire ROM Distributed memory generator illustr la Figure 24 6 Remplissez les champs du Distributed memory generator de la fa on suivante voir le r sultat la Figure 24 e Depth 48 e Data Width 4 e Memory Type ROM e Cliquez sur Next e Assurez vous que les Input Options et les Output Options sont Non Registered et cliquez sur Next Note Cliquez sur le bouton Data sheet pour acc der au manuel du Distributed Memory Generator et pour en savoir plus sur ses fonctions ainsi que sur les caract ristiques des m moires disponibles et sur les fa ons de les initialiser cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille E 1 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 X Distributed Memory Generator Less LoiC RE Distributed Memory g N Generator sa Component Name
28. S Counters Q2 lt Q1 E Decoders Q3 lt Q2 amp fi Encoders end if Flip Flops end if Laa RP amp Logical Shifters lena process PY Processes debounce_hdl Behavioral es as i i l Segment Display Hex Conversion Q_OUT lt Q1 and Q2 and not Q3 EJK fd ere R Asynchronous Input Synchronization Reduces Issues w Metastability Bg F Barrel Shifter m A Open Drain Output bused reg H Open Drain Output single signal Ci Output Clock Forwarding Using DDR amp Multiplexers E e RAM amp ROM E Shift Registers amp State Machines amp G Tristate Buffers amp Conditional s A Esna Fer t B set ag veson C Fies U rares Smc lt gt E didact _top vhd E Design Summary OVE debounce_hd vhd EN 9 Language Templates Bj Console 08 gt J INFO HDLCompiler 1061 Parsing VHDL file C Users jean luc Dekeyser Documents xilinx project 12 4 didact_hdl debounce_hdl vhd into library work I INFO ProjectMgmt 656 Parsing design hierarchy completed successfully m J r E console Wamings Errors I Findin Fies Results 572E Figure 37 Le gabarit VHDL Debounce circuit s affiche dans l espace de travail droite Utilisez ce gabarit pour compl ter le fichier VHDL debounce_hdl vhd Ajoutez le gabarit VHDL votre fichier Ajoutez le gabarit votre fichier l aide de la m thode Use in file de la fa on suivante Ouvrer ou afficher le fichier d
29. Version 2 1 Automne 2012 Objects 08 x Simulation Objects for UUT D O EE i rst Object Name Value P amp cikin lH boutont o lH bouton2 o lH boutons o l cikin 0 16 rst 0 7 q_del 7 0 00000000 2r l bo o n i W b1 o lo dk_demi 1 j 15 dk2nz o i dk2khz 1 l dki6hz o U deboutt o A 14 debout2 o E l debout3 o De enable_del 1 MS etatpres1 2 0 101 etatsuiv2 2 0 101 lU ss o Figure 49 Ajoutez les signaux d entr es sorties du module UUT la Fen tre Wave pour visualiser leur comportement apr s la simulation Simulation des signaux de la MSA avec ISim Configurez ensuite le temps de simulation e Entrez 30 ms dans le Run Length dans la barre d outils comme montr la Figure 50 b Z 30 00m Figure 50 Ajustez le temps de simulation et lancer la simulation en cliquant sur la fl che droite Lancez la simulation Enfin lancer la simulation en cliquant sur l ic ne Run for the time specified dans la barre d outils Figure 50 La simulation s ex cute en quelques secondes et les r sultats s affichent dans la fen tre Wave Visualisez les r sultats Pour v rifier les r sultats de simulation cliquez d abord sur l ic ne Zoom to Full View de la barre d outils La valeur des signaux s affiche dans la fen tre Wave pour la totalit du temps de simulation gt En a 7 f B f Figure 51 Cliquez sur l ic ne Zoom to Full View pour visualiser la simulation compl te sur
30. arborescence de projet 4 Dans l espace Processes sous l espace Hierarchy cliquez avec le bouton de droite de la souris sur l item Implement Design Selectionnez Process Properties 5 La bo te de dialogue Process Properties appara t S lectionnez l item Place amp Route Properties de la liste Category de Gauche 6 Assurez vous que l item Advanced est s lectionn dans la liste Property display level dans le bas de la bo te de dialogue 7 Changez le Place amp Route Effort Level Overall pour High dans la colonne Value juste c t Vous devriez avoir un r sultat conforme la Figure 53 8 Cliquez sur Ok pour fermer la bo te de dialogue cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 102 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 amp Process Properties Place amp Route Properties L_ amp Switch Name Property Name bus Papas LA Place And Route Mode Normal Place and Route Map Properties a Place amp Route Properties Place amp Route Effort Level el Overal Post Map Static Timing Report P Post Place amp Route Static Timi Simulation Model Properties 7 Router Effort Level Overrides Overall Leve Extra Effort Highest PAR level only Starting Placer Cost Table 1 100 Ignore User Timing Constraints Timing Mode Tea Generate
31. composant appartenant une librairie Xilinx cliquez sur le symbole avec le bouton droit de la souris et s lectionnez Object Properties La bo te de dialogue Instance Attributes s ouvre Cliquez sur le bouton Symbol Info droite pour acc der la description d taill e du composant JISE Project Navigator ME File Edit View Project Source Process Add Tools Window Layout Help a x Dag l2lx xv a 2288260 ananalar Symbols 08 x K Categories lt All Symbols gt rii ED Arithmetic La Buffer r i Carry_Logic E ETAT so abs ET sig out Comparator Counter c3 DDR Flip_Flop Decoder 2 Les FlipFlop si General 10 HIES oO Symbols 2 fa fdl6ce A fdl re J ED fd4ce Pl fd4re D fr fdBce fdBre A fd1 fdc sl fdc1 a LES SE Symbol Name Fiter a a j Orientation Rotate 0 bd Symbol Info i i pT peson US Fies ubreres symbos 7 options a TE ddact_top sch OTE Design Summary i E deboune_sc sch a Console OSx Started Launching Schematic Editor to edit deboune sc sch Started Launching Schematic Editor to edit deboune_sc sch nl El Consoe Errors I Wamngs 14 Fn nriesreuts 11588 1332 Figure 13 Le Symbol Browser permet de choisir les symboles placer dans le sch ma parmi plusieurs librairies cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques progr
32. de d veloppement FPGA compl te avec c ble de programmation USB livr Equip d un FPGA Spartan 6 XC6LX16 CS324 48 MB r partis en 16 MB RAM 16 MB PCM 16 MB SPI PCM Ethernet 10 100 SMSC LAN8710 PHY via RJ45 R gulateur d coupage int gr e Oscillateur 100 MHz 4 connecteurs d extensions pour utilisation de modules optionnels PMOD voir au bas de la page Sortie port VGA 8 bit Sortie port USB par exemple pour clavier souris ou clef USB non livr s Mise disposition d un connecteur VHDC __ 4 afficheurs 7 segments Leds _8Leds 8 interrupteurs et 5 boutons poussoir Les ports d E S du FPGA sont repris sur 4 connecteurs femelles sp cifiques Ces connecteurs permettent l utilisation de petits modules d extensions optionnels appel s Pmod Une fois enfich es sur les connecteurs femelles de la platine NEXYS3 ces modules vous permettrons cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 13 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 d adjoindre de multiples possibilit s et interfaces suppl mentaires La platine NEXYS3 dispose galement d un connecteur d extension sp cial d di aux signaux haute vitesse Ce connecteur est destin recevoir diverses platines d extension Vmod Le FPGA peut tre programm de deux fa ons directemen
33. de dialogue demandant si vous voulez cr er un fichier UCF Remarquez que l tape de synth se du projet s effectue automatiquement dans l espace Processes ISE ouvre ensuite le Constraints Editor comme montr la Figure 54 Les trois horloges utilis es dans le d tecteur sont r pertori es dans la liste Unconstrained Clocks cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 E ISE Project Navigator M 81d CAUrerjean te DEKADE P esise iming Constraints E 2 SLA 2 3 BOE Dan x xlool 8R 80 esnclenlpcr Timing Constraints 08x Source Constraint Fie Create Timing Constraints for Clock Domains PERIOD by direct entry or right dick to open context menu Si maart EI TIMESPEC Name ClockTimeName ClockNet Period DutyCycle Edge Reference TIMESPEC Factor PhaseShift Input Jitter Source Show constraints from specified file only r Show constraints from al fles Save New Constraints To Fie didact_topucf El Constraint Type UCF Constraints Timing Constraints Clock Domains Inputs aidate Constraints Click Vaidate Constraints button after direct entry of any change Outputs Exceptions Operating Conditions Group Constraints Unconstrained Clocks Miscellaneous 1 ckin 2 diviseur_inst clk2khz 3 diviseurinst c
34. de l espace Hierarchy est s lectionn et que le champ View pointe vers Implementation Remarquez que l item debounce hdi est ajout au projet dans l espace Hierarchy Il n est pas encore un sous module de didact_top Vous allez compl ter le fichier debounce_hdi vhd gr ce aux tapes suivantes JISE Project Navigator V E18 E J L A File Edit View Project Source Process Tools Window Layout Help A d DAHAS xDBxlo a PP 88A aA ananin erla Design 08x 10 Tool versions m View 1 implementation FA Simulation 11 Description sae dl Hiererchy 13 Dependencies didect_hdl te Cr Z o E xc351200e 4f9320 D revision F debounce_hdi Behavioral debounce_hdl vhd 16 Revision 0 01 File Created Bi didact_top Behavioral didact_top vhd SRR Additional Comments C a 18 A 19 D Li a E 21 use IEEE STD_LOGIC_1164 ALL 22 A 3 23 Uncomment the following library declaration if using 24 arithmetic functions with Signed or Unsigned values 25 use IEEE NUMERIC_STD ALL 26 27 Uncomment the following library declaration if instantiating 28 any Xilinx primitives in this code 29 library UNISIM D gt C No Processes Running 30 use UNISIM VComponents all PY Processes didact top Behavioral city debounce hdi 48 1 et Design Summary Reports 33 Port sig in in STD LOGIC E Design Utilities 34 clkin in STD _LOGI E User Constraint
35. etatsuiv 1 sur celle du 2 buffer et etatsuiv 0 sur celle du 3 buffer 12 Ensuite d placez l tiquette enable del vis vis le dernier buffer sous l tiquette etatsuiv 2 0 13 Connectez l entr e de ce buffer au bus romout 3 0 gr ce la fonction Add Bus Tap avec le tap positionn vers la gauche Apr s avoir cliqu sur le bus avec le tap du curseur changez le Net Name pour romout 0 dans l espace Options Cliquez sur l entr e du buffer avec le curseur pour cr er le tap Le bit cr doit prendre le nom romout 0 14 l aide de la fonction Add Wire compl tez ce chemin en tra ant un fil entre la sortie du dernier buffer et l tiquette enable del cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Connectez les entr es de la MSA aux tiquettes d entr es Maintenant que toutes les sorties de la MSA sont connect es aux tiquettes du sch ma vous allez connecter les tiquettes d entr es au entr es de la MSA Proc dez comme suit 1 Tout d abord ajoutez trois buffers vis vis la partie inf rieure du bus romin 5 0 comme illustr sur la Figure 29 l aide de la fonction Add Wire rapportez les bits d tats pr sents les sorties des bascules D vers l entr e de la ROM dans le but de les connecter en
36. la case Add to project est coch e cliquez sur Next et enfin sur Finish La page vide du sch ma du module debounce_sc s ouvre dans l espace de travail Assurez vous que l onglet Design est s lectionn Remarquez que l item debounce_sc est ajout au projet dans l espace Hierarchy Impl mentation du sch ma de l anti rebond Vous avez cr une page de sch ma vide pour debounce_sc L tape suivante consiste ajouter les composants constituant le module d anti rebond et construire le module sch matique Ce module pourra ensuite tre instanci en tant que symbole dans le sch ma top level et utilis comme une macro Ajoutez les tiquettes d entr es sorties Les tiquettes d entr es sorties d finissent les ports de la macro qui seront accessibles dans le sch ma top level Ces ports correspondront aux broches du symbole repr sentant le module Pour ajouter des tiquettes d entr es sorties 1 S lectionnez Tools gt Create 1 0 Markers La bo te de dialogue Create 1 0 Markers s ouvre 2 Tapez sig_in clkin dans le champ Inputs et tapez sig_out dans le champ Outputs 3 Cliquez sur Ok Les trois tiquettes sont ajout es au sch ma cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 S Create 1 0 Markers Es Inpu
37. les erreurs de syntaxe affich es dans la Console s il y a lieu et fermer le fichier didact_top vhd ainsi que le fichier demi vhi D clarez et instanciez le module diviseur_clk 1 Dans l espace Hierarchy du Navigateur de projet double cliquez sur l item didact_top Le fichier du sch ma top level s ouvre dans l espace de travail 2 D clarez ensuite le composant diviseur_clk la m thode pr c dente fonctionne aussi e Juste sous le bloc de d claration component dcml1 ajoutez ces lignes de code component diviseur clk port clkin in STD LOGIC clk2hz buffer STD LOGIC Clk16hz buffer STD LOGIC clk2khz buffer STD LOGIC cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 85 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 end component Note Vous n avez pas de signaux internes d clarer pour interconnecter ce bloc car ils ont d j t tous d clar s la section pr c dente D clarez et instanciez le module d anti rebond 3 Instanciez et interconnectez le module diviseur_clk avec les signaux internes et les ports d entr es sorties du module top level comme suit e Sous le bloc d instanciation du module demi Inst dcml dcmi PORT MAP copiez et ajoutez ce bloc port map pour le module dem1 inst diviseur clk diviseur clk port map cl
38. mes logiques programmables Formation en Informatique de Lille 92 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 Simulation fonctionnelle avec Isim Une fois l tape de conception termin e vous allez effectuer une simulation fonctionnelle du projet l aide d un testbench et du simulateur Isim Pour ce faire vous allez d abord g n rer un fichier testbench VHDL l aide du Navigateur de projet ISE Ensuite vous configurerez et lancerez votre simulation Isim partir du Navigateur ISE Une fois appel par ISE Isim prendra en charge la simulation et la pr sentation des r sultats Note Nous assumons cette tape que vous avez compl t e l tape pr alable de conception du d tecteur de s quence synchrone l aide d une des deux approches de conception d taill es pr c demment soit l approche de conception par sch ma ou l approche de conception par langage HDL tapes de configurations pr alables Ouvrez tout d abord le projet du d tecteur de s quence dans le Navigateur ISE si ce n est pas d j fait V rifiez ensuite que ISE pointe correctement sur l outil de simulation Isim Suivez ces tapes 1 S lectionnez Project gt Design Properties V rifiez que Isim VHDL Verilog est bien le Simulator Cliquez sur Ok pour fermer la bo te de dialogue Cr ation d un Testbench Un testbench est un fichier VHDL non synth tisable utilis comme
39. montr la Figure 20 Ce fichier contient l entit du module mais pr sente une architecture vide compl ter Compl tez la description VHDL de diviseur_clk Pour compl ter la description VHDL du module diviseur_clk effectuer les tapes suivantes 1 Dans le fichier diviseur_clk ouvert dans l espace de travail du Navigateur de Projet ISE effacez toutes les lignes de code situ es sous la ligne architecture Behavioral of diviseur clik is 2 Aller l Annexe 1 de ce document et visualisez la description VHDL originale du module HDL diviseur_clk l aide de la souris s lectionnez toutes les lignes de code situ es sous la ligne architecture Behavioral of diviseur clk is de cette description 3 Copiez les lignes de code s lectionn es et collez les dans votre fichier diviseur_clk dans ISE sous la ligne Behavioral of diviseur clk is 4 Faire de m me pour les commandes use en d but de programme V rifiez le tout au besoin pour viter de provoquer des erreurs de syntaxe lors de la compilation du fichier Le code VHDL du module du diviseur d horloge est maintenant compl t 5 Cliquez sur File gt Save 6 S lectionnez l item diviseur_clk dans l espace Hierarchy et double cliquez sur Check Syntax dans l espace Processes 7 V rifiez les r sultats dans la Console et corrigez les erreurs de syntaxe s il y a lieu Fermer ensuite le fichier diviseur_clk vhd cole Polytechnique de Montr al Universit de
40. rence du syst me 100 MHz Ce signal cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 provient de l oscillateur install sur carte Nexys3 V10 bouton1 Ce signal est activ par un bouton poussoir de la carte Nexys3 C est le premier bouton de la s quence d tecter bouton2 Ce signal est activ par un bouton poussoir de la carte Nexys3 C est le deuxi me bouton de la s quence d tecter bouton3 Ce signal est activ par un bouton poussoir de la carte Nexys3 C est le troisi me bouton de la s quence d tecter Q del Chaque signal de ce bus active une diode LD7 LDO de la carte Nexys3 E S Entr es sorties S A Synchrone asynchrone Tableau 3 Description des composants Nom de fichier Identificateur Description d instance demi deml_inst Module de gestion d horloge Prend l horloge de r f rence 100 MHz et g n re une horloge dcm1_clk d riv e 16 MHz d un rapport cyclique de 50 Ce module est un IP instanci avec CORE Generator diviseur_clk diviseur_inst Module VHDL diviseur d horloge Ce module g n re les signaux clk2hz clk16hz clk2khz tous trois d riv s de demi clik debounce_sc debounce_hdli debounce1 3_ inst Ce module sert
41. rom_msa Options Depth 48 Range 16 65536 Data Width 4 Range 1 1024 Memory Type ROM Single Port RAM 5 Dual Port RAM SRL16 based Memory 5 Simple Dual Port RAM LI Datasheet lt Back Page 1 of 3 Next gt Generate Cancel l Help Figure 24 Le Distributed memory generator de ISE permet de cr er et de configurer n importe quel type de m moire tr s efficacement Ensuite vous devez cr er un fichier d initialisation pour que le module rom_msa r alise la table d tats futurs souhait s Ce fichier servira initialiser la valeur des espaces m moires correspondant aux adresses de la m moire ROM Un fichier d initialisation a t plac l Annexe 3 ces fins Pour ce faire 1 Copiez le contenu du fichier d initialisation du module rom _msa pr sent l Annexe 3 e S lectionnez toute les lignes du fichier l aide de la souris e Copiez les lignes du fichier 2 Retournez dans le Distributed Memory Generator et cliquez sur Browse c t du champ Coefficients File La bo te de dialogue Select COE File s ouvre cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 52 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 3 Sous windows dans la liste Files of type situ e dans le bas de la bo te de dialogue S lectionnez All Files 4 Cli
42. sultats Pour v rifier les r sultats de simulation cliquez d abord sur l ic ne Zoom full de la barre d outils La valeur des signaux s affiche dans la fen tre Wave pour la totalit du temps de simulation Zoom Full Figure 62 Cliquez sur l ic ne Zoom Full pour visualiser la simulation compl te sur 30 ms Finalement v rifiez que vos r sultats de simulation sont conformes ceux obtenus avec la simulation fonctionnelle section Visualisez les r sultats cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 1 17 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Fermez le logiciel ISim Vous avez compl t l tape de simulation avec timings du d tecteur de s quence Vous tes pr ts configurer le FPGA Spartan 6 avec le projet e Allez au chapitre Configuration de la carte Nexys3 pour configurer le FPGA avec le projet du d tecteur de s quence synchrone Universit de Lille cole Polytechnique de Montr al Formation en Informatique de Lille ELE3311 Syst mes logiques programmables 1 18 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Configuration de la carte Nexys3 avec ADEPT Apr s avoir fait la synth se le mapping et le placement amp routage du projet du d tecteur de s quence synchrone lors de l tape d imp
43. sur l ic ne Add Wire dans la barre d outil R mb ksd ate E Figure 14 L ic ne Add Wire de la barre d outils 2 Cliquez sur l extr mit droite du fil de l tiquette sig_in Un fil s tire de ce point jusqu au curseur Cliquez sur la broche D de la premi re bascule D pour cr er une connexion 3 R alisez toutes les connexions du sch ma conform ment au sch ma final du module anti rebond montr la Figure 16 N h sitez pas d placer les composants et les tiquettes au besoin Note Pour supprimer une connexion il suffit de s lectionner le fil et appuyer sur la touche Supprimer du clavier De plus vous pouvez sortir du mode Add Wire en tout temps en appuyant sur la touche Esc ou click gauche cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 34 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 Enfin pour cr er un embranchement partir d un fil existant proc dez comme suit 1 S lectionnez le mode Add Wire de la fa on explicit e pr c demment Cliquez sur le fil au point o vous souhaitez r aliser embranchement 3 Terminez la connexion l endroit d sir en pointant la destination avec pointeur et en cliquant avec le bouton gauche de la souris Ajouter les noms de signaux Il est tr s important d identifier les principaux signaux d un s
44. travaux pratiques R f rez vous la Figure 2 pour une vue d ensemble de la carte Nexys2 et ses principaux modules cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 14 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Power Select Power Pmod Done Power Connectors JTAG Jack Jumper Good LED pe LED Hender MoE ET ESE ER SLR UE LL OUT E E XILINX t LEDs Slide switches Push buttons Figure 2 La carte Nexys3 et ses principaux modules embarqu s Logiciels et outils de conception Les diff rents outils de conception que vous utiliserez lors des travaux pratiques sont tous int gr s et accessibles par l entremise du Navigateur de projet ISE ISE permet une grande efficacit car il regroupe plusieurs aspects de la conception d un projet dans un seul environnement et un seul jeu de fichiers Lors de ce didacticiel vous utiliserez l outil de conception et simulation Isim pour effectuer les simulations fonctionnelles et les simulations avec timings de vos projets Vous utiliserez l outil XST de Xilinx pour effectuer la synth se des diff rents projets Notez que pour ce qui est de l tape de synth se seule l utilisation de l outil XST est vue dans ce didacticiel Enfin les outils PlanAhead et ADEPT de Xilinx et DIGILENT seront utilis s respectivement pour impl menter le projet placement
45. trois instances de la bascule fdc droite du composant rom_msa Fiez vous la Figure 29 pour placer les bascules au bon endroit Ajouter des bus et des taps En mode sch matique un bus n est rien d autre qu un fil qui se voit attribu un nom voquant plusieurs bits Par exemple le fil monbus 3 0 est un bus de 4 bits Vous pouvez ajouter des bus dans votre sch ma de la m me fa on que vous avez trac des fils except que vous devez lui attribuer un nom voquant plusieurs bits pour qu il soit consid r comme un bus Ajoutez deux bus de la fa on suivante 1 5 S lectionnez Add gt Wire dans le Navigateur de projet ou cliquer sur l ic ne Add Wire dans la barre d outil Cliquez sur l entr e a 5 0 de la ROM faites un angle droit et laisser prendre le bus un peu plus bas que le c t horizontal inf rieur de la ROM comme montr sur la Figure 25 Nommez ce bus romin 5 0 l aide de la fonction Add Net Name de la barre d outils Tracez aussi un bus pour la sortie spo 3 0 mais terminez le un peu plus bas comme montr sur la Figure 25 Nommez ce bus romout 3 0 Note Lorsque vous tes en mode Add Wire vous pouvez terminer une connexion n importe o en double cliquant l endroit souhait cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 54 Didacticiel d initiation l environnement de conception F
46. under test d signe le module top level instanci dans le fichier testbench De plus en d ployant l item UUT on note que tous les sous modules instanci s dans le fichier VHDL top level sont r pertori s sous cet item Les r sultats de simulation seront affich s dans la fen tre Default wcfg droite de la fen tre ISim cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Ex ISim M81d Defaultwcfg s_e lt E N 9 x E BEAT MELICA T J Sanaj N Instances and Processes 0 8 x Objects 08x Simulation Objects for didact_top_didact_top_ TE amp Instance and Process Name F didact top_didact top schtb d Object Name Value UUT ail W rst 1 Li debounce1_ inst all W bouton o 4 debounce2_inst di 1 bouton2 o Fr peee a W boutons o M acero civiseur inst all a adero 00000000 Q encodeur inst El mso inst ml Q shitreg inst 3 C amp dkin_gen di Gt ai sta logic_1164 st D numeric std ni tertio te vital timing vi vital primitives vi std_logic arith st std_logic unsigned st vcomponents ve vrko ve amp instanc ES Memory IE Source Default wcfg Lx Console 08x Im M 8 1d signature 0x12940baa This is a Full version of ISim Time resolution is 1 ps Simula
47. 0 tonl lt 0 ton2 lt O ton3 lt O t for 4000 us tonl lt 1 ton2 lt O ton3 lt O t for 4000 us tonl lt O ton2 lt O ton3 lt O t for 4000 us conli lt Tori ton2 lt TIT ton3 lt O t for 4000 us tonil lt O ton2 lt O ton3 lt O t for 4000 us tonl lt O ton lt TOT ton3 lt l t for 4000 us tonl lt O ton2 lt O ton3 lt O END cole Polytechnique de Montr al ELE3311 Syst mes logiques programmables Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Universit de Lille Formation en Informatique de Lille 136 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Annexe 8 Fichier de contraintes UCF NET clkin TNM_NET clkin TIMESPEC TS_clkin PERIOD clkin 10 ns HIGH 50 PlanAhead Generated physical constraints NET Q del 0 LOC U16 NET Q del 1 LOC V16 NET Q del 2 LOC U15 NET Q_del 3 LOC V15 NET Q _ del 4 LOC M11 NET Q del 5 LOC N11 NET Q del 6 LOC R11 NET Q del 7 LOC T11 NET bouton1 LOC D9 NET bouton2 LOC B8 NET bouton3 LOC C4 NET clkin LOC V10 NET rst LOC C9 cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille
48. 012 Interconnectez les LUT Ensuite r alisez les interconnexions conform ment la Figure 22 Pour ce faire effectuez les tapes suivantes 1 Connectez les tiquettes E1 E2 et E3 aux broches 10 11 et 12 respectivement des deux LUT selon les tapes effectu es pr c demment pour le module d anti rebond R f rez vous la Figure 22 pour une repr sentation du sch ma compl t 2 Connectez les tiquettes E1 E2 et E3 aux trois broches d entr es respectivement de la porte OU 3 Connectez la broche de sortie de la premi re LUT l tiquette O0 4 Connectez la broche de sortie de la deuxi me LUT l tiquette O1 5 Connecter la broche de sortie de la porte OR l tiquette GS Renommez les LUT Renommez ensuite les instances avec des noms vocateurs 1 Double cliquez sur la premi re LUT La bo te de dialogue Instance Attributes s ouvre 2 Inscrivez LUTL_inst dans le champ IntName et cliquez sur Ok 3 R p tez ces deux tapes pour renommer la deuxi me LUT LUT2_inst Enfin sauvegardez le sch ma cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 46 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 LUT3 Figure 22 Sch ma compl t du module sch matique encodeur_sc Initialisez les LUT Les deux LUT doivent tre initialis es avec les cha nes de caract r
49. 1 Syst mes logiques programmables Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Comme vous le verrez l approche par langage HDL est particuli rement adapt e la r alisation de MSA de grandes complexit s En effet le langage VHDL par exemple permet de transposer le diagramme d tat de la MSA directement dans une description comportementale Behavioral tr s intuitive Consultez la Figure 5 pour voir le diagramme d tat de la MSA du d tecteur de s quence et le Tableau 1 pour une description de chaque tat Cr ez un nouveau fichier VHDL pour la MSA Pour cr er le fichier source de la MSA S lectionnez Project gt New Source 8 S lectionnez VHDL Module dans la bo te de dialogue Select Source Type 9 Entrez msa_hdi comme nom de fichier et appuyer sur Next 10 Cr ez cinq ports d entr es bO b1 gs clkin et rst et un port de sortie enable_del comme illustr la Figure 43 e Entrez bO b1 gs clkin rst et enable_del dans les 6 premiers champs Port Name e Dans le champ Direction choisissez in pour bO b1 gs clkin et rst et out pour enable del e Ne cochez pas les champs Bus 11 Cliquez sur Next et ensuite sur Finish pour compl ter cette tape de configuration Une bo te de dialogue affiche la description VHDL g n r e par le Wizard 12 Cliquez sur Finish Le fichier VHDL vide d crivant le module msa_hdi s ouvre da
50. 2 4 testcunit CUnit vhd into library work JJ INFO Pfo fectMgmt 656 Parsing design hierarchy completed successfully E Figure 1 Le Navigateur de Projet ISE Vue des processus de design Console Mode diteur de design cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille Espace de travail il 1 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 Introduction Ce didacticiel effectue un survol des caract ristiques principales de la carte FPGA Nexys3 base de Spartan 6 de la suite de conception ISE des logiciels de simulation et de synth se disponibles dans les salles TP ainsi que du flow de conception FPGA en g n ral Apr s ce didacticiel vous poss derez les bases de deux approches de conception FPGA conception par sch ma et par langage HDL vous serez en mesure d utiliser les ressources principales de la carte Nexys3 et vous pourrez configurer la carte avec un projet Ces connaissances vous permettront d effectuer les travaux pratiques pr vus lors de ce cours Diff rentes ressources de la carte Nexys3 seront utilis es lors de chaque projet et le niveau de difficult augmentera chaque fois Dans ce didacticiel vous r aliserez un d tecteur de s quence synchrone Le d tecteur concevoir permet d identifier une s quence entr e par un usager l aide de troi
51. Asynchronous Delay Report A Generate Clock Region Report E Generate Post Place amp Route Simulation Model F Generate Post Place amp Route Power Report E power Power Reduction m cie Poverty Fle EO D Other Place amp Route Command Line Options Property display level Advanced gt F Display switch names Default x Cam Figure 53 Configuration adopter pour la bo te de dialogue Process Properties pour les options de placement et routage cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 103 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Cr ation de contraintes de timing Les contraintes de timings du design sont entr es dans un fichier UCF User constraints file ISE met votre disposition des outils graphiques comme le Constraints Editor et PlanAhead pour diter ce fichier automatiquement Vous allez tout d abord entrer des contraintes de timing l aide du Constraints Editor Ces contraintes seront inscrites automatiquement dans un fichier UCF qui sera associ au projet en cours Pour lancer le Constraints Editor S lectionnez didact_top dans l arborescence du projet D ployez l item User Constraints dans la liste de l espace Processes Double cliquez sur l item Create Timing Constraints UN Cliquez Yes sur la bo te
52. Chaque module que vous avez cr dans les sections pr c dentes doit tre d clar l aide de la balise component is et instanci l aide de la balise port map dans l architecture du module top level R f rez vous au fichier original didact_top vhd plac l Annexe 6 pour v rifier votre code du module top level Vous ajouterez les modules VHDL de l encodeur du g n rateur de signal gs get something et le registre d calage m me le fichier top level Pour ce faire vous impl menterez ces modules dans des process que vous d crirez dans didact_top Effectuez les tapes suivantes pour compl ter la description VHDL top level du d tecteur de s quence synchrone 1 Double cliquez sur l item didact_top dans l arborescence du projet situ dans l onglet Design Le fichier top level didact_top vhd s ouvre dans l espace de travail cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 2 Ensuite ajoutez le code de l encodeur comme suit e Copiez le bloc de code suivant et collez le juste sous le bloc d instanciation du module msa_hdl Inst msa hdl msa hdl port map dans le fichier top level Description de l encodeur b0 lt 1 when debout3 0 and debout2 1 and deboutl 0 or debout3 1 an
53. Cr ation d un module sch matique encodeur Il peut tre tr s utile d encoder plusieurs signaux pour les repr senter l aide d un nombre moindre de bit Vous allez cr er un encodeur pour repr senter les signaux provenant des trois boutons BTNL BTNS et BTNR sur 2 bits Proc dez comme suit 1 Tout d abord cr ez un nouveau module sch matique nomm encodeur_sc l aide du New Source Wizard Reprenez les tapes vues pr c demment aux sections Cr ation d un module cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 sch matique anti rebond et Impl mentation du sch ma de l anti rebond pour cr er ce nouveau sch ma Une fois toutes les tapes effectu es le sch ma du nouveau module encodeur_sc s ouvre dans l espace de travail Ajouter des tiquettes d entr es sorties au sch ma 2 S lectionnez Tools gt Create 1 0 Markers et proc dez comme fait la section Ajoutez les tiquettes d entr es sorties pour ajouter des tiquettes 3 Ajoutez les trois tiquettes d entr es E1 E2 E3 Ajoutez les trois tiquettes de sorties O0 O1 et GS 5 Cliquez sur Ok pour cr er les tiquettes Ajouter deux LUT au sch ma L encodeur sera r alis l aide des tables de r f rence Look up table LUT disponibles dans l
54. DIDACTICIEL D INITIATION L ENVIRONNEMENT DE CONCEPTION FPGA Syst mes logiques programmables ISE12 4 Nexys3 Isim iii BON ai Lill Sciences E LIFOS gjes POLYTECHNIQUE MONTR AL cole Polytechnique de Montr al Universit de Lille 1 Version 2 1 Automne 2012 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 3 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Version du document Version Description Auteurs Date 1 0 Version originale Benoit Gosselin t 2009 1 1 Modification de la proc dure de programmation du PROM SPI embarqu d expansion limination de la compilation des librairies Xilinx avec ModelSim S bastien Ethier Automne 2009 1 2 Correction de la proc dure de programmation du PROM SPI embarqu d expansion Ajout de la configuration des simulations de ModelSim S bastien Ethier Automne 2009 1 3 Correction des compteurs de l annexe 1 Nicolas Laflamme Mayer Hiver 2011 1 4 Correction de la MSA en annexe 5 tat c et e J r me Le Lan Hiver 2012 2 0 Mise jour pour ISE 12 4 Adaptation carte Nexys2 Utilisation de Isim Jean Luc Dekeyser Et 2012 2 1
55. EDA et elle est davantage employ e dans l industrie Flow de conception FPGA La Figure 3 illustre le flow de conception FPGA mis de l avant dans ce didacticiel l aide d un sch ma cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 16 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 V rification Donn es de design e Sch ma e Langage HDL Simulation fonctionnelle Synth se Impl mentation Mapping Placement Simulation avec Routage G n ration du fichier de configuration timings Programmation du FPGA Figure 3 Flow de conception adopt dans ce didacticiel cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Description du syst me concevoir Dans ce didacticiel vous concevrez un d tecteur de s quence synchrone Ce syst me permet de d tecter une s quence entr e par l usager l aide de trois boutons poussoir Les boutons doivent tre activ s tour de r le dans le bon ordre pour g n rer la bonne s quence Lorsque le syst me d termine que la bonne s quence a t entr e il active une s rie de diodes lectroluminescentes Led Les ressources de carte qui se
56. Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 1 1 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 hi Digilent Adept ML e NES Se Config Memory Test Register 1 0 File 1 0 1 0 Ex Settings didact_top bit x Browse Program x Browse Program Initialize Chain Set Config file for XC351200E C Users jeandluc Dekeyser Documents xilinx project 12 4 didact_sc didact_top bit Preparing to program XC3S1200E Programming Verifying programming of device 2 Programming Successful E Figure 64 Fen tre ADEPT pour charger la carte NEXYS2 en mode JTAG Le FPGA est maintenant programm avec le projet du d tecteur de s quence Entrez la s quence en appuyant successivement sur les boutons BTNR BTNS et BTNL et v rifiez que les Leds LDO LD7 s activent en rafale En appuyant sur le BTND on peut recommencer la saisie du code cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 12 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 Annexe 1 Description VHDL du module diviseur_clk fichier diviseur_clk vhd library IEEE use IEEE STD_LOGIC_1164 ALL use IEEE STD_LOGIC_ARITH ALL use
57. Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 42 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 ISE Project Navigator M8 E File Edit View Project Source Process Tools Window Layout Help la x MEEADFNTELNER A T AAEN EE DS a Descriptions _ p View implementation FA Simulation ar E Hieray 13 Dependencies So a _ E didactse amp 15 Revision S o g xest2ipe sisx20 46 Revision 0 01 File Created amp diviseur_clk Behavioral diviseur_clk vhd 17 Additional Comments R deml del xew Re E ofh didact top didact top sch CN EEE RE ER EEE o debouncel_inst deboune sc deboune sc 20 library IEEE debounceZ inst deboune sc deboune_sc 21 use IEEE STD_LOGIC_1164 ALL E B debounce3 inst deboune_sc deboune_sc 22 i m 23 Uncomment the following library declaration if using i 24 arithmetic functions with Signed or Unsigned values 25 use IEEE NUMERIC_STD ALL 26 27 Uncomment the following library declaration if instantiating 28 any Xilinx primitives in this code 29 library UNISIM 30 use UNISIM VComponents all P gt ZQ NoProcesses Running 31 z 32 entity diviseur_clk is d jerone doni 33 Port clkin in STD_LOGIC 1 Q Create Schematic Symbol 34 clk2hz out STD LOGIC Vian HOL Sorea 35 clk16hz out STD L
58. Next Vous arrivez sur la deuxi me fen tre oN on Cliquez sur Next Generate cole Polytechnique de Montr al ELE3311 Syst mes logiques programmables Sur la page 3 il faut d s lectionner LOCKED Dans la pageOutput Frequency Requested de CLK OUT1 entrez 16 Sur la page 6 vous obtenez la liste des fichiers g n r s Pour cela il suffit de cliquer sur Universit de Lille Formation en Informatique de Lille 79 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Le module demi fichier dcm1 xaw est ajout dans l arborescence du projet de l espace Hierarchy Clocking Wizard z IP Symbol sx PE logic P Clocking Wizard P Output CLKINI CLK OUTI Clock The phase is calculated relative to the active input clock Settings Fi MHz Phase degrees Vo Output Clock CRETE EX Re 2h L CNG et Del Drives a Requested Actual Requested Actual Requested Actual Ps CLK_OUT1 16 000 16 000 0 000 0 000 50 000 50 0 BUFG x E CLK_oUT2 100 000 N A 0 000 N A 50 000 N A BUFG CLK_OUT3 100 000 N A 0 000 N A 50 000 N A BUFG CLK_OUT4 100 000 N A 0 000 N A 50 000 N A BUFG RESET 7 CLK_OUT5S 100 000 N A 0 000 N A 50 000 N A BUFG CLK_OUT6 100 000 N A 0 000 N A 50 000 N A BUFG LOCKED A P Symbol T E Datasheet lt Back Page 2 of 6 Next gt l Generate Cancel Help Figure 39
59. OGIC E View HOL Instentiation Template 36 clk2khz out STD LOGIC 37 end diviseur_clk 38 39 architecture Behavioral of diviseur clk is 40 41 begin 42 43 44 end Behavioral 45 46 a m i Jag Design C ries U tbraries 2 symbos 51 ponda E didact_top sch O E Design Summary outofdate C 0 deboune_sc sch EN dviseur_cl vhd B Console S o er E a 08x DINFO ProjectMgmt 656 Parsing design hierarchy completed successfully 2 Started Launching ISE Text Editor to edit diviseur_clk vhd E m E console Errors Wamings i Find in Fies Results Ln26Col1 VHDL Figure 20 Fichier VHDL incomplet d crivant le module diviseur_clk Cr ation du symbole du diviseur d horloge Ensuite cr ez un symbole repr sentant le module VHDL diviseur_clk dans le Navigateur de Projet Ce symbole sera ajout dans le sch ma top level didact_top sch plus tard dans le didacticiel S lectionnez l item diviseur_clk dans l espace Hierarchy du Navigateur de Projet 2 Dans l espace Processes cliquez sur le en avant de Design Utilities pour d ployer l arborescence associ e 3 Double cliquez sur Create Schematic Symbol Le symbole du diviseur d horloge est pr t tre plac dans le sch ma top level didact_top Placez les symboles des modules dcm1 et diviseur_clk Vous allez placer les symboles des modules dcm1 et diviseur_clk dans le sch ma top level Suivez les tapes suivantes
60. PGA Version 2 1 Automne 2012 FDC L p a FDC om FDC Le H m B Figure 25 Tracez deux bus flottants de chaque c t s du symbole de la m moire ROM 6 S lectionnez ensuite Add gt Bus Tap dans le Navigateur de projet ou cliquer sur l ic ne Add Bus Tap dans la barre d outil Le curseur prend la forme d un tap 7 Positionnez le curseur de la souris sur le bus romout 3 0 et cliquez sur le bus 8 Assurez vous que les broches D des 3 bascules arrivent vis vis le bus romout 3 0 9 Dans l espace Option dans la partie gauche du Navigateur de projet sous l diteur de symbole cliquez sur left Remarquez que le champ Selected Bus Name contient romout 3 0 et que Net Name contient romout 3 Pour tracer un tap partir de la premi re bascule D 10 Placer le bout du tap gauche apparaissant sur le curseur au bout de la broche D de la bascule et cliquez avec le bouton de gauche de la souris Un fil nomm romout 3 est trac entre la broche D de la bascule et le bus Vous devriez obtenir le r sultat montr la figure suivante cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille GE Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 HE tite RHIN EEE Figure 26 Un premier tap est ajout entre la premi re bascule et
61. RAA EEE Design G a x gy Deign Overview in S Ari Peal E Summar T j Vet O implementation 5 108 Properties g Peraviorai D Module Level Utilization A D Timing Constraints El r Pinout Report testcunit P pi Ale LES o Q Clock Report a CUnit Behavioral CUnitwhd El ia Statie Timing 3 5 Errors and Warnings 8 E Parser Messages w E Synthesis Messages D Translation Messages z D Map Messages sj D Place and Route Messages D Timing Messages D Bitgen Messages B All Implementation Messages Number of Slices Detailed Reports SR Number of Sice Fip Fiops 17344 0 Translation Report Number of 4 input LUTS 17344 o D C NoProcesses Running D Map Report Number of bonded 108s 250 4 5 0 Place and Route Report E PY No single design module is selected D Post PAR Static Timing Report pere al 2 CA Design Utilities D Power Report lt Bitgen Report z Design Properties E Enable Message Filtering Optional Design Summary Contents Synthesis Report Current mer 25 avr 16 43 00 2012 o 16 Warnings 16 new o 1 Show Clock Report E Show Failing Constraints Danton fepart E Show Wamings Map Report E Show Errors Place and Route Report Power Report Post PAR Static Timing Report Bitgen Report E ed oen O e EN TISE Design Suite InfoCenter az Design Summary aj Se O8 x Launch Design Summary Report Viewer a INFO ompiler 1061 Parsing VHDL file C Users jean luc Dekeyser Documents xilinx project 1
62. Source Process Jools Window Layout Help xDBxlo 2288 8008 rns 4enNl gt cr29 208x 13 Dependencies ii View 4 Implementation E Simulation S a z 15 Revision dl Hierarchy 16 Revision 0 01 File Created Ga _ E didecthal 17 Additional Comments Er C xc3s1200e 4fg320 Fe M E Mh didact_ top Behavioral didact_top vhd EEEE EREEREER REPEATER EEEE T EEPE a 2 20 library IEEE 21 use IEEE STD_LOGIC_1164 ALL a A 22 23 Uncomment the following library declaration if using el 24 arithmetic functions with Signed or Unsigned values T 25 use IEEE NUMERIC_STD ALL A 26 27 Uncomment the following library declaration if instantiating 28 any Xilinx primitives in this code 29 library UNISIM 30 use UNISIM VComponents all 31 32 entity didact_top is D C NoProcesses Running 33 Port rst in STD LOGIC PY Processes didact top Behavioral a Re 1 E Design Summary Reports 36 bouton2 in STD LOGIC le Design Utilities 37 bouton3 in STD LOGIC in EX mer 36 Q del out STD LOGIC VECTOR 7 downto 0 gt p ynthesize F T Implement Design Hi op g FER EEA 41 architecture Behavioral of didact_top is a onfigure Target Device Analyze Design Using ChipScope s hegia 44 45 46 end Behavioral 47 48 3 m r E se eg eson O Ae O rare E sb didact _top vhd ol Design Summary xj Console e E ES EE E S _ 08x Started
63. VECTOR 0000 0010 0000 0000 0000 0000 0000 0000 0100 010 100 le O C5 FA 5 000 OS 0 0 0 6 0 GOGO S CG So S 0000 1000 0000 1000 1010 cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 127 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 1000 0000 GS cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 128 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Annexe 4 Description VHDL du module debounce_hdi fichier debounce _hdi vhd library IEEE use IEEE STD LOGIC 1164 ALL use IEEE STD LOGIC ARITH ALL use IEEE STD LOGIC UNSIGNED ALL entity debounce hdl is Port sig in in STD LOGIC clkin in STD LOGIC sig out out STD LOGIC end debounce hdl architecture Behavioral of debounce hdl is signal Q1 Q2 Q3 std logic begin process clkin begin if clkin event and clkin 1 then Q1 lt sig in Q2 lt Q1 Q3 lt Q2 end if end process sig out lt Q1 and Q2 and not Q3 end Behavioral cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programm
64. a MSA et peut tre utilis des fins de test lors d une simulation Ces signaux internes sont utilis s uniquement pour l approche de conception par sch ma cole Polytechnique de Montr al ELE3311 Syst mes logiques programmables Universit de Lille Formation en Informatique de Lille J3 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 Approche de conception par sch ma La premi re partie de ce didacticiel porte sur la conception du d tecteur de s quence l aide de l approche de conception FPGA par sch ma Dans cette partie le projet du d tecteur de s quence pr sente une structure hi rarchique reposant sur des modules sch matiques En effet le fichier top level du projet contient une repr sentation sch matique de l ensemble du syst me qui fait appel plusieurs types macros de niveaux inf rieurs Ces macros utilisent plusieurs types de modules de natures vari es dont des modules sch matiques des IP g n r s l aide de l Architecture Wizard des modules param tr s g n r s l aide du CORE Generator de ISE et des modules VHDL La figure suivante pr sente le sch ma compl t du d tecteur de s quence synchrone Au terme de cette section vous devrez obtenir un r sultat conforme cette repr sentation pour tre en mesure de poursuivre avec les tapes subs quentes du didacticiel soit la simulation fonctionnelle l impl me
65. a broche sig_out de debounce2_inst et la broche E2 de decodeur_sc et un dernier entre la broche sig_out de debounce3_inst et la broche E3 de decodeur sc Nommez respectivement ces fils debout1 debout2 et debout3 Tracez un fil entre la broche O0 de l encodeur et la broche bO de msa_sc un autre entre la broche O1 de l encodeur et la broche b1 de msa_sc et un dernier entre la broche GS de l encodeur et la broche gs de msa_sc Nommez respectivement ces fils bO b1 et gs Tracez des fils flottants partant des broches clkin et rst de msa_sc Nommez les clk_dcm1 et rst Tracez un bus flottant partir de la broche etatsuiv 2 0 de msa_ sc et nommez le etatsuiv 2 0 Tracez un fil flottant partir le la broche enable_del de msa_sc et nommez le enable_del Tracez un bus flottant partir de la broche etatpres 2 0 de msa_sc et nommez le etatpres 2 0 Tracez un fil flottant partant de la broche d entr e CE du registre d calage et nommez le enable_del Tracez des fils flottants partir des broches SLI C et CLR du registre d calage Nommez respectivement ces fils clk2hz clk16hz et rst Le sch ma top level est maintenant compl t cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Sauvegardez le sch ma et effectuez un DRC l aide de la
66. a fen tre 1 0 Ports la broche B8 4 Assignez le signal bouton3 dans la fen tre 1 0 Ports la broche C4 Vous avez assign tous les ports tiquettes d entr es aux broches d sir es Assignez ensuite le port tiquette Q_del 7 0 aux DEL LD7 LDO Proc dez de la m me fa on broche par broche 3 3V P BTNL c4 U16 LA V16 f Buttons BTNR D9 U15 f LEDs A8 v15 23 BTNU M11 c9 BTND N11 y B8 R11 Y BTNS T11 3 3V ve nee N15 K P17 AN3 SW17 0 1w1 T9 m 9 a UE E SW2yo w V9 ELELELEL Se SwW3yo w M8 mz CA 7 seg T18 CB Display SW4 0 1v1 N8 U17 CC U18 CD CE SW6 0 1n V8 SW7 o w T5 Spartan 6 1 Sauvegardez votre assignation cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 110 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Vous avez assign tous les ports tiquettes aux broches de FPGA souhait es Consultez le Tableau 5 pour un r sum des assignations et des liens entre les port tiquettes du projet et les composants physiques de la carte Nexys2 Fermer PlanAhead et revenez au Navigateur de projet ISE Tableau 5 R sum des assignations de broches et composants physiques vis s LI Q_del 8 Uutput Q_del 0 Output U16 Q_del 1 Output v16 T Q_del 2 Output U15 lt Q_del 3 Output V15 T Q_del 4 Output Mii lt
67. ables Formation en Informatique de Lille 129 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Annexe 5 Description VHDL du module msa_hdi fichier msa_hdl vhd library IEEE use IEEE STD LOGIC 1164 ALL use IEEE STD LOGIC ARITH ALL use IEEE STD LOGIC UNSIGNED ALL entity msa hdl is Port clkin in STD LOGIC rst in STD LOGIC bO in STD LOGIC bl in STD LOGIC gs in STD LOGIC enable del out STD LOGIC end msa hdl architecture Behavioral of msa hdl is type etat is a b c d e f signal etatpres etatsuiv etat begin registre d tat xreg process rst clkin begin if rst l then etatpres lt elsif clkin event and clkin 1 then etatpres lt etatsuiv end if end process PE xifl process etatpres b1 b0 gs begin case etatpres is when a gt if gs 1 and b1 0 and b0 0 then etatsuiv lt b else etatsuiv lt a end if when b gt if gs 0 then etatsuiv lt c else etatsuiv lt b end if cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 130 when c when d when e when f when others gt Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 gt if gs 1 then if b1 0 and b0O 1 then etatsuiv lt d else et
68. ammables Formation en Informatique de Lille 32 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 5 Placez deux autres bascules D la suite de la premi re Alignez la broche D de la bascule placer avec la broche Q de la bascule pr c dente R f rez vous la Figure 16 montrant le circuit de l anti rebond compl t pour vous guider Renommez les instances Le Navigateur de projet ISE assigne automatiquement un nom g n rique toutes les instances ajout es un sch ma Or il est important d attribuer un nom vocateur aux composants d un sch ma car cela facilite grandement les manipulations subs quentes et clarifie les r sultats lors de la simulation fonctionnelle Pour renommer une bascule D proc dez comme suit 1 Cliquez sur la premi re bascule du sch ma de l anti rebond avec le bouton de droite de la souris 2 S lectionnez Object Properties La bo te de dialogue Instance Attributes s ouvre 3 Changez la valeur du champ InstName pour Q0_inst et cliquez sur Ok Renommez les deux autres bascules D Q1_inst et Q2_inst respectivement Ajoutez les autres composants du sch ma Placez ensuite un inverseur et une porte ET la suite des bascule D comme montr la Figure 16 Pour ce faire 1 S lectionnez l item logic dans la liste Categories de l espace Symbols S lectionnez l item inv dans la liste Symbols Placer le curseur dans l espace de travai
69. ans le champ Name de l espace Options Cliquez sur la partie la plus gauche du fil flottant connect la broche RST_IN du module dcm1 Le fil flottant est renomm rst 5 R p ter les tapes 2 3 et 4 pour les noms de fils clkin bouton1 bouton2 et bouton3 comme illustr sur la Figure 30 Apr s que tout les fils flottants aient t identifi s cr ez les tiquettes S lectionnez Add gt 1 0 Markers Cliquez dans en haut gauche du fil nomm rst et glisser la souris de haut en bas en maintenant le bouton de la souris enfonc pour s lectionn les cinq fils ainsi que leur noms comme illustr sur la Figure 30 Ensuite ajoutez une tiquette de sortie Q_del 7 0 connect e la sortie du registre d calage comme suit Dessinez un bus flottant la sortie la sortie du registre d calage l aide de la fonction Add Wire Nommez ce bus Q_del 7 0 l aide de la fonction Add Net Name Cr ez une tiquette Q_del 7 0 comme vous l avez fait pr c demment l aide de la fonction Add 1 0 Markers et de la souris en s lectionnant le bus Q_del 7 0 cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 62 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Figure 30 Cr ation des tiquettes d entr es l aide de la fonction Add 1 0 Markers et de la souris
70. atsuiv lt a end if else etatsuiv lt c end if if gs 0 then etatsuiv lt e else etatsuiv lt d end if gt if gs 1 then if b1 1 and b0 0 then etatsuiv lt f else etatsuiv lt a end if else etatsuiv lt e end if gt etatsuiv lt f tatsuiv lt a end case end process OFL enable del lt 1 when end Behavioral tatpres f else O cole Polytechnique de Montr al ELE3311 Syst mes logiques programmables Universit de Lille Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Annexe 6 Fichier VHDL top level didact_top vhd library IEEE use IEEE STD LOGIC 1164 ALL use IEEE STD LOGIC ARITH ALL use IEEE STD LOGIC UNSIGNED ALL entity didact top is Port rst in STD LOGIC clkin in STD LOGIC boutonl in STD LOGIC bouton2 in STD LOGIC bouton3 in STD LOGIC Q del out STD LOGIC VECTOR 7 downto 0 end didact top architecture Behavioral of didact top is component debounce hd1l port sig_in in STD LOGIC clkin in STD LOGIC sig out out STD LOGIC end component COMPONENT dcml PORT LKIN IN IN std logic ST_IN IN std logic LKFX OUT OUT std_logic LKIN IBUFG OUT OUT std_logic LKO OUT OUT std logic LOCKED OUT OUT std_logic END COMPONENT C R C C componen
71. automatiquement l outil int gr appropri pour r aliser successivement chaque tape 1 S lectionnez didact_top dans l arborescence du projet Double cliquez sur l item Implementing Design Consultez les messages dans la Console et assurez vous que l impl mentation du projet s est bien d roul e ISE lance automatiquement les tapes d impl mentation les unes apr s les autres Nous rappelons que l impl mentation comporte les trois tapes suivantes l interpr tation translation le mapping et le placement amp routage Apr s qu ISE ait termin toutes les tapes visualisez les r sultats dans la Console Consultez le rapport de synth se et d impl mentation Pour consulter le rapport de synth se et d impl mentation du projet cliquez sur l ic ne Design Summary Reports de la barre d outils LOJE Figure 58 Cliquez sur cet ic ne pour consulter le rapport d impl mentation Le sommaire du rapport et une arborescence de fichiers s ouvrent dans l espace de travail Le rapport est divis en cinq sections Tableau 6 Les diff rentes sections du rapport de projet et leur utilit cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 1 12 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 Section Description Projet Status Cette section du rapport donne l h
72. avioral of diviseur clk is de cette description 3 Copiez les lignes de code s lectionn es et collez les dans le fichier diviseur_clk dans ISE sous la ligne Behavioral of diviseur clk is Le code VHDL du module du diviseur d horloge est maintenant compl t R visez le tout au besoin pour viter de provoquer des erreurs de syntaxe lors de la compilation du fichier Note Ne portez pas attention aux lignes de code pr c d es des balises Ces balises d signent des lignes de commentaires Elles n ont donc aucune incidence sur le fonctionnement du module Utilisez ces balises pour commenter votre code afin de vous y retrouver plus facilement Cliquez sur File gt Save 5 S lectionnez l item diviseur_clk dans l espace Hierarchy et double cliquez sur Check Syntax dans l espace Processes 6 V rifiez les r sultats dans la Console corrigez les erreurs de syntaxe s il y a lieu et fermer le fichier diviseur_clk vhd cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 82 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 JISE Project Navigator M 81d C Users je Dee xSBxlo el 2 A88 AAA aTa rle D8x f amp 11 Description pi View 4 Implementation f Simulation Res E Herrery 15 Dependencies ka E didact har m 15 Revis
73. cadre de niveau hi rarchique sup rieur Il permet d instancier des modules VHDL tester de les connecter entre eux et de leurs assigner des valeurs de signaux de test Le fichier testhbench peut tre simul avec un outil de simulation HDL comme Isim ou Modelsim Dans la section suivante vous ajouterez un testbench au projet et vous le simulerez avec ISim pour tester le d tecteur de s quence Ajoutez un fichier testbench VHDL au projet de la fa on suivante S lectionnez Project gt New Source S lectionnez VHDL Test Bench dans la bo te de dialogue Select Source Type Entrez didact_top_tb comme nom de fichier et appuyer sur Next a D UE Dans la bo te dialogue Associate Source s lectionnez didact_top pour associer le fichier testhbench didact_top_tb au fichier top level didact_top simuler cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 93 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 5 Cliquez sur Next et ensuite sur Finish pour cr er le fichier testbench Le fichier VHDL du testbench cr s affiche dans l espace de travail comme montr la Figure 44 Observez la structure du fichier testbench Contrairement aux modules VHDL courants le testbench contient une section entity vide car il se trouve au niveau hi rarchique supr me et qu il ne peut donc pas tre instanci
74. ch ma l aide d un nom appropri Les fils prennent le nom de l tiquette laquelle ils sont reli s automatiquement Pour nommer les autres fils du sch ma effectuez ces tapes 1 S lectionnez Add gt Net Name ou cliquez sur l ic ne Add Net Name de la barre d outils 8 Hd Figure 15 L ic ne Add Net Name de la Barre d outils 2 Dans la l espace Options gauche sous l espace Symbols tapez Q0 dans le champ Name 3 S lectionnez l option Increase the name dans le bloc After naming the branch or net 4 Cliquez successivement sur les trois tron ons de fils connect s la broche Q de chacune des trois bascules D pour identifier chaque fil 5 Cliquez sur File gt Save Le sch ma du circuit anti rebond est maintenant compl t Le r sultat obtenu devrait tre conforme au sch ma montr la Figure 16 cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille et Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 T sig out gt Figure 16 Le sch ma du circuit d anti rebond compl t V rification du sch ma Maintenant que le sch ma est compl t effectuez un design rule check pour vous assurer que qu il ne contient aucune erreur Pour ce faire 1 S lectionnez Tools gt Check Schematic Le r sultat du DRC
75. compagnie Xilinx www xilinx com regorge d informations et d exemples sur le mat riel utilis dans ce cours Le site comporte aussi un FAQ et une banque de probl mes r solus N h sitez pas le consulter cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 5 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 Table des mati res propos de ce AC IR ae cou tsen nn erennere nrn 4 LES 20 LCR E E E A E E E EL 8 Survol de Navigateur de Projet ISE saisons ianninnrtaneteaesnniieas tnnnnrtenennsiiianni ene 9 IAtrOdUCON re ae R E ee em te 11 Survol de l environnement de conception ses 11 Description de la m thodologie de conception ss 15 Flow de conception FPGA iii siisinnrreeeesenereeeeeeeeeesenennnnnes 15 Description du syst me CONCeVOIr iii 17 Sch ma bloc du d tecteur de s quence synchrone Rs 17 Diagramme d tatide la MSA tin in min matiere rte ite es asn etes nes iles 18 Sch ma bloc dela MSA ss sessnesniertesssanteneanneeeninersediteetinent a eat et ten 20 Approche de conception par Sch ma sisi 23 Cr ation d un nouveau projet dans SE 25 Cr ation d un sch ma top level iii 27 diter le nouveau sch ma didact_top 20h seat 27 Cr ation d un module sch matique anti rebond ssssssssssssssssssssesrssssssesssererensrrssressenssenssensseesens 28 Impl mentation du sch ma d
76. d debout2 1 and deboutl 0 ls 1 0 1 A b1 lt 1 when debout3 1 and debout2 0 and deboutl 0 els 1 0 1 A 3 Sous ce dernier bloc vous allez ins rer le g n rateur de signal gs get something e Copiez le bloc de code suivant et collez le sous la description de l encodeur Description du Get something gs lt 1 when debout3 1 or debout2 1 or deboutl 1 els LOTS Note tudiez les descriptions VHDL de ces deux derniers modules Notez qu elles d crivent des circuits combinatoires et que leurs ex cutions seront concourantes avec celles des process et autres composants d clar s dans l architecture 4 Copiez enfin la description du registre d calage et collez la sous la description du module get something la fin du fichier top level juste au dessus du end Behavioral e Le code suivant d crit le registre d calage Description du registre d calag xshifreg process rst clk16hz begin if rst 1 then shreg lt others gt 0 elsif clkl16hz event and clk16hz 1 then if enable del 1 then shreg 0 lt clk2hz shreg 7 downto 1 lt shreg 6 downto 0 end if end if end process Q del lt shreg Note tudiez la description VHDL de ce dernier module Notez qu elle d crit bien un registre gr ce l utilisation de la ligne de code elsif clki6hz event and clk16hz 1 then En effet tous les signaux qui sont affect s sous ce
77. de conception FPGA Version 2 1 Automne 2012 2 S lectionnez VHDL Module dans la bo te de dialogue Select Source Type et entrez debounce_hdi comme nom de fichier 3 V rifiez que la case Add to project est coch e et cliquez sur Next 4 Dans la bo te de dialogue Define Module entrez deux ports d entr es et un port de sortie sous Port Name comme montr la Figure 35 a Dans les 3 premi res cases entrez sig_in clkin et sig_out b Changez le champ Direction in pour sig_in et clkin et out pour sig_out c Ne cochez pas les champs Bus 5 Cliquez sur Next et enfin sur Finish New Source Wizard Define Module Specify ports for module Entity name debounce_hdl Architecture name Behavioral Port Name Direction Bus sig_in clkin sig_out KEE EE a Figure 35 La bo te de dialogue Define Module pour entrer les ports d entr es sorties du module debounce_hdl cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 72 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Le fichier VHDL vide d crivant le module debounce hdi s ouvre dans l espace de travail comme montr la Figure 36 Ce fichier contient l entit du module VHDL et son architecture vide compl ter Assurez vous que l onglet Design
78. de projet ISE 12 4 disponible sur le bureau 2 Dans le Navigateur de projet ISE cliquez sur File gt New Project 3 Dans la fen tre New Project Wizard tapez didact_sc comme nom de projet Notez que didact_sc est ajout au chemin initial contenu dans le champ Location S lectionnez Schematic pour le champ Top Level Source Type et cliquez sur Next 5 Entrez les valeurs suivantes dans la fen tre New Project Wizard Project Sttings e Product Category All e Family Spartan6 e Device XC6SLX16 e Package CSG324 e Speed 3 e Synthesis Tool XST VHDL Verilog e Simulator Isim VHDL Verilog e Preferred Language VHDL La Figure 9 montre la bonne configuration avoir pour cette bo te de dialogue cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 26 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 6 Enfin cliquez sur Next FA Design Properties Figure 9 Fen tre New Projet Wizard Project Settings param tres entrer pour la configuration du FPGA Spartan 6 utilis pour ce didacticiel cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 27 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 7 Cliquez enfin sur Finish dans la fen tre P
79. didact_sc xise No Errors E Module Level Utilization didact_top Placed and Routed E Timing Constraints E Pinout Report xc3s1200e 5fg320 No Errors E Clock Report ISE 12 4 10 Warnings 10 new Static Timing Balanced All Signals Completely Routed amp Errors and Warnings Parser Messages Xilinx Default unlocked All Constraints Met E Synthesis Messages L System Settings 0 Timing Report E Translation Messages E Map Messages E Place and Route Messages Timing Messages 1 Bitgen Messages Lo sos 4 E All Implementation Messages Number of Slice Fip Flops 7 17 344 1 pippa fon Number of 4input LUTS 29 17 344 1 Translation Report Number of occupied Slices 65 8 672 1 E Map Report Number of Slices containing only related logic 65 65 100 E Place and Route Report EE E Post PAR Static Timing Report Number of Slices containing unrelated logic o 65 0 C Power Report Total Number of 4 input LUTS 85 17 344 1 Bitgen Report SE Number used as logic 2 Design Properties D Number used as a route thru 56 F Enable Message Filtering Optional Design Summary Contents Number of bonded 108s 13 250 5 E Show Clock Report Number of BUFGMUXS 2 24 8 m Show Failing Constraints T ofDCMs i 3 2 E Show Warnings 4 E Show Errors Average Fanout of Non Clock Nets 2 19 0 Setup 0 Hold 0 Component Switching L
80. e FPGA Spartan 6 Ces LUT sont tr s efficaces car elles permettent de r aliser n importe quelle expression logique d un nombre pr d termin de variables lorsqu elles sont programm es convenablement Les lut3 sont des tables de r f rence comportant 3 variables d entr e et une sortie Elles se trouvent dans la Librairie LUT disponible dans l espace Categories de l diteur de symbole Effectuez ces tapes 1 Ajoutez deux symboles lut3 au sch ma de l encodeur l aide de l diteur de symbole R f rez vous la section Construisez le circuit du module anti rebond vue pr c demment pour vous guider dans cette t che Note Consultez la fonction Symbol Info pour une description d taill e de cette LUT et les explications sur la les fa ons de la programmer Consultez la section Construisez le circuit du module anti rebond pour plus d information sur cette fonction 2 Ajoutez une porte O 3 entr es au sch ma Le symbole de cette porte se trouve dans la librairie logic de la liste Categories 3 S lectionnez l item or3 de la liste Symbols et placez le sous les LUT R f rez vous au sch ma compl t de l encodeur pr sent la Figure 22 pour voir la disposition sugg r e cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille A5 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2
81. e l anti rebond 29 V rification duSCh ma 5 4 ANR mit ne ennemies 35 Cr ation du symbole du module anti rebond 35 Placez le symbole debounce sc xissssaiasssasssa sense assassin inireentemannnste 36 Cr ation d un module de gestion d horloge ssssssssssssssssssrsssssrrrssrersressrnnerensrensrenssenssenssenssensset 37 Cr ation d un module VHDL diviseur d horloge us 39 Cr ation d un module sch matique encodeur Us 43 Cr ation d une MSA l aide d un module sch matique VU 49 Cr ation d une m moire ROM l aide de CORE Generator 50 Compl tez l Sch ma d la MSA nirni ane MR ne en HR e E 55 cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Cr ation d un registre d calage ssnt s coment nine S 60 Ajoutez les tiquettes d entr es sorties ss 61 Compl tez le sch ma top level 62 Approche de conception par langage HDL 65 Cr ation d un nouveau projet dans ISE 65 Cr ation d un fichier VHDL top level 68 Cr ation d un module VHDL anti rebond sisi 70 Utilisation des gabarits VHDL ini seereerreenreeseeneerreenseseennsnes 72 Cr ation d un module de gestio
82. ebounce_hdl dans l espace de travail si ce n est pas d j fait Dans ce fichier effacez la ligne de code begin juste sous la ligne architecture Behavioral of debounce hd1 is et laissez le curseur juste sous cette ligne 3 Revenez l onglet Language Templates dans l espace de travail 4 Cliquez avec le bouton droit de la souris sur Debounce circuit et s lectionnez Use in file dans le menu d roulant comme illustr la Figure 38 cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 74 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 5 Fermezle Language Templates 6 Ouvrez le fichier debounce_hdi vhd pour v rifier que le code du gabarit VHDL y a bien t ajout 7 Compl tez le fichier VHDL du module debounce_hdi en effectuant les tapes suivantes a Remplacez les lt clock gt par clkin le D_IN par sig_in et le Q_OUT par sig_out Placez le curseur apr s la ligne signal Q1 Q2 Q3 std logic et appuyez sur Enter 1 deux fois c Inscrivez la ligne de code begin cet endroit d Enlevez le reset du gabarit VHDL en supprimant les cinq lignes de code situ es sous la ligne if clkin event and clkin 1 then soit celles qui commencent par if lt reset gt 1 then et qui se terminent par else et supprimez un des end if e R ajustez l indentation du fichier au beso
83. emplate Le mapping des ports du composant avec les sig Instanciez ensuite ce composant 1 S lectionnez le fichier dcm1 vhi toujou 2 Cette fois s lectionnez le tout le bloc 1 cole Polytechnique de Montr al ELE3311 Syst mes logiques programmab naux interne est incomplet rs ouvert dans l espace de travail nst dcml dcmi PORT MAP et copiez le Universit de Lille Formation en Informatique de Lille les 3 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Collez ce bloc dans le fichier top level sous les trois blocs inst1 3 debounce et au dessus de end Behavioral Le mapping des ports du composant avec les signaux internes du module top level doit tre compl t avant de poursuivre 4 5 Effectuez ce mapping Inst dcml dcml PORT MAP CLKIN IN gt clkin RESET gt rst CLK OUT1 gt cik dcm1 Sauvegardez le sch ma top level en s lectionnant Save All Remarquez que inst_dcm1 apparait maintenant sous l item didact_top dans l arborescence du projet 6 S lectionnez litem didact_top dans l onglet Design gauche du Navigateur de projet de l arborescence du projet dans l espace Hierarchy 7 Dans l espace Processes sous Hierarchy d ployez l item Synthesize XST 8 Cliquez avec le bouton de droite sur Check syntax et s lectionnez ReRun dans le menu d roulant 9 Corriger
84. emplates D ployez l item VHDL de la liste en cliquant sur le 3 Sous VHDL d ployez l item Synthesis Constructs d ployez l item Coding examples d ployez litem Misc et s lectionnez le gabarit VHDL Debounce circuit comme illustr la Figure 37 Le code VHDL du gabarit du circuit d anti rebond s ouvre dans l espace de travail droite Q File Edit View Project Source Process Tools Window Layout Help BOE Da49 2 K0bxl0e 228R28m esnc 46nNl gt z 2 9 Design NE CELLES LUS 08 x ENS Ta ii View implementation A Simulation i a Gi UCF Provides a one shot pulse from a non clock input with reset El Hierarchy S S VHDL Insert the following between the architecture and E a x amp 3 Common Constructs begin xeywords e Ej amp Device Macro Instantiation signa Q1 Q2 Q3 sta logic a P A oameni on qaevouncenai E Device Primitivelnstantiation dn Rene S amp Simulation Constructs sinsert the following after the begin keyword a g Des didact top Behavioral didact_top vhd S Synthesis Constructs process lt clock gt a Assertions amp Functions begin a Attributes if lt clock gt event and lt clock gt 1 then a Si Coding Examples if lt reset gt 1 then lem Ej Accumulators mc torg m amp On Arithmetic Q2 lt 0 E ON Basic Gates Q3 lt 0 Bi directional VO else E Comparators z Q1 lt DIN
85. es appropri es pour r aliser l expression logique souhait e correctement La table de v rit correspondant l expression logique r aliser pour encoder les signaux provenant des boutons poussoirs est la suivante cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille A7 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Entr es Sorties 12 11 10 01 O0 GS Cha ne INIT 0 0 0 0 0 0 gt bO 0 O 1 0 0 1 gt b1 0 1 0 0 1 1 gt b2 O 1 1 0 0 1 gt b3 1 0 0 1 0 1 gt b4 1 0 1 0 0 1 gt b5 1 1 00 1 1 gt b6 1 1 1 0 0 1 gt b7 Figure 23 Table de v rit de l encodeur et cha ne d initialisation des LUT correspondantes La premi re LUT doit r aliser la s quence associ e la sortie O0 tandis que la deuxi me LUT doit r aliser la s quence associ e la sortie O1 La colonne Cha ne INIT donne les bits correspondants de la cha ne et leur position Ainsi la s quence entrer pour la 1 LUT est la suivante 01000100 du MSB au LSB alors que la s quence 00010000 du MSB au LSB est utilis e pour initialiser la 2 LUT Par ailleurs le format d initialisation du composant exige que la s quence soit entr e en base re hexad cimale Par cons quent les s quences d initialisation seront les suivantes 44 pour la 1 LUT et 10 pour la 2 LUT Toujours avec le sc
86. es des buffers qui leur font face l aide de la fonction Add Wire 7 Connectez la sortie des trois buffers au bus romin 5 0 l aide de la fonction Add Bus Tap Positionnez le tap vers la droite et inscrivez romin 2 dans le champ Net Name Cliquez sur la sortie du 1 buffer pour cr er le tap Assurez vous que le fil cr se nomme romin 2 8 Avant de cr er les deux derniers tap assurez vous que les fils qui seront cr s se nommeront romin 1 et romin 0 inscrivez ces noms au pr alable dans le champ Net Name avant de cr er chaque tap 9 Assurez vous que l tiquette b1 se reporte sur romin 2 bO sur romin 1 et gs sur romin 0 cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 59 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 Renommez les instances du sch ma msa_sc 1 Renommez toutes les instances du sch ma msa_sc comme suit e La m moire ROM rom _inst e Les trois bascules D de haut en bas Q2_inst Q1_inst et Q0_inst 2 Assurez vous que votre sch ma est conforme au sch ma compl t montr la Figure 29 et sauvegardez le 3 Effectuez ensuite un DRC en cliquant sur Tools gt Check Schematic et assurez vous de corriger les erreurs et les warnings annot s dans la console suite au DRC 4 Le sch ma de la MSA est termin Fermez le fichier msa_sc rom msa FDC
87. eure de cr ation ainsi que l tat du projet et son avancement En regardant cette section vous saurez quelle tape vous vous situez dans le flow de conception si le design comporte des erreurs ou des warnings et vous aurez divers d tails sur l tape en cours dont les r sultats de placement amp routage et le statut des contraintes de timings Device Utilization Cette section trace un portrait de l utilisation des ressources dans le FPGA Summary On y dresse une liste des diff rents types de composants disponibles dans le FPGA ainsi que la quantit utilis e dans le projet pour chacun Performance Cette section donne acc s plusieurs rapports de performance portant sur Summary les horloges les contraintes de timings la configuration des broches etc Detailed Reports Cette section donne acc s des rapports d taill s portant sur chaque tape de l impl mentation dont la synth se l interpr tation Translation le mapping le placement amp routage les contraintes de timing et la g n ration du fichier de programmation Secondary Reports Cette section donne de l information suppl mentaire sur certaines tapes du flow de conception dont la simulation avec timing Cliquez sur les hyperliens de chaque section du rapport pour ouvrir les rapports d taill portant sur les diff rents items e Bsa Overview E E Bimm TT 10B Properties
88. fonction Check Design Rules Vous devriez obtenir les deux warnings suivants WARNING DesignEntry 221 didact_top sch Bus etatsuiv 2 0 IS connected to source pins and or I O markers but not connected to any load pins or I O marker WARNING DesignEntry 221 didact_top sch Bus etatpres 2 0 is connected to source pins and or I O markers but not connected to any load pins or I O marker Laissez ces warnings tels quels Corrigez les erreurs et les autres warnings s il y lieu Fermez le sch ma top level Vous avez compl t la conception du d tecteur de s quence avec l approche par sch ma our poursuivre avec les tapes subs quentes de l approche par sch ma P les t b tes de l h h e Allez au chapitre Simulation fonctionnelle avec Isim pour effectuer une simulation pr synth se du syst me e Ouallez au chapitre Impl mentation du projet pour effectuer le placement routage du projet cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 65 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Approche de conception par langage HDL Cette partie du didacticiel porte sur la conception du d tecteur de s quence l aide de l approche de conception FPGA par langage HDL Dans cette partie le projet du d tecteur de s quence pr sente une structure hi rarchique reposant sur des
89. gateur de Projet ISE La Figure 1 identifie les principaux l ments de l interface du Navigateur de Projet ISE utilis dans ce didacticiel Pour installer ce logiciel sur les machines de TP 1 R cup rer le fichier de licence o l on vous l indique et l enregistrer sur votre compte 2 Depuis un terminal lancer le gestionnaire de licences par la commande opt Xilinx 12 4 ISE_DS common bin lin xlcm 3 Dans l interface de gestion de licences choisir Get free webpack licence 4 Cliquer sur connect now puis sur copy licence 5 Charger le fichier de licence puis cliquer sur close Remarque les tapes de 1 5 ci dessus sont r aliser par chacun sur son propre compte une seule fois pour tout le semestre 6 Le logiciel ISE est maintenant pr t tre utiliser II se lance avec la commande opt Xilinx 12 4 ISE _DS ISE bin lin ise cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 10 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Rapport du design View impl mentation ou simulation Vue hi rarchique du projet F w Project Source Process Tools Window Layout Help Hlal PE CAPETE CONEA T A
90. h ma de l encodeur ouvert proc dez comme suit pour initialiser les LUT 1 Double cliquez sur la premi re LUT La bo te de dialogue Instance Attributes s ouvre 2 Inscrivez le nombre hexad cimal 44 comme valeur dans le champ INIT 3 Double cliquez sur la deuxi me LUT 4 Inscrivez le nombre hexad cimal 10 comme valeur dans le champ INIT Note Consultez la documentation de la LUT lut3 gr ce l aide de la fonction Symbol Info disponible dans le menu Object Properties pour en savoir davantage sur la m thode d initialisation cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Effectuez une v rification du sch ma Proc dez comme vous l avez fait pr c demment avec le sch ma du module debounce_sc 1 s lectionnez Tools gt Check Schematic Le r sultat du DRC s affiche dans la Console partie situ e dans la partie inf rieure du Navigateur de projet Corrigez les erreurs et limiez les avertissements de type warnings s il y a lieu 2 Fermer le sch ma du module encodeur_sc Cr ez le symbole du module encodeur_sc Cr ez un symbole pour l encodeur et placez le dans le sch ma top level Proc dez comme vous l avez fait pour le module debounce_sc 1 S lectionnez l onglet Design gauche du Navigateur de projet et s lect
91. h tb IS COMPONENT didact top PORT rst IN STD LOGIC clkin IN STD LOGIC boutoni IN STD LOGIC bouton2 IN STD LOGIC bouton3 IN STD LOGIC Q_ del OUT STD LOGIC VECTOR 7 DOWNTO 0 END COMPONENT SIGNAL rst STD LOGIC SIGNAL clkin STD LOGIC SIGNAL boutonli STD LOGIC SIGNAL bouton2 STD LOGIC SIGNAL bouton3 SIGNAL Q del STD_LOGIC STD LOGIC VECTOR 7 DOWNTO 0 BEGIN UUT didact top PORT MAP rst gt rst clkin gt clkin boutoni gt boutoni bouton2 gt bouton2 bouton3 gt bouton3 Q del gt Q del m Figure 44 Fichier testhbench VHDL g n r l aide du New Source Wizard La version compl t e du fichier testhbench se trouve l Annexe 7 de ce document Effectuer les tapes suivantes pour compl ter votre fichier didact_top_tb vhd 1 Dans fichier didact_top_tb vhd compl t reproduit l Annexe 7 s lectionnez l aide de la souris toutes les lignes de code situ es entre les balises cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 95 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 N XXx Test Bench User Defined Section x et End Test Bench User Defined Section 2 Copiez ces lignes de code et collez les dans le fichier didact_top_tb ouvert dans l espace de travail du Navigateu
92. het devrait s afficher c t de Generate Programming File comme montr la Figure 63 cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 1 19 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 dh S Dlh didact_top didact_top sch debouncel_inst deboune_sc deboune_sc l D debounce2_inst deboune_sc deboune_sc debounce3_inst deboune_sc deboune_sc X deml_inst demi dcm1 xaw P u diviseur_inst diviseur_clk Behavioral divi D encodeur_inst encodeur_sc encodeur_ sc m d msa_inst msa_sc msa_sc sch rom_inst rom_msa rom_msa xco E didact_ top ucf No Processes Running Processes didact_top Create Schematic Symbol View Command Line Log File Check Design Rules View HDL Functional Model View HDL Instantiation Template B User Constraints Create Timing Constraints VO Pin Planning PlanAhead Pre Synthe VO Pin Planning PlanAhead Post Synth Floorplan Area 10 Logic PlanAhead a V m Figure 63 Le fichier de programmation BIT t g n r avec succ s cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 120 Didacticiel d initiation l environnement de conception FPGA Version 2 1 A
93. hz debout1 clk2hz clk16hz Registre d calage Anti rebond Q_ del Figure 4 Sch ma bloc du d tecteur de s quence synchrone concevoir Diagramme d tat de la MSA L utilisation d une MSA est tout indiqu e pour d tecter une s quence d v nements Ce projet utilise une MSA cinq tats dont le diagramme est montr la Figure 5 cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 19 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 b0 b1 00 gs 1 b0 bi 01 gs 1 Enable DEL 1 Figure 5 Diagramme d tat de la MSA du d tecteur de s quence Tableau 1 Description des tats de la MSA du d tecteur de s quence tat Description a tat initial Passe b lorsqu on entre b1b0 00 et gs 1 b tat de blocage pour traiter l entr e activ e par le bouton poussoir convenablement On sort de cet tat quand le bouton est rel ch soit quand gs repasse 0 c Passe d lorsqu on entre b1b0 01 et gs 1 cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 20 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 d tat de blocage pour traiter l entr e activ e par le bouton poussoir On s
94. iation l environnement de conception FPGA Version 2 1 Automne 2012 2 S lectionnez litem Behavioral apr s avoir s lectionn Simulation juste au dessus Design 08x qi View Implementation fA Simulation E Behavioral x 3 S lectionnez le fichier top level didact_top_tb dans l arborescence de projet 4 D ployez l item ISim Simulator dans la liste de l espace Processes 5 Cliquez avec le bouton droit de la souris sur Simulate Behavioral Model 6 Choisissez l onglet Process Properties du menu d roulant 7 Les valeurs par d faut sont suffisantes 8 Cliquez sur Ok Switch Name Property Name Value Use Custom Simulation Command File Custom Simulation Command File incremental Incremental Compilation W nodebug Compile for HDL Debugging W Use Custom Project File E prj Custom Project Filename Run for Specified Time W Simulation Run Time 1000 ns Waveform Database Filename ments xilinx project 12 4 didact_sc didact_top_didact_top_sch_tb_isim_beh wdb a Use Custom Waveform Configuration File F Custom Waveform Configuration File Other Compiler Options rangecheck Value Range Check E Library for Verilog Sources i Specify Search Directories for Include a his d Specify define Macro Name and Value Specify Top Level Instance Names work didact top_didact_top_sch_tb Other Simulator Commands Figure 46 Bo te de dialogue des options de simulation dans ISim Assurez vous que votre arborescence de pro
95. iez que la case Add to project est coch e et cliquez sur Next 10 S lectionnez FPGA Features and Design gt Clocking gt Clocking Wizard dans l onglet View by fonction de la bo te de dialogue Select IP comme illustr la Figure 17 11 Cliquez sur Next et ensuite sur Finish cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille New Source Wizard Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 Select IP Create Coregen or Architecture Wizard IP Core View by Function View by Name Name H B Automotive amp Industrial 7 BaselP H g Basic Elements f Communication amp Networking 7 Debug amp Verification f Digital Signal Processing j FPGA Features and Design f Clocking Xf Clocking Wizard fF Spartan 3 H Spartan 3E Spartan 3A B p Virtex 4 H Virtex 5 6 10 Interfaces H System Monitor H P Math Functions m Memories amp Storane Flements H E H Version Status License 1 8 Production gt m Search IP Catalog All IP versions o ca Only IP compatible with chosen part Figure 39 S lectionnez le module IP Single DCM_IP dans la bo te de dialogue Select IP ISE lance alors le Xilinx Clocking Wizard General Setup illustr la Figure 18 Dans cette bo te de dialogue tapez
96. imit 0 Pinout Report cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille l 13 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 Figure 59 Le rapport d impl mentation g n r par le Navigateur de projet donne tous les r sultats et les d tails de l impl mentation du projet Vous avez compl t l impl mentation du d tecteur de s quence Pour poursuivre avec les tapes subs quentes du flow de conception e Allez au chapitre Simulation avec timings pour effectuer une simulation avec d lais r els e Allez au chapitre Configuration de la carte Nexys3_ pour configurer la carte Nexys3 avec le projet du d tecteur de s quence cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 1 14 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Simulation avec timings Une fois l tape d impl mentation du projet termin e vous allez effectuer une simulation avec timings Vous r aliserez cette simulation l aide du testhbench que vous avez cr la section Simulation fonctionnelle avec ISim et du simulateur ISim La simulation avec timings ou post placement amp routage est une tape essentielle du flot de conception pour s assurer que le fonctionnement d
97. in Le fichier VHDL debounce_hdi vhd est compl t V rifiez que votre fichiez est conforme au fichier original debounce_hdi vhd plac l Annexe 4 de ce document 8 Sauvegardez le fichier en s lectionnant File gt Save et fermez le S lectionnez l item debounce_hdi dans l onglet Design gauche du Navigateur de projet de l arborescence du projet dans l espace Hierarchy 10 Double cliquez sur l item Check syntax dans l espace Processes sous Hierarchy 11 Corriger les erreurs de syntaxe affich es dans la Console s il y a lieu et fermer le fichier debounce_hdl vhd cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 CN Basic Gates CN Bi directional 1 0 E Comparators CN Counters C3 Decoders CN Encoders Flip Flops E Logical Shifters S Misc 7 Segment Display Hex Conversion Asynchronous Input Synchronization Red Barrel Shifter f Debounce circuit r Open Drain Outpul Open Drain Outpul 1 Output Clock Forw C3 Multiplexers E Ram C3 ROM E Shift Registers CN State Machines w ON Tristate Buffers C3 Conditional CN Generate CN Loops A gt Figure 38 La fonction Use in File du Language Templates permet d ins rer un gabarit VHDL dans un fichier vide cr au pr alable F
98. ion Z xc3s1200e 4fg320 16 Revision 0 01 File Created R amp Meh didact top Behavioral didact_top vhd 17 Additional Comments i Instl_debounce_hdl debounce hdl Be LE Fa Inst2_debounce_hdl debounce hdi Be EE a h Inst3_debounce_hdl d bounce_hdl Be 20 library IEEE R diviseur_clk Behavioral diviseur_clk vhd 21 use IEEE STD LOGIC 1164 ALL BE R demi deml xaw 22 23 Uncomment the following library declaration if using i 3 24 arithmetic functions with Signed or Unsigned values 25 use IEEE NUMERIC_STD ALL 26 27 Uncomment the following library declaration if instantiating 28 any Xilinx primitives in this code 29 library UNISIM P 30 use UNISIM VComponents all D gt 82 NoProcesses Running 31 g 32 entity diviseur_clk is E Processes didact top Behavior 33 Port clkin in STD_LOGIC ai D aaea a 34 clk2hz out STD_LOGIC s k sign Utilities 35 Clkl6hz out STD_ LOGIC A T Create Schematic Symbol 36 clk2khz out STD LOGIC View Command Line Log File EM oo diviseur clik u E View HDL Instantiation Template 2e 5 User Constraints z 39 architecture Behavioral of diviseur_clk is 5 QQ Synthesize XST 3 2 View RTL Schematic Abe gin View Technology Schematic 33 QO Check Syntax 43 Generste Post Synthesis Simulation Model Eni Behavioral EA Implement Design is Generate Programming File l PA m Configure Target Device 1 Anake D
99. ion du projet du d tecteur de s quence synchrone Vous cr ez d abord des contraintes de timing et les incorporer au projet Vous sp cifierez ensuite la configuration des broches d entr es sorties adopter et vous g n rerez enfin le fichier de programmation du FPGA Spartan 6 de la carte Nexys3 L impl mentation du projet consiste effectuer les tapes d interpr tation translation de mapping de placement amp routage et de g n ration du fichier de programmation BIT Tous les outils d impl mentation du projet sont int gr s au Navigateur ISE Pour plus d information sur les tapes d impl mentation et sur chaque outil consultez le ISE In Depth Tutorial version 12 4 et le Manuel d utilisation ISE version 12 4 Note Nous assumons cette tape que vous avez compl t e l tape pr alable de conception du d tecteur de s quence synchrone l aide d une des deux approches de conception d taill es pr c demment soit l approche de conception par sch ma ou l approche de conception par langage HDL Choix des options Vous devez tout d abord configurer les propri t s des outils d impl mentation Suivez ces tapes 1 S lectionnez l onglet Design dans l espace Hierarchy situ dans la partie sup rieure gauche du Navigateur de Projet 2 Assurez vous que l item Implementation est s lectionn dans la liste View au dessus de l espace Hierarchy 3 S lectionnez l item top level didact_top dans l
100. ionnez litem encodeur_sc de l arborescence du projet dans l espace Hierarchy 2 D ployer la liste d item Design Utilities en cliquant sur le symbole lui faisant face Double cliquez sur l item Create Schematic Symbol Le symbole encodeur_sc est ajout la librairie locale de projet didact_sc Placez le symbole encodeur_sc Placer le symbole de l encodeur dans le sch ma top level en proc dant comme suit 1 Double cliquez sur l item didact_top dans l arborescence du projet 2 S lectionnez Add gt Symbol ou cliquez sur l ic ne Add symbol de la barre d outils 3 Dans la liste Categories s lectionnez la librairie de symboles locale U didact_sc 4 S lectionnez le symbole encodeur_sc dans la liste Symbols et placez le au centre du sch ma top level commeillustr sur le sch ma compl t la Figure 7 5 Renommez l instance du module en tant que encodeur_inst Sauvegardez le sch ma top level et fermez le cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Cr ation d une MSA l aide d un module sch matique Vous allez impl menter une MSA l aide d un module sch matique Ensuite vous allez cr er un symbole pour la repr senter et la connecter dans le sch ma top level Cette MSA utilise la m me structure que ce
101. jet est conforme celle montr e la Figure 47 et lancez la simulation en double cliquant sur Simulate Behavioral Model avec le bouton de gauche de la souris cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Design 08x Ka Hierarchy ui E didact_sc B xc3s1200e 5fg320 B x didact_top_didact_top_sch_tb behavioral didact t o UUT didact_top didact_top sch debouncel_inst deboune sc deboune sc D debounce2_inst deboune sc deboune_sc D debounce3_inst deboune sc deboune_sc E N deml_inst deml demi xaw lx diviseur_inst diviseur_clk Behavioral divi 4 D encodeur_inst encodeur sc encodeur_sc s msa_inst msa_sc msa_sc sch rom_inst rom_msa rom_msa xco 41 e t o TT No Processes Running Processes didact_top_didact top_sch_tb behavioral S S ISim Simulator no Behavioral Check Syntax S Simulate Behavioral Model a A V Figure 47 Onglet Design en mode Source for Behavioral Simulation pour lancer la simulation fonctionnelle Le logiciel ISim s ouvre comme illustr la Figure 48 Remarquez gauche dans l onglet Instances and Processes on retrouve l item UUT sous didact_top_didact_top_sch_tb L item UUT qui signifie unit
102. kin gt clik demi clk2hz gt clk2hz clk16hz gt clk16hz clk2khz gt clk2khz 4 Sauvegardez le sch ma top level en s lectionnant Save All Remarquez que inst_diviseur_clk apparait maintenant sous l item didact_top dans l arborescence du projet 5 S lectionnez l item didact_top dans l onglet Design gauche du Navigateur de projet de l arborescence du projet dans l espace Hierarchy 6 Dans l espace Processes sous Hierarchy d ployez l item Synthesize XST 7 Cliquez avec le bouton de droite sur Check syntax et s lectionnez ReRun dans le menu d roulant 8 Corriger les erreurs de syntaxe affich es dans la Console s il y a lieu et fermer le fichier didact_top vhd Cr ation d une MSA l aide d une description VHDL Vous allez impl menter une MSA l aide d une description VHDL et l instancier dans le fichier top level avec les autres sous modules cr s que vous interconnecterez entre eux pour r aliser le d tecteur de s quence Cette MSA utilise la m me structure que celle repr sent e par le sch ma de la Figure 6 Les variables d tat et les variables registr es gard es en m moire seront affect es dans un processus registr processus s quentiel mis jour par un front d horloge alors que l IFL et l OFL de la MSA seront impl ment s par des processus concurrents r alisant des circuits combinatoires cole Polytechnique de Montr al Universit de Lille ELE331
103. kin o 4 Q del 0_OBUF_CLKINV x_bufix_bufv VHDL Entity l boutoni Qdel0_OBUF CEINV xbuflc bufv VHDL Entity 1 bouton2 o 4 Q del 1 OBUF DYMUX xbufix_bufv VHDL Entity 1 boutons o CAM a de17 0 4 Q del1_OBUF CLKINV x_buf x_bufv VHDL Entity B q_delpr 0 200000 Q del1 OBUF CEINV x_bufhbuf v VHDL Entity 4 Q del 2 OBUF DYMUX x but buf VHDL Entity Q del 2 OBUF CLRNV x_bufbcbuf v VHDL Entity 4 Q del 2 OBUF CEINV x butb but VHDL Entity 4 Q del 3 OBUF DYMUX x_bufi_buf_v VHDL Entity 4 Q del 3 OBUF_CLKINV x_buf x_bufv VHDL Entity D Qdel3 OBUF CEINV xbufibuf w VHDL Entity 4 Q del 4 OBUF DYMUX x_bufibuf VHDL Entity I Q del 4 OBUF_CIKINV x bufi bufv VHDL Entity 4 Q del 4 OBUF CEINV x bufix_bufv VHDL Entity I Q del 5_OBUF DYMUX x buf bufv VHOL Entity 4 Q del 5 OBUF CLRINV x buf bufv VHDL Entity Q del 5_OBUF CEINV x buti buf VHDL Entity E Q del 6 OBUF DYMUX x bufi bufv VHDL Entity 4 Q del 5 OBUF CLKINV x_bufix_bufv VHDL Entity 4 Q del 6 OBUF CEINV x_buf x_bufv VHDL Entity I Q del7_OBUF DYMUX x_bufix_buf v VHDL Entity E Q del 7 OBUF CLRNV xbufhcbuf v VHDL Entity O del 7 OBUF CEINV x bufix buf v VHDLEntit 7 amp Instances and Processes Memory E Source Fies L Alic Default wcfg Console 08x INFO There is another simulation running in the same directory Using database file name isim 1 db 15m M 81d signature 0x12940baa This is a Full version of ISm INFO SDF backannotation was successfu
104. l mentation du projet vous allez g n rer le fichier de programmation BIT pour configurer la carte Nexys3 Note Nous assumons cette tape que vous avez compl t e l tape pr alable d impl mentation du projet d taill e pr c demment dans ce didacticiel Cr ation du fichier de programmation Ouvrer tout d abord le projet du d tecteur de s quence dans le Navigateur ISE si ce n est pas d j fait Assurez vous de s lectionner l onglet Design et l item Implementation de la liste View juste au dessus de l espace Hierarchy Effectuez les configurations pr alables suivantes S lectionnez didact_top dans l arborescence du projet Cliquez avec le bouton droit de la souris sur l item Generate Programming File Choisissez l onglet Process Properties du menu d roulant Ep D Assurez vous que l item Advanced est s lectionn dans la liste Property display level dans le bas de la bo te de dialogue S lectionnez l item StartUp Options dans la liste Category de gauche S lectionnez litem JTAG Clock pour le FPGA Start Up Clock 7 Cliquez sur Ok ou Fabriquez ensuite le fichier de programmation 8 Dans l espace Processes double cliquez sur l item Generate Programming File ISE lance le programme int gr BitGen pour g n rer le fichier BIT qui servira programmer le FPGA 9 Consultez les messages dans la Console et assurez vous que la cr ation du fichier s est bien d roul e Un croc
105. l d initiation l environnement Version 2 1 Automne 2012 6 Copiez ce bloc de code laide de didact_top vhd juste sous le premier de conception FPGA a fonction Edit gt Copy et collez le dans votre fichier end component sous la d claration du component debounce_hdl m me si l ordre importe peu et avant les d clarations des signaux internes R f rez vous au fichier original didact_top vhd plac l Annexe 6 de ce document pour v rifiez votre code U The following code must appear in the VHDL architecture header D ER Begin Cut here for COMPONENT Declaration COMP TA 57 component demi 58 port 59 Clock in ports 70 CLK_IN1 in std_logic 71 Clock out ports 72 CLK OUT1 out std logic 73 Status and control signals 74 RESET in std logic 75 76 end component 77 78 H COMP TAG END End COMPONENT Declaration 79 The following code must appear in the VHDL architecture 30 body Substitute your own instance name and net names EE Begin Cut here for INSTANTIATION Template INST_TA 32 your instance name demi 33 port map 34 Clock in ports 35 CLK IN1 gt CLK IN1 36 Clock out ports 37 CLK OUT1 gt CLK OUT1 38 Status and control signals 39 RESET gt RESET 30 INSI TAG END End INSTANTIATION Template Figure 42 D claration du composant dcm1 dans le HDL Instantiation T
106. l et alignez l entr e de l inverseur avec la broche de sortie Q de la troisi me bascule D Cliquez pour placer le composant Note Vous pouvez d placer les tiquettes d entr es sorties pour faire de la place dans le centre du sch ma et ajouter plus de symboles entre ceux ci Il suffit de s lectionner l ic ne Select de la barre d outils et de cliquez sur un composant d placer avec le bouton gauche de la souris en le maintenant Glissez le curseur en le maintenant le bouton gauche enfonc pour d placer le composant Placez ensuite la porte ET en suivant les m mes tapes 1 3 nonc es ci haut cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 33 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 1 S lectionnez le symbole and3 situ dans la Cat gorie logic 2 Revenez dans l espace de travail alignez la broche inf rieure de la porte ET avec la broche de sortie de l inverseur et cliquez avec le bouton de gauche pour placer le composant Interconnectez les symboles Utilisez l ic ne Add Wire de la barre d outils pour dessiner des fils et interconnecter tous les symboles et les tiquettes du sch ma Proc dez comme suit pour interconnecter le fil reli l tiquette sig_in la broche D de la premi re bascule 1 S lectionnez Add gt Wire dans le Navigateur de projet ou cliquer
107. l with SDF fle netgen par didact_top_timesim sdf for root module UUT Time resolution is 1 ps Simulator is doing circuit initialization process Finished crcuit initialization process ISim gt Console Breakpoints 126 Findin Fies Results y Search Results Sim Time 1 ps Figure 60 La fen tre de simulation ISim s ouvre On retrouve l item UUT dans l onglet Instances and Processes sous didact_top_tb D ployer litem uut et remarquez que les sous modules instanci s sont tr s diff rents de ceux montr s la Figure 48 pour la simulation fonctionnelle En effet ISim utilise les mod les Xilinx des composants utilis s pour l impl mentation du projet cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 1 16 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 Configurez la simulation ISim Configurez ensuite le temps de simulation e Entrez 30 ms dans le Run Length dans la barre d outils comme montr la Figure 50 Lancez la simulation Enfin lancer la simulation en cliquant sur l ic ne Run dans la barre d outils Figure 50 La simulation prendra plusieurs minutes pour s ex cuter Vous pouvez suivre le temps d ex cution annot dans le bas de la fen tre ISim ault wcfa Figure 61 Le temps d ex cution de la simulation est annot dans la fen tre Visualisez les r
108. le bus romout 3 0 Remarquez que le Net Name dans l espace Options est pass romout 2 11 Refaite la m me chose pour tirer deux autres bus tap entre les broches D des deux derni res bascules et le bus Les noms sont d cr ment s automatiquement pour prendre la valeur romout 2 et romout 1 si ce n est pas le cas utilisez la fl che droite ou gauche c t du nom pour obtenir le bon fil Compl tez le sch ma de la MSA Compl tez le sch ma de la MSA en vous aidant du sch ma compl t montr la Figure 29 Connectez les sorties de la MSA aux tiquettes de sortie Suivez ces tapes 1 Ajoutez des buffers vis vis les broches Q des trois bascules D Les buffers ajouter correspondent l l ment buf de la liste Symbols disponible dans la librairie Buffer de la liste Categories cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille L Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 2 l aide de la fonction Add Wire tracez un fil entre la sortie Q de chaque bascule et l entr e du buffer qui lui fait face Ensuite reliez la sortie des 3 buffers l tiquette etatpres 2 0 Pour ce faire proc dez comme suit 3 D placez l tiquette etatpres 2 0 vers le bas pour qu il arrive sous le buffer le plus bas 4 l aide de la fonction Add Wire faite courir un bu
109. le msa_hdi et interconnectez le avec les signaux internes et ports d entr es sorties du module top level comme suit e Sous le bloc d instanciation du module diviseur_clk Inst diviseur clk diviseur clk PORT MAP ajoutez ce bloc port map pour le module msa_hdi cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Inst msa hdl msa hdl port map clkin gt clk demi rst gt rst b0 gt bO b1 gt l1 gs gt gs nable del gt enable del 4 Sauvegardez le sch ma top level en s lectionnant Save All Remarquez que msa_hdi apparait maintenant sous l item didact_ top dans l arborescence du projet 5 S lectionnez l item didact_top dans l onglet Design gauche du Navigateur de projet de l arborescence du projet dans l espace Hierarchy 6 Dans l espace Processes sous Hierarchy d ployez l item Synthesize XST 7 Cliquez avec le bouton de droite sur Check syntax et s lectionnez ReRun dans le menu d roulant 8 Corriger les erreurs de syntaxe affich es dans la Console s il y a lieu et fermer le fichier didact_top vhd Compl tez la description VHDL du module top level Compl tez le module top level didact_top en instanciant tous les sous modules requis et en r alisant toutes les connexions entre eux
110. lkl6hz Fiter End E stort g timing E8 deson Fies OS ubran p E 15E Design suite infocenter C E Design Summary Qutof ste CI E didac_top_tb vhd EF didact_top sch B Timing Constraints x Console 08 x NGDBUILD done Process Translate completed successfully E console Wamings Errors Ta Find in Files Results Figure 54 Le Constraints Editor vous permet d entrer des contraintes de timing sur les horloges et les signaux d entr es sorties Vous allez sp cifier des contraintes de timing pour les trois horloges d tect es Commencez par sp cifier l horloge de r f rence du syst me en proc dant comme suit 1 Assurez vous que l item Clocks Domains est s lectionn dans l espace Constraint Type 2 Double cliquez sur l item clkin de la liste Unconstrained Clocks au centre du Navigateur de projet La bo te de dialogue Clock Period s ouvre Effectuez les configurations suivantes 1 Assurez vous que Specify time est s lectionn et inscrivez 10 dans le champ Time juste dessous Assurez vous que ns est s lectionn dans la liste Units 2 Inscrivez 50 dans le champ Rising duty cycle et assurez vous que le champ Units associ soit 3 Assurez vous que les autres items sont configur s conform ment la bo te de dialogue Clock Period montr e la Figure 55 4 Cliquez sur Ok Vous constaterez que la nouvelle contrainte nomm e TS_clkin est ajout e dans la liste du haut cole P
111. lle repr sent e par le sch ma de la Figure 6 Des bascules D seront utilis es pour confectionner un registre d tat alors qu une m moire ROM sera utilis e pour r aliser les circuits IFL et OFL Comme vous le verrez il est ais de r aliser des MSA de faibles et moyennes complexit s avec une ROM En effet la table d entr e sorties et d tat futures de la MSA est pratiquement utilis e telle quelle pour programmer la ROM avec cette m thode La table de v rit de la ROM r alisant l IFL et l OFL de la MSA est pr sent e l Annexe 2 Le principe est le suivant la valeur qui adresse la ROM correspond aux bits d tat pr sents et aux bits des entr es de la table soit Adresse tats pr sents entr es du MSB au LSB alors que la valeur contenue l espace m moire correspond aux bits d tat futurs et aux bits de sorties de la table soit Contenu tats futurs sorties du MSB au LSB Cr ez un nouveau sch ma pour la MSA 1 Tout d abord cr ez un nouveau module sch matique nomm msa_sc l aide du New Source Wizard comme vous l avez fait pr c demment pour les modules debounce_sc et encodeur_sc 2 Ajustez la taille de la page du sch ma e Cliquer n importe o dans la page du sch ma avec le bouton droit de la souris et s lectionnez Object Properties e S lectionnez l item Sheets de la liste Category et choisissez la valeur D 34 x 22 in pour le champ Size e Cliquez ensuite sur Ok 3
112. mbole de la m moire rom_msa est plac dans la librairie didact_sc ipcore_ dir Placez le symbole de la ROM Placez le symbole de la m moire rom_msa dans le sch ma msa_sc l aide de la fonction Add Symbol de la barre d outils en effectuant les tapes suivantes 1 S lectionnez la librairie locale U didact_sc ipcore_ dir dans la liste Categories de l onglet Design et s lectionnez le symbole rom_msa dans la liste Symbols cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 2 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 De retour dans le sch ma ouvert dans l espace de travail placez le symbole rom_msa dans le haut de la partie centrale du sch ma r f rez vous la Figure 29 pour disposer les composants Ajoutez les autres composants au sch ma Vous devez ajouter des l ments de m moire synchrones pour confectionner un registre d tat Ce registre sert maintenir la valeur de l tat en cours pendant toute la dur e d une p riode d horloge Ajoutez trois bascules D comme suit PANNE S lectionnez Add gt Symbol ou cliquez sur l ic ne Add symbol de la barre d outils S lectionnez l item Flip_Flop de la liste Categories S lectionnez ensuite le type de bascule fdc dans la liste Symbols Repositionnez le pointeur de la souris dans l espace de travail et placez
113. mmables Formation en Informatique de Lille 88 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 9 Copiez les lignes de code s lectionn es et collez les dans votre fichier msa_hdi dans ISE sous la ligne Behavioral of msa_ hdl is R visez le tout au besoin pour vitez de provoquer des erreurs de syntaxe lors de la compilation du fichier Le code VHDL de la MSA est maintenant compl t 10 Cliquez sur File gt Save 11 S lectionnez l item msa_hdi dans l espace Hierarchy et double cliquez sur Check Syntax dans l espace Processes 12 Le r sultat de la compilation s affiche dans la Console Corrigez les erreurs de syntaxe s il y a lieu et fermez le fichier msa_hdi vhd D clarez et instanciez le module msa_hdl Proc dez comme vous l avez d j fait pour les modules pr c dents afin de d clarer et instancier le module VHDL de la MSA 1 Dans l espace Hierarchy du Navigateur de projet double cliquez sur l item didact_top Le fichier du sch ma top level s ouvre dans l espace de travail 2 D clarez ensuite le composant msa_hdi e Juste sous le bloc de d claration component diviseur clk ajoutez ces lignes de code component msa hdal port clkin in STD LOGIC rst in STD LOGIC bO in STD LOGIC b1 in STD LOGIC gs in STD LOGIC enable del out STD LOGIC end component 3 Instanciez le modu
114. modules d cris en langage VHDL En effet le fichier top level du projet permet de repr senter l ensemble du syst me l aide d une description VHDL structurelle faisant appel des composants de niveaux hi rarchiques inf rieurs Ces composants sont divers natures dont des modules VHDL des IP g n r s l aide de l Architecture Wizard ou des modules param tr s g n r s l aide du CORE Generator Cette section vous permettra de compl ter la conception du d tecteur de s quence l aide d une description VHDL Ensuite vous serez en mesure de poursuivre avec les tapes subs quentes du didacticiel soit la simulation fonctionnelle l impl mentation du projet la simulation avec timings et la configuration du FPGA avec le syst me con u Cr ation d un nouveau projet dans ISE Pour d buter cette partie du didacticiel cr ez un nouveau projet ISE ayant pour cible le FPGA Spartan 3E 1 Pour lancer la suite ISE version 12 4 double cliquez sur l ic ne du Navigateur de projet ISE ou s lectionnez Start gt Programs gt Xilinx ISE design suite 12 4 gt ISE Design Tools gt xx bit Project Navigator alternativement js Xilinx ISE Design Suite 12 4 Figure 31 Ic ne du Navigateur de projet ISE 12 4 disponible sur le bureau 2 Dans le Navigateur de projet ISE cliquez sur File gt New Project ou cliquez sur le bouton New Project dans la fen tre de gauche 3 Tapez didact_hdl comme nom de projet
115. n d horloge ssssssssssssssssssrsssesesrsssessrenssnnerensrrnssressenssrnssenssenssna 77 Cr ation d un module VHDL diviseur d horloge sssssssssssssssssssesesersrerssnnerrnsrrssrenssenssenssenssensses 79 Cr ation d une MSA l aide d une description VHDL 85 Compl tez la description VHDL du module top level s sssssssssssssssesssssssesssrseressrrssrressenssenssenssensses 89 Simulation fonctionnelle avec Isim ss 92 tapes de configurations pr alables nionnetoetendihoionniamus 92 Cr ation d un Testhenchs ssssssssnses nent tata ane rennes tienne 92 Simulation du projet avec ISIM ssssssersissesrraiiesssrauscustruussave rnui uu verani under unsur ententes era 95 Impl mentation du projet sise 101 Choix des ObtiONS nn aaee ne rar e ans c er rene el aR terre r en etat der 101 Cr ation de contraintes de timing iii 103 Assignation des broches du FPGA avec PlanAhead ss 106 Consultez l fichier UCF Cr si ierann e aiaa ton nie 110 impl mentez le projetesis assetiar rattia tintin des AEEA AEREE AS 111 Consultez le rapport de synth se et d impl mentation ssssesssessssssrssssssssssrrssrsssrrsssssressressees 111 Sim lation avec tiMiIngs 5 8ssssseul int aE E RE A AE AAR 114 tapes de configurations pr alables 114 Simulation avec timing dans ISIM inserer 114 Configuration de la carte Nexys2 avec ADEPT einer 118 Cr ation du fichier de programmation iii 118 cole Polytechnique de Montr al Unive
116. nnez le fichier top level didact_top_tb dans l arborescence de projet 4 D ployez l item ISim simulator dans la liste de l espace Processes 5 Cliquez avec le bouton droit de la souris sur Simulate Post Place and Route Model 6 Choisissez l onglet Process Properties du menu d roulant cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 1 15 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 7 Assurez vous que l item Advanced est s lectionn dans la liste Property display level dans le bas de la bo te de dialogue 8 S lectionnez l item ISim properties dans la liste Category de gauche 9 Entrez 1ps dans pour le Simulation Run Time 10 Cliquez sur OK Lancez la simulation en double cliquant sur Simulate Post Place and Route Model avec le bouton de gauche de la souris Le logiciel ISim s ouvre comme illustr la Figure 60 Ex ISim M 81d Defaultwcfg X So File Edit View Simulation Window Layout Help ZSZ oa po a d A D SaTajis Brie 5 CAD h Los e 6 11 Instances and Processes X0 8 x Objects 908x GO Simulation Objects for cidact_to GET Instance and Process Name Design Unit Block Type didact top didact top_sch tb didact_top d VHDL Entity Object Name Value didact_top st VHDL Entity Girt 1 4 Q del0_OBUF DYMUX x_bufix_buf v VHDL Entity 1 ci
117. ns l espace de travail Comme pour les modules VHDL pr c dents ce fichier contient l entit du module mais pr sente une architecture vide compl ter cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 87 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 New Source Wizard Define Module Specify ports for module Entity name msa_hdl Architecture name Behavioral Port Name Direction Bus b0 b1 gs clkin rst EE EE fe enable_del pe mji Figure 43 La bo te de dialogue Define Module pour entrer les ports d entr es sorties du module msa_hdl Compl tez la description VHDL de msa_hdl Pour compl ter la description VHDL du module msa_hdi effectuer les tapes suivantes 7 Dans le fichier msa_hdl ouvert dans l espace de travail du Navigateur de Projet ISE effacez toutes les lignes de code situ es sous la ligne architecture Behavioral of msa hdl is 8 Aller l Annexe 5 de ce document et visualisez la description VHDL originale du module HDL msa_hdi l aide de la souris s lectionnez toutes les lignes de code situ es sous la ligne architecture Behavioral of msa hdl is de cette description cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques progra
118. ntation du projet la simulation avec timings et la configuration du FPGA avec le syst me con u cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 24 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Figure 7 Sch ma top level compl t du d tecteur de s quence synchrone cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille DE Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Cr ation d un nouveau projet dans ISE Pour d buter cette partie du didacticiel cr ez un nouveau projet ISE ayant pour cible le FPGA Spartan 3E 1 Pour lancer la suite ISE version 12 4 double cliquez sur l ic ne du Navigateur de projet ISE ou s lectionnez Start gt Programs gt Xilinx ISE design suite 12 4 gt ISE Design Tolls gt 32 bit Project Navigator Sous Linux il faut suivre le chemin quivalent Si votre processeur est 64 bits utilisez la version ad quate ise Pour certaines machines il faut supprimer la d finition de la variable LANG Cela d pend du shell utilis sous Linux famille csh faire unsetenv LANG dans le terminal avant de lancer ise LLa i famille bourne shell faire unset LANG Xilinx ISE Design Suite 12 4 Figure 8 Ic ne du Navigateur
119. ole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 4 Cr ez un port d entr e clkin et trois ports de sortie clk2hz clk16hz et clk2khz comme illustr la Figure 19 e Entrez clkin clk2hz clk16hz et clk2khz dans les 4 premiers champs Port Name e Dans le champ Direction choisissez in pour clkin et out pour clk2hz clk16hz et clk2khz e Ne cochez pas les champs Bus New Source Wizard Define Module Specify ports for module Entity name diviseur_dk Architecture name Behavioral Port Name Direction Bus clkin clk2hz clki6hz clk2khz EEE EEE ET a Figure 19 La bo te de dialogue Define Module pour entrer les ports d entr es sorties du module VHDL cr er 5 Cliquez sur Next et ensuite sur Finish pour compl ter cette tape de configuration Une bo te de dialogue affiche la description VHDL g n r e par le Wizard 6 Cliquez sur Finish cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 41 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 Le fichier VHDL vide d crivant le module diviseur_clk s ouvre dans l espace de travail comme
120. olytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 105 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Sauvegardez le projet et fermer le Constraints Editor FA Clock Period Initial active edge used for OFFSET value is setto HIGH K PERIOD K INPUTLITTER TIMESPEC name TS_dkin Clock net name dkin Spedify time Time 10 Initial dock edge Rising HIGH Falling LOW Rising duty cyde 50 Units Relative to other period TIMESPEC Reference TIMESPEC LR Factor Operand Multiply by Divide by se Plus Minus unts es E Figure 55 Bo te de dialogue Clock Period pour ajouter des contraintes de timing sur les horloges utilises dans le d tecteur de s quence cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 106 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Assignation des broches du FPGA avec PlanAhead L outil int gr PlanAhead est utilis pour associer les broches du FPGA et pour cr er des contraintes individuelles ou de groupe sur les caract ristiques physiques et lectriques des entr es sorties 1 S lectionnez didact_top dans l arborescence du projet
121. on d un registre d calage Ajoutez un registre d calage qui permettra d activer une s rie de DEL en donnant une impression de d filade La sortie enable_del activera le registre quand la bonne s quence sera d tect e Proc dez comme suit 1 S lectionnez Add gt Symbol ou cliquez sur l ic ne Add symbol de la barre d outils L diteur de symbole s ouvre gauche du Navigateur de projet 2 S lectionnez l item Shift_Register de la liste Categories S lectionnez ensuite le registre SR8CE dans la liste Symbols 4 Placez le symbole du registre sous le symbole de la MSA comme montr sur le sch ma compl t Figure 7 5 Double cliquez sur le symbole du registre d calage que vous venez de placer 6 Inscrivez shiftreg_inst dans le champ InstName Tous les composants du sch ma top level sont maintenant plac s cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Ajoutez les tiquettes d entr es sorties Ajouter cinq tiquettes d entr es au sch ma top level rst clkin bouton1 bouton2 et bouton Pour ajouter ces tiquettes Dessinez des fils flottant partant des broches RST_IN et CLKIN_IN du module dcm1 et des broches sig_in appartenant aux trois modules anti rebond Ensuite s lectionnez Add gt Net Name Tapez rst d
122. ort de cet tat quand le bouton est rel ch soit quand gs repasse 0 Passe f lorsqu on entre b1b0 10 et gs 1 f tat final La sortie enable del est activ e Sch ma bloc de la MSA Une MSA est compos e 1 d un circuit combinatoire IFL input forming logic pour traiter les entr es et g n rer les tats suivants 2 d un registre d tat pour maintenir la valeur de l tat courant pendant toute la dur e d une p riode d horloge et 3 d un circuit combinatoire OFL output forming logic pour activer les sorties de la MSA La Figure 6 montre le sch ma bloc de la MSA utilis e dans le d tecteur de s quence Cette structure sera successivement impl ment e l aide des deux approches de conception pr conis es dans ce didacticiel soit l approche de conception par sch ma et l approche de conception par langage HDL EL E Registre 1 tats d tat tats suivants pr sents Entr es Sorties Horloge Figure 6 Sch ma bloc d une MSA Les tableaux suivants pr sentent des descriptions d taill es des entr es sorties et des signaux internes du d tecteur de s quence et propose un survol de ses composants principaux Tableau 2 Description des entr es sorties Nom E S S A Taille Description rst E A 1 Signal de remise z ro du syst me Ce signal est activ par le bouton poussoir BTND de la carte Nexys3 clkin E S 1 Horloge de r f
123. outer en haut du begin ajoutez ces lignes de code signal clk demi std logic signal CLK N IBUFG OUT std logic signal CLKO OUT std_logic signal LOCKED OUT std logic signal b0O b1l gs enable del std logic signal clk2hz clk16hz clk2khz std logic signal deboutl debout 2 debout3 std logic signal shreg std logic vector 7 downto 0 Note Tous les signaux d interconnexions utilis s dans didact_top sont d clar s ici pour des raisons pratiques bien que certains n aient pas de liens directs avec le module debounce_hdi Ces signaux serviront interconnecter tous les modules que vous cr erez dans cette partie 5 Instanciez trois modules debounce_ hdi en utilisant la deuxi me partie du template de debounce_hdl vhi avec un copier et trois coller puis renommez les instances et interconnectez les avec les signaux internes et ports d entr es sorties Proc dez comme suit Sous le begin ajoutez ces trois port map instl debounce debounce hd1l port map sig i sig _o clkin n gt boutonli ut gt deboutl gt clk2khz inst2 debounce debounce hdi port map sig in gt bouton2 sig _o clkin ut gt debout2 gt clk2khz inst3 debounce debounce hdi port map sig in gt bouton3 sig out gt debout3 clkin E gt clk2khz cole Polytechnique de Montr al Universit de Lille1 ELE3311
124. par un autre module VHDL Ce fichier sert essentiellement instancier le module top level didact_top l aide des balises component et port map que vous verrez en vous d pla ant dans le fichier Note Remarquez que le port map est pr c d de l identificateur UUT Vous retrouverez cet identificateur lors de la simulation du testbench avec Isim Le testhbench ne contient encore aucune assignation de signaux de test Vous allez ajouter des assignations de signaux entre les balises pr vues cet effet dans le fichier x Test Bench User Defined Section tb PROCESS BEGIN Ajoutez vos assignassions de signaux de test ici WAIT will wait forever END PROCESS End Test Bench User Defined Section cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 94 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 nl 14 15 16 IF 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 at 12 43 44 45 46 47 48 49 al 15 mi A zxy jis LIBRARY ieee USE ieee std logic 1164 ALL USE ieee numeric std ALL LIBRARY UNISIM USE UNISIM Vcomponents ALL ENTITY didact top didact top sch tb IS END didact top didact top sch tb ARCHITECTURE behavioral OF didact top didact top sc
125. quez dans le centre de la bo te de dialogue dans l espace blanc c t des r pertoires et fichiers existants avec le bouton droit de la souris et s lectionnez New gt Text Document 5 Le fichier New Text Document txt est cr 6 Changez le nom de ce fichier pour rom_msa coe 7 Cliquez sur ce nouveau fichier avec le bouton droit de la souris et s lectionnez Open dans le menu d roulant 8 Windows vous sugg re une liste d outils avec lesquels ouvrir ce fichier 9 Choisissez d ouvrir le fichier avec Notepad 10 Sous linux faites la m me chose pour cr er le fichier Un fichier vide intitul rom_msa coe s ouvre dans Notepad 11 Collez le contenu du presse papier fichier original copi l Annexe 3 dans ce fichier vide 12 Sauvegardez le fichier rom_msa coe dans Notepad et fermez le 13 De retour dans la bo te de dialogue Select COE File s lectionnez le fichier rom_msa coe et cliquez sur Open Le champ Coefficients File du Distributed Memory Generator pointe maintenant sur le fichier d initialisation rom_msa coe 14 Cliquez sur le bouton Show pour visualiser le contenu de ce fichier 15 V rifiez que le fichier contient 48 valeurs d une taille de 4 bits chacune 16 Dans l espace COE Options du Distributed Memory Generator s lectionnez 2 comme valeur du champ Radix 17 Cliquez enfin sur Generate et v rifiez que le composant a bien t cr en inspectant les messages dans la Console Le sy
126. r al ELE3311 Syst mes logiques programmables Ensembles tapes et ordre dans lequel les r aliser pour compl ter l tape de conception du projet Instance de niveau hi rarchique sup rieur dans le projet C est cette instance ou fichier qui regroupe tous les composants de niveau inf rieur du projet Langage de description mat rielle hardware description language VHSIC Very High Speed description language Integrated Circuits hardware Modules sp cialis s dans la gestion d horloge disponibles dans le FPGA Spartan 3E Composant qui est disponible sous forme de black box dans le projet ISE permet de g n rer des IP automatiquement gr ce un Wizard Outil de conception assist e par ordinateur Electronic design automation Outil qui permet de v rifier la validit d un sch ma ou d une impl mentation l aide d une liste de r gles en vigueur Bo te de dialogue utilis e dans ISE pour cr er et configurer un nouveau projet Bo te de dialogue utilis e dans ISE pour cr er et configurer un nouvel l ment du projet Bo te de dialogue utilis e dans ISE pour configurer les ressources d un composant programmable dont des DCM m moire RAM etc Interface permettant de g n rer de configurer des composants IP Universit de Lille Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Survol de Navi
127. r de Projet ISE entre les balises du m me nom Figure 45 e Remplacez la section User Defined de votre fichier avec celle du fichier compl t que vous avez copi en Annexe 7 e Assurez vous de donner une valeur initiale au signal d horloge soit d avoir la ligne SIGNAL clkin STD LOGIC 0 V rifiez le tout au besoin pour viter de provoquer des erreurs de syntaxe lors du collage des lignes de code Le testbench VHDL du d tecteur de s quence est maintenant compl t et pr t tre simul 3 Cliquez sur File gt Save et fermez le fichier 49 50 51 Test Bench User Defined Section 52 tb PROCESS FE BEGIN 54 WAIT will wait forever 55 END PROCESS 56 End Test Bench User Defined Section 57 58 END Figure 45 Compl tez le testbench avec les lignes de code disponibles l Annexe 7 Remplacez la section User Defined de votre fichier avec celle du fichier compl t reproduit en Annexe 7 Simulation du projet avec Isim Vous allez lancer la simulation du testbench dans Isim partir du Navigateur ISE Configurez tout d abord la simulation en effectuant les tapes suivantes 1 S lectionnez l onglet Design dans l espace Hierarchy situ dans la partie sup rieure gauche du Navigateur de Projet cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille Didacticiel d init
128. re le sch ma r aliser comme illustr la Figure 10 L onglet Symbols devient actif un ensemble de symboles apparaissent dans le navigateur cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 28 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 E Fle Edit Project Source Process Add Tools Window Layout Help l lax Dangel x xIna 2289 amssnclevlr cz Symbols 908x w Categories lt Al Symbols gt J Arithmetic Buffer P Carry_Logic z Comparator a Counter z DDR Flip_Flop Decoder 2 Flip_Flop General 10 oO Symbols Z ibuf el ibufls A ibuf4 ibuf8 Fal ibufds gt ibufg ibufgds amp iobuf iobufds Al obuf 4 obuf16 a Symbol Name Fiter Orientation Rotate 0 bd Symbol Info L Dn O e r 2 seos 557 optens y dec top sch QE eas Console OSx Started Launching Schematic Editor to edit didact_top sch Started Launching Schematic Editor to edit didact_top sch A i IE console Errors JA Wamings lt FndnriesResuts 1 796 928 Figure 10 Nouveau projet et sch ma top level associ dans le Navigateur de projet ISE La page correspondant au sch ma didact_top est ouverte dans l espace de travail et pr te tre dit e Cr ation d un module
129. roject Summary ce stade vous obtenez un nouveau projet ISE ne contenant encore aucun sch ma fichier HDL ou module IP Cr ation d un sch ma top level Cr ez un nouveau sch ma top level de la fa on suivante 1 Assurez vous que l onglet Design est s lectionn dans le Navigateur de Projet et cliquer sur Project gt New Source dans la barre de menu 1 St beson Fies IQ ubrares 2 S lectionnez Schematic dans la fen tre Project Wizard Select Source Type 3 Tapez didact_top comme nom de fichier et v rifiez que la case Add to project est coch e 4 Cliquez sur Next et cliquez enfin sur Finish S lectionnez l onglet Design nouveau et v rifiez que le champ View est bien coch sur Implementation Vous pouvez remarquer qu un nouveau sch ma le sch ma didact_top est ajout au projet en n tant qu instance top level Le symbole correspond au top level diter le nouveau sch ma didact_top Le sch ma top level permettra d instancier plusieurs modules de niveaux hi rarchiques inf rieurs et d interconnecter le tout pour r aliser le sch ma complet du d tecteur de s quence Vous allez commencer la construction de ce sch ma Double cliquez sur l item didact_top situ dans l espace Hierarchy ou alternativement cliquez avec le bouton droit de la souris sur l item didact_top et s lectionnez Open Le fichier vide du sch ma top level appara t dans l espace de travail Un cadre entou
130. ront utilis es pour activer les entr es sorties du d tecteur de s quence sont les suivantes Les cingboutons poussoir BTNS BTNL BTNR BTNU BTND et les huit Leds LD7 LDO Les boutons doivent tre activ s dans l ordre suivant pour g n rer la bonne s quence BTNL BTNR BTNS Note La carte Nexys3 ne dispose pas de circuits anti rebond pour traiter les boutons poussoir II sera donc primordial d liminer les rebonds l aide d un syst me con u dans le FPGA Ce didacticiel d montrera entre autres un syst me d anti rebond que vous pourrez r utiliser lors des trois travaux pratiques Sch ma bloc du d tecteur de s quence synchrone La Figure 4 pr sente le sch ma bloc du d tecteur de s quence que vous concevrez dans ce didacticiel Notez l utilisation d un module DCM et d un diviseur d horloge pour d river des signaux d horloge de fr quence moindre un syst me d anti rebond pour traiter les signaux d entr e activ s par les boutons poussoirs une MSA pour d tecter la s quence d v nements ainsi que d un registre d calage pour activer une s rie de Led lorsque la s quence sera d tect e cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 cikin G n rateur demi clk2hz demi_clk rst bouton1 rst clk2
131. rsit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 7 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Programmez le FPGA en mode JTAG inserer 120 Description VHDL du module diviseur_clk fichier diviseur_clk vhd ssssssesssssssesrsesrsssrrssrrssrrssns 122 Table de d entr es sorties et d tats futurs de la rom_msa s sss sssssssnsssnssrresrssrrssrrssrensrresrresrresns 124 Fichier d initialisation du module rom_msa ii iineernense 126 Description VHDL du module debounce_hdl fichier debounce_hdl vhd sssssssssssssrsssrrssrrssrrsse 128 Description VHDL du module msa_hdi fichier msa_hdi vhd 129 Fichier VHDL top level didact_top vhd is siisssessesseenns 131 Fichier testhbench didact_top_tb vhd ss 134 Fichier de contraintes UCF 22528n08h20m 8 dons iiaa a e tne aeaiia 136 cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Lexique Flow de conception Instance top level Langage HDL Langage VHDL Module DCM Module IP Outils EDA Design rule check DRC ISE Project Wizard ISE Source Wizard ISE Architecture Wizard CORE Generator cole Polytechnique de Mont
132. s affiche dans la Console partie situ e dans la partie inf rieure du Navigateur de projet Corrigez les erreurs et liminez les avertissements de type warnings s il y a lieu On peut aussi passer par l onglet design en s lectionnant le fichier deboune_sc en mode implementation il suffit alors de lancer Check Design Rules dans Design Utilities Fermer le sch ma du module anti rebond Cr ation du symbole du module anti rebond Les prochaines tapes consistent cr er le symbole du module anti rebond et le placer dans le sch ma top level 1 S lectionnez l onglet Design gauche du Navigateur de projet et s lectionnez litem debounce_sc de l arborescence du projet dans l espace Hierarchy 2 D ployer la liste d item Design Utilities en cliquant sur le symbole lui faisant face Double cliquez sur l item Create Schematic Symbol cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 36 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 Alternativement vous pouvez cr er un symbole en s lectionnant Tools gt Symbol Wizard lorsque le sch ma repr senter est ouvert dans l espace de travail Ce composant pourrait tre v rifi par simulation Voici ile r sultat que vous devriez obtenir AR re re A a rt er rer et rer ere re rer d L
133. s contrainte de timings sur les horloges de d terminer l emplacement des broches de cr er des bancs d essai de simulation testbench et de g rer efficacement les projets d envergure cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 12 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 Le Navigateur de projet ISE offre un environnement de conception centralis extr mement efficace qui regroupe tous les outils n cessaires la conception la simulation et l impl mentation d un projet d envergure ainsi qu la configuration de la carte la nexys3 en ce qui nous concerne Carte de d veloppement Nexys3 La carte de d veloppement Nexys3 de Digilent utilise le FPGA Spartan XC6LX16 de Xilinx Cette carte offre un environnement de conception tr s adapt pour le prototypage d applications vari es dont celles des syst mes num riques usage g n ral et des syst mes embarqu s Cette carte est de plus id ale pour les applications de traitement vid o et de traitement de signal en g n ral La carte Nexys3 regroupe entre autre un FPGA XC6LX16 Spartan 6 un acc s USB2 pour la configuration et le transfert de donn es rapide On pourra utiliser le logiciel Adept http digilentinc com Data Documents Tutorials Adept 20Software 20Basic 20Tutorial pdf Caract ristiques principales Base
134. s 35 sig out out STD LOGIC m E Synthesze XST 36 end debounce hdl T 2 Implement Design 31 A Generate Programming File architecture Behavioral of d bounce bil is Configure Target Device 39 Analyze Design Using ChipScope segin 41 42 43 end Behavioral 44 45 i r E se ag veson O Fes 0 terares 2 syre f gt E didact_top vhd JTE Design Summary B debounce_hd vhd E Console O8x INFO HDLCompiler 1061 Parsing VHDL file C Users jean luc Dekeyser Documents xilinx project 12 4 didact_hdl debounce hdl vhd into library work a J INFO ProjectMgmt 656 Parsing design hierarchy completed successfully i i J E console Wamings Errors IX FindinFies Results 157222721 LniColi VHDE Figure 36 Fichier VHDL vide debounce_hdi vhd Utilisation des gabarits VHDL ISE comprend plusieurs gabarits VHDL repr sentants une foule de composants logiques couramment utilis s comme des compteurs des multiplexeurs ou des bascule D Vous allez utiliser le gabarit ISE de circuit d anti rebond Debounce circuit pour compl ter l architecture du module debounce_hdi Effectuez les tapes suivantes cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 73 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Dans le Navigateur de projet s lectionnez Edit gt Language T
135. s allant jusqu au dessus de la sortie du buffer le plus haut Le r sultat devrait tre conforme au sch ma compl t montr la Figure 29 5 Connectez la sortie de chaque buffer ce bus l aide de la fonction Add Bus Tap comme vous l avez fait pr c demment la section Ajoutez des bus et des taps Choisissez le sens Right Nommez la sortie du 1 buffer etatpres 2 Nommez les deux autres etatpres 1 et etatpres O du plus haut au plus bas 6 Ajoutez quatre buffers sous les 3 bascules D vis vis la partie inf rieure du bus romout 3 0 Consultez la Figure 29 pour savoir comment disposer les composants 7 Connectez l entr e de chaque buffer un bit du bus romout 3 0 l aide de la fonction Add Bus Tap Les bus tap doivent tre positionn s vers la gauche option left 8 Assurez vous que l entr e du 1 buffer est connect e au fil romout 3 du bus celle du 2 au bit romout 2 et celle du 3 au but romout 1 9 Ensuite d placez l tiquette etatsuiv 2 0 l g rement sous le 3 buffer entre le 3 et le 4 buffer comme montr sur le sch ma compl t Figure 29 10 Tracez un bus partant du bout de l tiquette etatsuiv 2 0 vers le haut jusqu en haut du premier buffer 11 Connectez la sortie de chaque buffer au bus etatsuiv 2 0 l aide de la fonction Add Bus Tap Les tap doivent tre positionn s vers la droite Le bit etatsuiv 2 doit tre connect sur la sortie du 1 buffer
136. s boutons poussoir Les boutons sont activ s tour de r le dans le bon ordre pour g n rer la s quence Lorsque le syst me d termine que la bonne s quence a t entr e il active une s rie de diodes lectroluminescentes Led Ce projet vous familiarisera avec plusieurs composants fondamentaux des syst mes logiques dont les MSA machines s quentielles algorithmique ou circuits logiques s quentiels on utilisera le terme MSA dans la suite ce document les registres d calage les anti rebonds les modules de gestion d horloge les m moires et les diff rents types de circuits combinatoires Vous r utiliserez les composants con us et les connaissances acquises lors de didacticiel plusieurs reprises lors des travaux pratiques Enfin ce didacticiel vous mettra en contact avec les ressources de la carte Nexys3 base de Spartan6 En effet l interface avec le d tecteur utilisera l horloge de r f rence 100 MHz les boutons poussoir les Led les m moires ROM embarqu es ainsi que le port de configuration USB Survol de l environnement de conception Le Navigateur de projet ISE sera utilis comme outil de conception par excellence lors de ce didacticiel ainsi que lors des travaux pratiques Cet outil de Xilinx permet de cr er des projets comportant plusieurs types de fichiers HDL sch matique UCF EDIF etc de compiler d effectuer des design rule check DRC de cr er des contraintes d impl mentation dont de
137. sch matique anti rebond Les boutons poussoir et les commutateurs disponibles sur la carte Spartan 6 ne disposent pas de circuits d anti rebond Par cons quent les rebonds doivent tre trait s l aide du FPGA Pour ce didacticiel vous allez cr er un module sch matique d anti rebond pour traiter les trois boutons utilis s pour entrer la s quence Ce composant permet aussi de g n rer un signal d implusion qui d tecte le moment o le bouton est appuy Les tapes suivantes montrent comment cr er un module sch matique d anti rebond l aide du New Source Wizard du Navigateur de projet ISE Un module sch matique est compos d un symbole et d un sch ma qui d crit sa circuiterie et ses interconnexions Par cons quent vous cr erez tout d abord une page de sch ma vide et d finirez ensuite la circuiterie du module d anti rebond Ensuite vous cr erez son symbole et le module sch matique sera ajout automatiquement la librairie de votre projet Pour cr er le module sch matique d anti rebond 1 S lectionnez Project gt New Source cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 29 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 2 S lectionnez Schematic dans la bo te de dialogue Select Source Type et entrez debounce_sc comme nom de fichier 3 V rifiez que
138. selP H j Basic Elements 4 7 Communication amp Networking Debug amp Verification fF Digital Signal Processing B f FPGA Features and Design f Clocking X Clocking Wizard 18 Production H P Spartan 3 H Spartan 3E Spartan 3A B p Virtex 4 H Virtex 5 9 10 Interfaces H System Monitor H P Math Functions m Memories amp Storane Flements Search IP Catalog Clear E AI IP versions E Only IP compatible with chosen part gt m 6 Figure 17 S lectionnez le module IP Single DCM_IP dans la bo te de dialogue Select IP ISE lance alors le Xilinx Clocking Wizard General Setup illustr la Figure 18 Dans cette bo te de dialogue tapez Next Vous arrivez sur la deuxi me fen tre Dans la pageOutput Frequency Requested de CLK OUT1 entrez 16 Cliquez sur Next Sur la page 3 il faut d s lectionner LOCKED Sur la page 6 vous obtenez la liste des fichiers g n r s Pour cela il suffit de cliquer sur T AIS TE Generate Le module dcm1 fichier dem1 xco est ajout dans l arborescence du projet de l espace Hierarchy cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 X Clocking Wizard IP Symbol 8x 7 ogiC SPE Clocking Wizard Output CLK_INT CLK_OUT1
139. semble Amenez chaque bit d tat vis a vis du bus romin 5 0 comme montr sur la figure suivante 2 FOMOU TE 00 Figure 27 Rapportez le bus des bit des tats pr sents bus etatpres 2 0 l entr e de la ROM vis vis du bus romin 5 0 dans le but de les connecter ensuite 3 Ensuite connectez chaque fil au bus romin 5 0 gr ce la fonction Add Bus Tap Positionnez le tap vers la droite Commencez par le fil le plus haut Apr s v rifiez que le 1 fil se nomme romin 5 le 2 romin 4 et le 3 romin 3 4 Sous les trois connexions cr es placez trois buffers pour connecter les tiquettes d entr es bO b1 et gs cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 58 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 5 Ensuite placez les tiquettes b1 bO et gs de bas en haut vis vis les trois buffers comme montr sur la figure suivante D placez les tiquettes l aide d un clique gliss de souris pour les placer comme montr sur la figure suivante Attention de ne pas intervertir les tiquettes bO et b1 sinon la MSA ne produira pas le comportement souhait E E EE EA E Re Figure 28 Placez les 3 tiquettes b0 b1 et gs vis vis le bus romin 5 0 et ins rez trois buffer entre ceux ci 6 Connectez les trois tiquettes aux entr
140. t partir d un PC en utilisant le port USB et partir de la Flash ROM la Flash ROM est galement programmable par l utilisateur via le Port USB Un cavalier sur la carte Nexys3 d termine la source PC ou ROM du FPGA utiliser pour charger sa configuration Le FPGA peut automatiquement charger une configuration partir de la ROM Flash Platform la mise sous tension si le cavalier de mode de configuration est r gl sur Master s rie Si le cavalier Mode est r gl sur JTAG le FPGA attendra la programmation partir du PC via le c ble USB C est cette configuration qu on utilisera lors des TP Les cavaliers sur les cartes sont normalement dans les bonnes configurations Le logiciel Adept peut tre utilis pour configurer le FPGA avec n importe quel fichier appropri stock sur l ordinateur Adept utilise le c ble USB pour transf rer un fichier binaire s lectionn partir du PC vers le FPGA ou la Flash ROM Alors le FPGA est configur il le restera ainsi jusqu ce qu il soit remis z ro par une rupture d alimentation ou par une pression sur le bouton de r initialisation du FPGA BTNR La Flash ROM conservera le fichier binaire jusqu ce qu elle soit reprogramm e ind pendamment de la mise sous tension Pour une description approfondie de la carte Nexys3 consultez le manuel d utilisation ainsi que la fiche technique disponible chez DIGILENT N h sitez pas consulter ces documents pour vous aider lors des
141. t diviseur clk port clkin in STD_LOGIC clk2hz buffer STD LOGIC clk16hz buffer STD LOGIC clk2khz buffer STD LOGIC end component component msa hdl port clkin in STD LOGIC rst in STD LOGIC bO in STD LOGIC cole Polytechnique de Montr al ELE3311 Syst mes logiques programmables Universit de Lille Formation en Informatique de Lille 132 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 b1 in STD LOGIC gs in STD LOGIC enable del out STD LOGIC end component signal clk deml std logic signal CLKIN IBUFG OUT std logic signal CLKO OUT std logic signal LOCKED OUT std logic signal b0 bl gs enable del std_logic signal clk2hz clk16hz clk2khz std logic signal debout1 debout2 debout3 std logic signal shreg std logic vector 7 downto 0 begin instl_ debounce debounce hdl port map sig in gt boutonl sig_out gt debout1 clkin gt clk2khz inst2 debounce debounce hdl port map sig in gt bouton2 sig out gt debout2 clkin gt clk2khz inst3 debounce debounce hdl port map sig in gt bouton3 sig out gt debout3 clkin gt clk2khz Inst dcml dcmi PORT MAP CLKIN IN gt clkin ST IN gt rst LKFX OUT gt clk demi LKIN IBUFG OUT gt CLKIN IBUFG OUT LKO OUT gt CLKO OUT LOCKED OUT gt LOCKED OUT R C G C
142. ti function L29N HA LI US multi function L30P EEEO E E 2 CO ON CS D A Figure 56 L outil PlanAhead permet d assigner les broches du FPGA et de cr er des contraintes de design sur les entr es sorties Cette figure montre comment assigner la broche V10 au port tiquette clkin du design bouton1 Input a bouton2 A mme dkin v10 rst iak c9 Figure 57 Assigner les port tiquette aux broches dans la fen tre 1 0 ports Assignez les autres broches du FPGA Les tapes suivantes vous guideront dans l assignation des autres broches du FPGA Vous allez assigner le signal de remise O rst au bouton poussoir BTND de la carte le signal bouton1 au bouton BTNR le signal bouton2 au bouton BTNS et le bouton3 au bouton BTNL ordre de saisie du cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 109 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 code valide 1 2 3 il faut changer l assignation pour changer le code Enfin vous allez assigner les bits du bus Q del 7 0 au Leds LD7 LDO de la carte Proc dez comme suit pour r aliser ces connexions 1 Assignez le signal rst dans la fen tre I O Ports la broche C9 comme vous l avez fait pr c demment pour assigner clkin Assignez le signal bouton1 dans la fen tre 1 0 Ports la broche D9 Assignez le signal bouton2 dans l
143. tion Bus MSB LSB a clkin in clk2hz out E clkl hz out gt La clk2khz out Ce E in in in x E in x T in x m in Z is Figure 40 La bo te de dialogue Define Module pour entrer les ports d entr es sorties du module VHDL cr er 5 Cliquez sur Next et ensuite sur Finish pour compl ter cette tape de configuration Une bo te de dialogue affiche la description VHDL g n r e par le Wizard 6 Cliquez sur Finish cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 81 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 Le fichier VHDL vide d crivant le module diviseur_clk s ouvre dans l espace de travail comme montr la Figure 41 Ce fichier contient l entit du module mais pr sente une architecture vide compl ter Compl tez la description VHDL de diviseur_clk Pour compl ter la description VHDL du module diviseur_clk effectuez les tapes suivantes 1 Dans le fichier diviseur_clk ouvert dans l espace de travail du Navigateur de Projet ISE effacez toutes les lignes de code situ es sous la ligne architecture Behavioral of diviseur_clk is 2 Aller l Annexe 1 de ce document et visualisez la description VHDL originale du module HDL diviseur_clk l aide de la souris s lectionnez toutes les lignes de code situ es sous la ligne architecture Beh
144. tor is doing circuit initialization process at 0 ps Instance didact_top_didact_top_sch_tb UUT msa_inst rom_inst UD Warning This core is supplied with a behavioral model To model cycie accurate behavior you must run timing simulation Finished circuit initialization process at 0 ps Instance didact_top_didact_top_sch_tb UUT msa_inst rom_inst UO Warning NUMERIC_STD TO_INTEGER metavalue detected returning 0 at 0 ps Instance didact_top_ didact_top_sch_tb UUT msa_inst rom_inst UD Warning NUMERIC_STD TO_INTEGER metavalue detected returning 0 ISim gt E Console Ereakponts I FindinFiesResuits qi Search Results Sim Time 1 000 000 ps Figure 48 La fen tre de simulation ISim s ouvre Configurez la simulation dans ISim 1 En cliquant sur un sous modules par exemple UUT on voit appara tre dans la fen tre Simulation objects la liste des identificateurs de signaux On peut ainsi les faire glisser dans la fen tre de simulation en dessous de q_del Faites glisser etatpres etatsuiv enable del puis rejouez la simulation 2 En jouant sur le zoom et en d pla ant la ligne jaune on peut observer les valeurs chaque instant de la simulation V rifiez les changements d tat qui doivent correspondre notre MSA cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA
145. ts ig_in ckin Figure 11 La bo te de dialogue Create 1 0 Markers Construisez le circuit du module anti rebond Les composants disponibles dans les librairies du Spartan 6 et les autres librairies de projets peuvent tre ajout s au sch ma gr ce au Symbols Browser Pour ajouter les composants du circuit d anti rebond 1 S lectionnez Add gt Symbol ou cliquez sur l ic ne Add symbol de la barre d outils ou activez l onglet Symbols au lieu de Design le pla T Figure 12 Ic ne Add Symbol de la barre d outils cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille 3 1 Didacticiel initiation l environnement de conception FPGA Version 2 1 Automne 2012 L diteur de symbole s ouvre gauche de l espace de travail sous Categories pr sentant les librairies de symboles et les composants qu elles contiennent Vous devez tout d abord placer trois bascules D 1 S lectionnez l item Flip_Flop de la liste Categories S lectionnez ensuite de type le bascule fd dans la liste Symbols 3 Revenez ensuite dans l espace de travail avec la souris Remarquez que le curseur repr sente le composant placer 4 Alignez le fil de l tiquette sig_in avec la broche sup rieure gauche de la bascule D et cliquez avec le bouton gauche de la souris pour placer le composant Note Pour obtenir une description d taill e d un
146. tte balise seront reconnus comme des registres par les outils de synth se et d impl mentation FPGA cole Polytechnique de Montr al Universit de Lille ELE3311 Syst mes logiques programmables Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Le code VHDL du module top level est maintenant compl t R visez votre fichier top level au besoin pour viter de provoquer des erreurs de syntaxe lors de la compilation 5 Cliquez sur File gt Save 6 S lectionnez l item didact_top dans l onglet Design gauche du Navigateur de projet de l arborescence du projet dans l espace Hierarchy 7 Dans l espace Processes sous Hierarchy d ployez l item Synthesize XST 8 Cliquez avec le bouton de droite sur Check syntax et s lectionnez ReRun dans le menu d roulant 9 Corriger les erreurs de syntaxe affich es dans la Console s il y a lieu Fermez le fichier VHDL top level Vous avez compl t la conception du d tecteur de s quence avec l approche par langage HDL Pour poursuivre avec les tapes subs quentes de l approche de conception par langage HDL e Allez au chapitre Simulation fonctionnelle avec ISim pour effectuer une simulation pr synth se du syst me e Ouallez au chapitre Impl mentation du projet pour effectuer le placement routage du projet cole Polytechnique de Montr al Universit de Lille ELE3311 Syst
147. u projet est conforme avant de le r aliser physiquement La simulation avec timings utilise les informations sur les d lais dans les blocs FPGA et dans le routage afin de reproduire le comportement r el du projet avec grande pr cision La simulation avec timing utilise l information d taill e sur le placement amp routage g n r e lors l tape d impl mentation du projet Une fois appel par ISE ISim int grera l information sur les timings et prendra en charge la simulation et la pr sentation des r sultats Note Nous assumons cette tape que vous avez compl t e l tape pr alable d impl mentation du projet d taill e pr c demment dans ce didacticiel tapes de configurations pr alables Tout d abord assurez vous d avoir effectu toutes les tapes de configuration pr alables d crites dans la section Simulation fonctionnelle Ensuite assurez vous d avoir cr un testbench et de l avoir int gr au projet comme montr dans l tape Cr ation d un Testhbench de cette m me section Simulation avec timing dans ISim Vous allez lancer la simulation du testbench avec timing dans ISim partir du Navigateur ISE Configurez tout d abord la simulation en effectuant les tapes suivantes 1 S lectionnez l onglet Design dans l espace Hierarchy situ dans la partie sup rieure gauche du Navigateur de Projet 2 S lectionnez l item Post Route dans la liste juste au dessous de View 3 S lectio
148. utomne 2012 Programmez le FPGA en mode JTAG Configuration de la carte sans Adept Chargement du design sur le FPGA sous Linux soit en ligne de commande e V rifiez que votre carte FPGA soit branch e et allum e e Ouvrez un terminal seulement 2 commandes sont utiles e La commande djtgcfg enum cette commande permet de lister toutes les cartes connect es l ordinateur e La commande djtgcfg d Nexys3 prog i 0 f toplevel bit o Nexys3 nom de la carte o toplevel bit bitstream Vous allez utiliser le logiciel ADEPT pour programmer le FPGA en mode JTAG avec le fichier BIT g n r l tape pr c dente Connectez le c ble USB entre votre poste de travail et la prise USB de la carte Nexys3 puis mettez la carte Nexys3 sous tension l aide du commutateur SWP voir la Figure 2 pour situer ce commutateur Si la carte n est pas allum e il faut changer le Jumper JP1 afin d utiliser USB comme source d alimentation Demandez conseil Note En mode de programmation JTAG il est n cessaire de reprogrammer la carte chaque remise sous tension car le programme du FPGA est recopi dans de la m moire volatile Proc dez comme suit pour programmer le FPGA Lance le logiciel ADEPT vous obtenez la Erreur Source du renvoi introuvable suffit de retrouver le fichier didact_top bit dans votre espace de travail et ensuite cliquez sur Program cole Polytechnique de Montr al Universit de
149. z lt div2khz temp horloge 2 kHz end if end process end Behavioral cole Polytechnique de Montr al ELE3311 Syst mes logiques programmables Universit de Lille Formation en Informatique de Lille Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 124 Annexe 2 Table de d entr es sorties et d tats futurs de la rom_msa Contenu des espaces m moires Adresses de la ROM tats pr sents tats futurs Sortie Entr es Nom Q1 Q0 Q2 Q2 Q1 Qo b1 bO GS d tat Universit de Lille1 Formation en Informatique de Lille le Polytechnique de Montr al ELE3311 Syst mes logiques programmables Eco 2 125 Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 1 1 0 1 0 1 0 0 1 1 0 1 0 0 0 1 0 0 1 1 1 0 0 0 0 f 1 0 1 0 0 0 1 0 1 1 1 0 1 0 0 1 1 0 1 1 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 1 1 o 1 1 0 0 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 1 1 cole Polytechnique de Montr al Universit de Lille1 ELE3311 Syst mes logiques programmables Formation en Informatique de Lille DE Didacticiel d initiation l environnement de conception FPGA Version 2 1 Automne 2012 Annexe 3 Fichier d initialisation du module rom_msa MEMORY INITIALIZATION RADIX 2 MEMORY _INITIALIZATION
Download Pdf Manuals
Related Search
Related Contents
Hx600 - QTC 基準概要 - エコマーク L`Aide au maintien dans l`emploi des personnes Stairville LED Bar Descargar Franklin SA-309 User's Manual 取扱説明書 - フジ医療器 INSTRUCTION MANUAL LCD Professional Digital Microscope Product Update Copyright © All rights reserved.
Failed to retrieve file