1 Synthèse logique de design avec l’environnement XILINX ISE Partie I : créatio
1 Synthèse logique de design avec l’environnement XILINX ISE Partie I : création d’un projet pour FPGA Xilinx Lancer modelsim ISE Avant de créer un nouveau projet, vérifier la validité de la licence 2 Indiquer le serveur de licence puis cliquer sur set Créer un nouveau projet : La date d’expiration de la licence est affichée en vert si encore valide Licence 2100@tse-win2008.univ-st-etienne.Fr 3 4 Dans cette fenêtre, vous devez spécifier : la famille de FPGA (Family) le type de FPGA (Device) l’outil de synthèse l’outil de simulation le langage de description Cliquer sur Next et vérifier la configuration de votre projet sur la fenêtre suivante : 5 Une fois le projet crée, créer un fichier VHD en créant ou ajoutant une source : Pour ajouter un fichier source, créer un VHDL Module : 6 Cliquer sur next pour ignorer la configuration des E/S Votre fichier est créé, vous pouvez insérer votre code pour pouvoir effectuer les synthèses : Cliquer sur l’entité top de votre design, la fenêtre en dessous va indiquer les différentes étapes pour générer le fichier de configuration (*.bit) Dans cette partie, seule l’étape de synthèse est à réaliser. Pour ce faire, cliquer droit sur l’étape de synthèse et lancer la synthèse : 7 La synthèse est réussie si un logo vert apparait : Vous pouvez ouvrir le rapport de synthèse (clic droit) : 8 Ce fichier contient le rapport de synthèse (ressources et timing qui vont être étudiés par la suite) : Pour l’étude de synthèse, les fichiers sources à récupérer sont disponibles sur Mootse (copier le contenu du fichier txt dans le fichier vhd) : Partie II : analyse des performances d’un design sur FPGA après synthèse On souhaite synthétiser un additionneur n_bits réalisés sous deux formes. Sources_add_n_components.txt contient tous les composants à instancier dans l’entité top. Add_n_2_versions.txt contient l’entité top et les deux architectures associées. (prendre le code dans le fichier source dans additionneur_1 et le copier dans le module VHDL). La synthèse ne permet pas de synthétiser deux architectures, on mettra une architecture en commentaires (clic droit sur le code et Comment). Indiquer l’outil de synthèse utilisé dans l’environnement ISE. 9 Vérifier que l’entité top est celle souhaitée (add_n-arch_add_n V1 ou V2) Pour les deux architectures : Faire varier le paramètre spécifié dans le package (taille_donnée) et relever les résultats de timing (chemin combinatoire et fréquence) ainsi que les ressources obtenues en synthèse et placement routage. Relever les ressources de chaque IP en visualisant le rapport de synthèse (aller sur view text report) Taille_donnée =5 , 15, 100 et 200 Comment est définie la période de l’horloge ? Comment varie l’horloge sur les deux architectures ? expliquer Les ressources à analyser 10 Les performances temporelles à analyser sont dans le même rapport de synthèse : Vous pouvez analyser le code de l’entité top ou alors ouvrir le schéma RTL généré afin d’expliquer la différence entre les deux architectures : Ressources utilisées sur FPGA Répartition des ressources utilisées 11 Partie III : analyse des options de synthèse Indiquer l’outil de synthèse utilisé et relevez les options de synthèse pour additionneur 1 avec taille_donne =20 et 40 Double cliquer sur le composant pour voir la structure interne 12 Pour une valeur n = 150, et l’architecture 2 de l’additionneur, relevez les résultats de timing et de ressources en considérant les différentes options de synthèse disponibles par l’outil. On considérera les temps de synthèse noté dans les rapports. Quelles optimisations sont possibles ? Les options de synthèses sont disponibles comme suit : Partie IV : utilisation d’un fichier de contraintes Un fichier de contrainte permet : - De spécifier une fréquence pour la synthèse et le placement routage. - De spécifier les entrées sorties sous forme de fichier texte, pour affecter les bons IO (Input Output) sur les signaux globaux de l’entité top. - De forcer le placement des ressources sur des régions particulières du FPGA. On crée un nouveau fichier source (fichier de contrainte) 13 Pour une taille de donnée N=20 Insérer un fichier de contrainte associé à la carte (description du fichier de contrainte disponible sur internet, site Xilinx). Deux types de contraintes sont considérés : 1. Contrainte de timing : spécifier une fréquence d’horloge de 500 MHz. Lancer la synthèse puis Implement Design. https://www.xilinx.com/itp/xilinx10/help/platform_studio/ps_c_hdw_specifying_timing_con straints_in_ucf_file.htm 2. Dans le rapport d’implantation, visualiser les performances dans la partie Timing Constrainsts : un warning apparaitra en indiquant que l’outil ne permet pas de générer une architecture avec la fréquence associée. Fichier de contraintes du projet 14 3. Changer la fréquence et mettre une fréquence légèrement supérieure à la fréquence maximale. Relever le rapport post place and route afin de voir si cette nouvelle contrainte peut être considérée. Dans Relevez le warning mentionnant LOC. Quelle contrainte n’a pas été donnée ? Partie V : Implantation sur FPGA L’implantation est réalisée sur une plateforme d’évaluation ML506. 1. Indiquer quel FPGA est implanté sur la plateforme 2. Contrainte d’entrée/sortie : affecter les E/S sur le fichier de contraintes pour un additionneur de taille de donnée n=2. On ciblera le FPGA de la plateforme ML506 (le fichier de contrainte se trouve sur le site xilinx en fichier ucf). On enlèvera la contrainte de timing et on choisira la bonne horloge. https://forums.xilinx.com/t5/Virtex-Family-FPGAs/UCF-file-for-the-ML605/td-p/689564 3. Remplacer dans le fichier de contrainte les noms par les signaux d’entrée/sortie 4. Faire la synthèse et le placement routage et générer le fichier de programmation (bitstream) en utilisant l’outil impact. Partie VI : blocs DSP (sources dans source_2.txt) Réaliser la synthèse et relever les ressources obtenues Documents relatif à l’implantation sur FPGA 15 Remplacer le type integer par le sous type d’integer en limitant les valeurs de 0 à 65536 (INTEGER RANGE…), réaliser la synthèse et relever les résultats obtenus. En revenant au 1er cas : Réaliser la synthèse de l’additionneur en faisant varier la sélection du champ –use_DSP 48 (oui et non) et relever les ressources obtenues. Quels blocs DSP sont disponibles sur le circuit ? se référer à la documentation de la plateforme. Refaire les synthèses avec/sans DSP et avec le sous type integer range 0 to 32. Partie VII : codage de machines d’états (sources dans source_3.txt) Dans un nouveau projet, réaliser la synthèse et analyse le rapport de synthèse. Indiquer le type de codage utilisé pour coder le type énuméré de la machine d’état. Refaire la synthèse avec le type de codage one hot, relever le codage et les résultats de synthèse. 16 Partie VII : synthèse partielle d’un bloc Il est possible qu’on souhaite faire la synthèse partielle d’un bloc afin de dimensionner ses ressources. La synthèse partielle consiste à synthétiser séparément les blocs IP qui constitueront le système final. Il est effectivement possible de synthétiser et placer une partie de l’architecture finale avant l’intégration des autres blocs. Dans ce cas, les signaux déclarés dans le port ne sont plus des signaux externes mais sont des signaux internes Ces signaux ne doivent pas être connectés aux E/S du circuit ( blocs IO). Avec le projet de l’additionneur 1 (source1), faire la synthèse partielle en désactivant les blocs IO dans la fenêtre Xilinx Specific option (décocher –iobuf): 17 https://www.xilinx.com/products/design-tools/vivado/implementation/partial-reconfiguration.html Relevez les ressources sur le rapport de synthèse (les blocs d E/S doivent être à 0). Il est possible de forcer certains IP sur une zone particulière du FPGA. Le placement peut être fait manuellement sous forme graphique ou dans le fichier de contrainte. Le placement manuel permet de réserver des zones du FPGA à des fonctionnalités propres. Vue globale du FPGA Position du Slice dans le FPGA (identifiée par X et Y) 18 Déplacer les ressources sur de nouvelles slices et définir la zone de contrainte de l’IP. uploads/Ingenierie_Lourd/ analyse-design.pdf
Documents similaires










-
34
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Dec 19, 2022
- Catégorie Heavy Engineering/...
- Langue French
- Taille du fichier 1.0196MB