• Aucun résultat trouvé

3.4 AAA pour les ir uits re ongurables : SynDEx-IC

3.4.3 Modèle d'implantation : graphe de voisinage

Chaquefrontièredefa torisationestenrelationave uneouplusieursautresfrontières de fa torisation. En eet ha une des frontières de fa torisation onsomme des données produitespar d'autresfrontièresdefa torisationet/ouproduitdes donnéespourd'autres frontières de fa torisation. Ces relations de produ tion/ onsommation de données sont résumées dans un graphe reprenant les liaisons entre haque frontière de fa torisationet

Figure3.24  Unité de ontrle de frontière syn hronisée

ses voisins appelégraphedevoisinage.Chaquen÷udde egraphede voisinagereprésente une frontière de fa torisation et haque ar représente un transfert de données d'une frontière produ tri e vers une autre onsommatri e.

Chaque frontière de fa torisation sépare une zone interne "rapide" (répétée) d'une externe "lente". En eet, haque frontière de fa torisation est rythmée par une horloge diérente et es tés "lent" et "rapide" résultent de la fréquen e d'é hange de données au niveau des sommetsde fa torisation. Chaquefrontièrede fa torisationpeutaussi être onsommatri e (enaval)ou/etprodu tri e(enamant)par rapportàtouteautrefrontière voisine. Don haque sommetdu graphe de voisinagepeut être diviséen quatre régions : lent/amant,rapide/avale, rapide/amant etlent/aval.Ainsi haque sommetdu graphede voisinageest déni par un quadruplet modélisant es quatre régions.

Le graphe de voisinage est établi par transformation du graphe d'algorithme. Pour e faire, on ommen e par identier les dépendan es internes à haque frontière de fa - torisation. Ces dépendan es internes ont pour sour e et destinataire deux sommets de fa torisation d'unemême frontière. Ainsion rée les ar s du graphe de voisinage qui ont pour sour e et destination le même sommet. Puis pour haque frontière, on her he les dépendan es externes reliant un sommet de fa torisation de la frontière en question à un autre sommet de fa torisationd'une autre frontière. Ainsi on rée lesar s reliant les diérents sommetsdu graphe de voisinage.

Legraphe de voisinageétabli permettra d'identier les onnexions entre lesunités de ontrle orrespondantes auxdiérentesfrontièresdefa torisation[Kaouane etal., 2004℄.

3.4.4 Optimisation

Comme évoqué au début de la se tion 3.4, un FPGA peut exé uter un très grand nombre d'opérationsen paralléle. Cetteparallélisationpermetde réduirele tempsd'exé- utiondel'algorithme.Enrevan he, elané essitebeau oupderessour esdon induitune augmentationdunombrede blo slogiquesdu FPGAutilisé.And'expliquerlepro essus d'optimisation,nousallonsutiliserun exemplesimpled'algorithmene omprenantqu'une frontièredefa torisation.Puisnousallonsprésenterlesdiérentesimplantationspossibles pour un exemple simple. L'algorithme représenté par la gure 3.25 est omposé de deux opérations d'a quisition "A" et "B", un sommet de al ul "C" et un sommet a tuator "D".L'opération"C"est ontenue dansunefrontièredefa torisationquiserépètequatre fois. En eet on remarque que "A" et "B" produisent quatre données par exé ution et

Figure 3.25 Exemple de graphed'algorithme

"D" en onsomme aussi quatre. A partir de e graphe d'algorithme, plusieurs implanta- tions sont possibles allant de l'implantation totalement fa torisée (synthèse de bou le) à l'implantation totalement défa torisée en passant par des implantations partiellement fa torisées :

Figure3.26  Implantation omplètementséquentielle

1. La gure 3.26 représente le diagramme temporel d'utilisation du FPGA pour une implantation omplètementséquentielle. Dans ette implantationséquentielle, l'opération "C" a été transformée en un seul exemplaire de l'opérateur "C". Cet opérateurest utiliséquatrefoissu essives(séquentiellement)pourexé utertoutes lesitérationsde lafrontière de fa torisation.L'o upationde lasurfa e du FPGA est minimale.

Figure3.27  Implantationpartiellementfa torisée

2. Le digramme de la gure 3.27 orrespond à une implantation qui utilise deux exemplaires de l'opérateur "C". Cha un de es deux exemplaires de l'opérateur "C" est utilisé deux fois pour pouvoir exé utertoutes lesitérations de lafrontière

de répétition.Cetteimplantation onsomme plusde surfa e du FPGAmais réduit letemps d'exé ution de l'algorithme.

Figure3.28  Implantation omplètement parallèle

3. Le dernier diagramme de la gure 3.28 orrespond à l'utilisationde quatre exem- plaires de l'opérateur "C". Cette dernière implantation est omplètement paral- lèle : il sut d'utiliser haque opérateur "C" une fois pour exé uter toutes les itérationsde lafrontièrede répétition.Cetteimplantationparallèleutiliseunesur- fa e maximale du FPGA mais permet d'obtenir le temps minimald'exé ution de l'algorithme.

Don l'optimisation de l'implémentationd'un algorithme sur un FPGA re- vientà trouver une implémentation quisatisfait la ontrainte temporelle tout en minimisant le nombre de blo s logiques utilisés.

L'optimisationque faitla méthodologie AAA pour les ir uits re ongurables résulte de la défa torisation des frontières de fa torisation (déroulage de bou les) que ontient l'algorithme. Laquestion qui se pose 'est :quelle frontière donne lemeilleur ompromis a élération/sur oût en surfa e lorsqu'elle est défa torisée et pour haque frontière de fa torisation hoisie, quel est le fa teur de défa torisation optimal? Vu le grand nombre d'implémentationsàexplorer, ilserait impossibled'explorertoutes lessolutionspour des asplus omplexes, 'estunproblèmeNPdi ile.L'utilisationd'uneheuristiques'impose pour réduirele temps de ette explorationdes solutions possibles.

Une heuristique gloutonne et une autre heuristique de re uit simulé, ont été testées [Kaouane et al.,2004℄. L'heuristique de re uit simulé donne de meilleurs résultats mais requière plusieurs heures de al ul. Dans l'extension de AAA que nous présentons dans ette thèse, nous verrons qu'une heuristique plus rapide est né essaire, nous utiliserons don l'heuristiquegloutonne quine prendquequelques se ondes ouminutespourdes as omplexes.Cetteheuristiquevadéfa torisersu essivement ertainesfrontièresetmesurer l'impa tàl'aidedelafon tionde oûtdonnéparl'équation3.10.Dans etteéquation,

∆S

représente l'augmentation du nombre de blo slogiques utilisés suite à la défa torisation de la frontière de fa torisation. Le dénominateur

T − max(T

, Ct)

orrespond au gain temporel réalisé ave

T

,

T

et

Ct

sont respe tivement la laten e de l'algorithme avant défa torisation, salaten e après défa torisationet la ontraintetemporelle imposée.

f =

∆S

T − max(T′, C

t)

(3.10) Pour optimiser l'implémentation d'un algorithme, on utilise l'algorithme 2. Il om- men e par initialiser la liste de l'heuristique en y mettant les frontières de fa torisation

se situant sur le hemin ritique (ligne 2 de l'algorithme 2). Puis on asso ie à ha une des frontières de fa torisationde la listeson fa teur de défa torisation optimal quiest le minimum entre le plus grand fa teur de défa torisation entrainant une diminution de la laten e de l'algorithme et le plus petit permettant de satisfaire la ontrainte temporelle imposée. Puis on al ule la fon tion oût pour haque ouple (frontière de fa torisation, fa teur de défa torisation) et on en hoisit elui qui minimise ette fon tion. On réitère es étapesjusqu'àavoirunelaten einférieureouégaleàla ontraintetemporelleimposée. Si ette ontrainte temporelle ne peut pas être satisfaite, l'algorithme s'arrête lorsqu'on a le même résultatpour deux itérationssu essives. Dans e as, l'implémentation obte- nue est omplètement défa torisée. C'est l'implémentationqui se rappro he le plus de la ontraintetemps imposée.

Algorithm 2 HeuristiqueAAA pour les omposantsre ongurables Require: Graphed'algorithme

GAL

Ensure: Graphed'implémentationoptimisé 1: while (

T > Ct

) ET (

T1

6= T

) do

2:

T1

= T

3:

L = {F F ∈ (GAL∩ CR)}

4: for all

F F ∈ L

do

5: asso ier à

F F

un fa teur de défa torisation optimal

k

6: endfor

7: Défa toriser

F F

qui minimise

f

de son fa teur de défa torisationoptimal

k

8: end while

Documents relatifs