La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Le temps de routage pour FPGA : importance, réduction par réplication E. Fabiani Projet COSI Séminaire COSI 01.

Présentations similaires


Présentation au sujet: "Le temps de routage pour FPGA : importance, réduction par réplication E. Fabiani Projet COSI Séminaire COSI 01."— Transcription de la présentation:

1 Le temps de routage pour FPGA : importance, réduction par réplication E. Fabiani Projet COSI Séminaire COSI 01

2 E. Fabiani2 Plan zContexte zExpérimentations de placement structurel zLa réplication du routage zExemple pour Xilinx Virtex zConclusion

3 E. Fabiani3 Contexte Limplémentation de réseaux réguliers sur circuits reconfigurables Méthode choisie : Placement structurel pour réduction du temps de placement routage et amélioration de la fréquence d horloge

4 E. Fabiani4 Contexte Génération des formes de processeurs FRAP : Fpga Regular Array Placer Placement du réseau en serpentin Placement interne des processeurs description structurelle avec placement bibliothèque d'opérateurs technologie du FPGA ciblé description structurelle sans placement

5 E. Fabiani5 Expérimentations Expérimentations sur circuits FPGAs Xilinx XC40250 et XCV800 2 types de FPGAs Xilinx : XC40250 : famille 4000XV, 92x92 CLBs (16928 LUTs) XCV800 : famille Virtex, 56x84 CLBs (18816 LUTs) Réseaux réguliers: convolution unidirectionnelle avec multiplieur constant (4, 8, 16 bits) samba (comparaison de séquences ADN) algorithme k-means pour images hyperspectrales Mesures : placement/routage avec ou sans contraintes de placement temps de placement temps de routage temps total fréquence d horloge

6 E. Fabiani6 Expérimentations Gains en temps de placement Gains en fréquence dhorloge

7 E. Fabiani7 Expérimentations Gains en temps de routage Gains en temps de placement/routage

8 E. Fabiani8 Expérimentations Expérimentations avec contraintes de délai critique sur Virtex 800 Gains en temps de placement/routage Gains en fréquence dhorloge

9 E. Fabiani9 Expérimentations Evolution des outils : le temps de placement/routage est devenu un argument de vente Meilleur compromis des outils entre temps de placement/routage et fréquence Exemple : avec contraintes de délai : + 50% pour la fréquence, + 300% pour le temps de placement/routage Temps de routage pas diminué systématiquement, voire plus long FRAP : nombre maximal de processeurs, unidirectionnel : congestion ? Autres raisons ? Amélioration de la fréquence d horloge mais diminution limitée du temps de placement/routage Pourquoi? Soient Tp1 et Tr1 : temps de placement et routage sans contraintes Tp2 et Tr2 : temps de placement et routage avec contraintes gain de temps g = (Tp1+Tr1)/(Tp2+Tr2) Si on suppose : Tp1 >>> Tp2 et Tr1<= Tr2 alors g <= 1 + Tp1/Tr1 Observations Quantifier le ratio Tp1/Tr1

10 E. Fabiani10 Expérimentations L importance du temps de routage limite le gain de temps potentiel cela semble s accentuer avec l évolution technologique 2 solutions : faire un placement tenant compte de la congestion répliquer le routage quand cest possible conv4 conv8conv16sambakmean Ratio temps de placement/ temps de routage

11 E. Fabiani11 Réplication de routage... 1.Trouver un routage intra-processeur et le répliquer 2.Trouver un routage inter-processeurs et le répliquer Principe outils pour la réplication architecture du FPGA routage sans conflits Limitations :

12 E. Fabiani12 Réplication de routage Limitations : architecture du FPGA L Architecture de routage doit être régulière = mêmes ressources de routage accessibles en tout point du FPGA Architecture de routage

13 E. Fabiani13 Réplication de routage Limitations : architecture du FPGA contre-exemple

14 E. Fabiani14 Réplication de routage Granularité des blocs logiques reconfigurables Limitations : architecture du FPGA Perte de surface

15 E. Fabiani15 Réplication de routage Limitations : conflits de routage Il y a conflit si : un routage sort du périmètre des BLs utilisés cette ressource de routage est utilisée par le PE voisin Solutions : considérer le périmètre de routage comme périmètre du processeur empêcher tout routage en dehors d un périmètre pré-défini (cf thèse R. Tessier) autoriser le routage en dehors du périmètre, en contrôlant l absence de conflit

16 E. Fabiani16 Exemple pour Virtex Architecture : routage OK sauf lignes transversales (long lines) granularité : 1 BL = 2x2 (Lut + registre) Conflits de routage : pas de possibilité de contraindre le routage dans une zone (contrairement au placement) => prendre le périmètre de routage comme limite Outil de réplication de routage : pas de moyen technique direct => pistes : avec fpga_editor avec XDL (Xilinx Design Language) avec JBits.vhd.edf.ncd.bit placement/routage bitgen.xdl JBits fpga_editor

17 E. Fabiani17 Exemple pour Virtex définition de modules pré-routés par fpga_editor placement/routage Un module (avec entrées/sorties) défini en VHDL.edf.ncd.xdl Extraction d'informations : nom des nets et blocs d'E/S périmètre du module nom et placement des ports d'E/S fichier VHDL pour encapsuler le module script pour fpga_editor module pré-placé et pré-routé (.nmc) fpga_editor Instanciation du module dans fichier VHDL

18 E. Fabiani18 Exemple pour Virtex Exemple : conv16 sur Virtex Description.ncdDescription.nmc Elimination des nets dE/S Elimination des blocs dE/S Définition des ports externes Définition du BL de référence Problème : PAR n arrive pas à router les modules dans certaines zones du FPGA

19 E. Fabiani19 Exemple pour Virtex XDL : Xilinx design langage Méthode : sauvegarder le module au format XDL et construire un fichier XDL avec le routage répliqué Problème : passage de xdl a ncd avec routage : plus long que placement/routage ! Exemple : net "Ytrans ", cfg "_MACRO::hset", outpin "Ytrans " XQ, inpin "Ytrans " F2, pip R12C39 S1_XQ -> OUT1, pip R12C39 OUT1 -> W5, pip R12C38 E5 == W5, pip R12C37 E5 -> E_P5, pip R12C37 E_P5 -> S1_F_B2, inst "Xinby119p01 " "SLICE", placed R81C6 CLB_R81C6.S0, module "hset" "hset" "Xinby119p01 ", cfg "YUSED::0 XUSED::0 GYMUX::G FXMUX::F _MACRO:hset:-1 ; Description d une configuration sous forme textuelle

20 E. Fabiani20 Exemple pour Virtex JBits Classes Java pour la lecture et lécriture directe de bitstream Exemple : … private static final int[] INVERTER1 = Util.InvertIntArray(Expr.F_LUT(« ~F1 »)); … Bitstream.set(row,col, LUT.SLICE0_F, INVERTER1); Bitstream.set(row,col, S0Control.X.X, S0Contol.X.FOUT); … Bitstream.set(row,col, OUT4.OUT4, OUT4.S0_XQ); Bitstream.set(row,col, HexNorth2.HexNorth2, HexNorth2.OUT4); Bitstream.set(row,col, HexNorth2.OUTPUT, HexNorth2.ON); Bitstream.set(row+6,col, HexSouth2.OUTPUT, HexSouth2.OFF); Bitstream.set(row+6,col, BiHexToSingle.SINGLE_EAST12_TO_HEX_SOUTH2, BiHexToSingle.ON); Bitstream.set(row+6,col, S0F1.SF1, S0F1.SINGLE_EAST12);

21 E. Fabiani21 Exemple pour Virtex Un module (avec entrées/sorties) défini en VHDL.edf.ncd placement/routage.xdl Extraction d'informations : nom des nets et blocs d'E/S périmètre du module nom et placement des ports d'E/S script pour fpga_editor interface du module. ncd (modifié) fpga_editor corps du module.bit JBits Core JBits instanciable Méthode : extraction de module placé/routé à partir du bistream

22 E. Fabiani22 Exemple pour Virtex Routage inter-processeurs 2 possibilités : Méthode similaire au routage interne : faire une description de 2 processeurs de routage identique, isoler le routage inter-proceseurs et le sauvegarder sous forme JBits Utiliser JRoute pour router les connexions entre 2 macros(processeurs) et répliquer le routage trouvé

23 E. Fabiani23 zLa phase de routage ne peut plus être négligée zLa réplication de routage est techniquement faisable, résultats à expérimenter zMéthode pour extraire un module pré-placé et pré-routé de n importe quelle configuration (.ncd) zNotion de module pré-routé également utile pour : ybibliothèque de modules pré-routés pour réduire temps de routage et avoir estimation de performance plus précise. yreconfiguration partielle : insertion de modules pré-routés sans risque de conflit de routage zPerspectives : connexion aux outils de L. Lagadec, routeur confiné. Conclusion


Télécharger ppt "Le temps de routage pour FPGA : importance, réduction par réplication E. Fabiani Projet COSI Séminaire COSI 01."

Présentations similaires


Annonces Google