wiki:XilinxISE

Xilinx ISE Foundation

Xilinx

Disposant d’un FPGA de Xilinx, le NetFPGA nous propose de travailler avec les outils de conception fournis par Xilinx (Xilinx ISE Version: 10.1 SP3).

Xilinx ISE (Integrated Software Environment) est un outil qui permet de contrôler tout aspect du flux de conception. Au travers du navigateur du projet on peut accéder aux designs et aux outils de conception ainsi qu’à tous les documents et fichiers associés au projet. Xilinx ISE nous permet ainsi de commencer par la conception de l’architecture le « HDL Design Flow », une fois bien défini il nous permet de le simuler, de l’exécuter, de réaliser des simulations adaptées temporellement et de le configurer et l’intégrer sur le FPGA.

Les étapes proposées par ISE :

à ISE Design Entry Flow

  • « ISE primary user interface », permet d’accéder à tout élément nécessaire et agit comme navigateur
  • « HDL-based design », conception basée sur HDL, éditeur de texte, création de noyau
  • « Schematic-Based Design », conception de flow à base de schémas

à ISE Simulation Flow (Modelsim), ISE Implementation Flow

  • « Behavioral Simulation », simulation des designs, vérification de la logique
  • « Design Implementation », traduction, mapping, routage et génération du Bit file
  • « Timing Simulation », simulation temporisée, analyse des pires des cas

ModelSim – Advanced Simulation and Debugging

ModelSim, développé par Mentor Graphics, est un environnement de simulation pour des circuits, ou de HDL (Hardware Description Language). Il propose un environnement de simulation avec des possibilités de débogage pour Verilog, VHDL et SystemC et est ainsi un choix possible en tant que simulateur pour des ASICs et FPGAs. Les circuits peuvent être analysés grâce à des modèles numériques ainsi que analogiques et des courbes de simulation. ModelSim permet une simulation synchrone et exacte en termes de temps, des éléments logiques, tant que du calcul et l’affichage des valeurs analogiques.

Exemple de processus de simulation d’une description VHDL

Afin de fournir un format compréhensible au simulateur, un compilateur VHDL transforme la description VHDL dans un format binaire en vérifiant en même temps que la syntaxe est correcte. Le compilateur cherche les bibliothèques nécessaires et y place les données simulées. Ces données sont chargées par ModelSim et la simulation est lancée après avoir défini les signaux concernés. Les résultats de la simulation sont enregistrés dans un ficher wave. La simulation peut être lancée pas à pas, avec ou sans une limitation temporelle. Pour la simulation pas à pas, avec chaque pas, une seule ligne du code source est exécutée. Après avoir arrêté la simulation avec un Break-Point, manuellement ou après le temps de simulation défini, les signaux et variables choisis vont être représentés graphiquement dans la fenêtre « wave ». La version que nous allons utiliser est la version SE 6.2G, qui correspond à la version haute performance avec des capacités de débogage de blocs plus larges.

Chipscope

Chipscope est un utilitaire qui fait partie de la suite Xilinx SE [XIL09]. Il sert à ajouter à un système modélisé sur Xilinx la logique nécessaire pour analyser les signaux qui passent sur n'importe quel bus interne du système. La logique ainsi générée en surplus est optimisée pour utiliser le moins de performances et de connexions possibles. Une fois le système ainsi généré transféré sur le FPGA, Chipscope permet d'analyser certains signaux choisis pendant un temps donnée. Il affiche alors des graphiques montrant la valeur des signaux binaires surveillés en fonction du temps. Il est ensuite possible de manipuler ces signaux binaires (par exemple en les regroupant pour former un bus [LAS04]). Cet outil ne sera utile qu'une fois que nous aurons un modèle synthétisable. Il ne fonctionne en effet pas à partir d'une simulation mais à partir d'une exécution réelle sur le FPGA. Il permet de trouver d'éventuels bugs une fois le système implémenté, et de les comprendre pour pouvoir les corriger, avec une vue interne du fonctionnement. Chipscope fonctionne cependant normalement avec le FPGA connecté par JTAG à l'ordinateur. Il faudra donc probablement l'adapter si nous voulons le faire communiquer avec notre NetFPGA connecté par un port PCI. Mais d'autres ont déjà utilisé Chipscope avec un NetFPGA.

Sources

 Guide d'utilisation de ISE avec le NetFPGA.

[XIL-ISE]Xilinx ISE 11. [En ligne]  http://www.xilinx.com/support/documentation/sw_manuals/xilinx11/ise11tut.pdf (consulté le 30 novembre 2009).
[MSa]ModelSim. [En ligne]  http://www.model.com/content/modelsim-se-high-performance-simulation-and-debug (consulté le 1 décembre 2009).
[MSb]ModelSim. [En ligne]  http://www.mikrocontroller.net/articles/ModelSim (consulté le 1 décembre 2009).
[LAS04]Anselmo Lastra. Chipscope Tutorial. [En ligne]  http://www.cs.unc.edu/~lastra/comp190/Notes/13_Chipscope.pdf (consulté le 1 décembre 2009), Février 2004
[XIL09]Xilinx, ChipScope Pro and the Serial I/O Toolkit. [En ligne]  http://www.xilinx.com/tools/cspro.htm (consulté le 1er décembre 2009). 2009