Télécharger ce tutoriel en pdf
Introduction à la Synthèse RTL
Introduction
Dans le tutoriel 4 (Projet RTL basique) nous avons créé un nouveau projet RTL avec Vivado et nous avons valide son comportement en simulation avec le simulateur de Vivado (XSIM) dans le tutoriel 5 (Simulation comportementale avec Vivado Simulator). Dans ce tutoriel, nous allons synthétiser ce projet pour comprendre l’étape de synthèse d’un projet FPGA.
Qu’est-ce que la synthèse?
D’après le Glossaire Xilinx (http://www.xilinx.com/company/terms.htm#S), la synthèse est “un processus qui à partir d’un langage niveau d’abstraction haut (typiquement Verilog ou VHDL) crée automatiquement un niveau d’abstraction logique bas niveau en utilisant une librairie contenant des primitives”. Pour simplifier, la synthèse est un processus qui essaie de réaliser le comportement décrit dans un fichier source (Verilog, VHDL…) en utilisant des éléments des FPGAs. Il convertit votre code RTL en éléments FPGA.
Synthétiser le design
Ouvrir le projet et synthétiser le design en cliquant sur “Run Synthesis” dans le “Flow Navigator”.
Figure 1 - Run Synthesis
Quand la synthèse est terminée, une fenêtre “Synthesis Completed” doit apparaitre. Sélectionner “Open Synthesized Design” et cliquer sur “OK”.
Figure 2 – Fenêtre Synthesis Completed
Dans le “Flow Navigator”, cliquer sur “Schematic” sous “Synthesized Design” pour ouvrir le schématique du design synthétisé.
Figure 3 – Ouvrir le schématique du design synthétisé
Cela va ouvrir une fenêtre avec le schématique du design synthétisé. Dans ce tutoriel, nous ne discuterons pas des éléments IBUF et OBUF.
Figure 4 - Schématique du design synthétisé
Dans ce schématique, on peut voir que nous portes ET et OU ont été remplacées par un élément LUT4 (LUT pour Look Up Table en anglais ou table de référence en français)car les FPGAs n’ont pas de portes ET ou OU. C’est pourquoi elles sont remplacées par des LUTs, qui sont les éléments basiques des FPGAs ( c.f. Cours : Introduction aux FPGAs ). Si on sélectionne la LUT4 dans le schématique, on peut voir sa “Truth Table” (ou Table de vérité en français) dans la fenêtre “Cell Properties”.
Figure 5 – Table de vérité de la LUT
Dans cette “Truth Table” on peut voir que la sortie O est à l’état haut dans 3 cas. Les entrées A, B, C et D étant connectées respectivement aux ports to I3, I2, I0 et I1 de la LUT, la sortie O est à l’état haut lorsque:
· A, B et C sont à ‘1’ et D à ‘0’
· A, B et D sont à ‘1’ et C à ‘0’
· A, B, C et D sont à ‘1’
C’est le résultat que nous attendions.
Dans la fenêtre “Cell Properties” on peut également voir l’équation de la table de vérité:
· O = I0 & I2 & I3 + I1 & I2 & I3
· Donc O = C & B & A + D & B & A avec les noms de nos entrées ce qui correspond au développement de notre équation d’origine ((A & B) & (C + D))
Poster un commentaire
Seuls les utilisateurs connectés peuvent poster des commentaires