show menu

Télécharger ce tutoriel en pdf

Introduction à la Synthèse RTL

Posté par Florent - 08 septembre 2016

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”.

Xilinx Vivado - Lancer la synthese

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”.

Xilinx Vivado - Fenêtre Synthesis Completed

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é.

Xilinx Vivado - 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.

Xilinx Vivado - Schématique du design synthétisé

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”.

Xilinx Vivado - Table de vérité de la LUT

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