• Aucun résultat trouvé

Cette valeur C min permet d’´ evaluer la faisabilit´ e de l’implantation

X

j=1

k

j

·to

j

≤T −E· 1

V

c

·L

c

(2.9)

L

c

´etant le nombre total de cellules logiques disponibles sur le circuit.

La d´etermination du nombre minimal d’´etapes C

min

est obtenue en consid´erant deux

crit`eres. Premi`erement, avoir une reconfiguration maximale du circuit `a chaque nouvelle

´etape. Deuxi`emement, consid´erer le temps d’ex´ecution ´el´ementaire le plus longte

max

pour

chaque ´etape. `A partir de ces deux consid´erations, le nombre d’ex´ecutions/reconfigurations

minimal est d´eduit de la relation suivante :

C

min

= T

N ·k

m

·t

0max

+

V1 c

·L

At

T

N ·k

m

·t

0max

+

V1 c

·L

AG(V,E)

(2.10)

L

At

est le nombre maximal de cellules logiques par ´etape, et correspond donc `a la surface

minimale suffisante en cellules logiques.T

0max

correspond au temps d’ex´ecution maximal

d´esignant l’op´erateur le plus lent, et k

m

la valeur moyenne li´ee `a un taux d’occupation

constant pour chaque ´etape.L

AG(V,E)

est le nombre de cellules logiques correspondant `a la

surfaceA

G(V,E)

du graphe flot de donn´ees G(V, E).

Dans le cas d’une utilisation d’une technologie `a reconfiguration totale, le temps de

recon-figuration maximale correspond au temps de reconrecon-figuration globale du circuittrec

max

=

T RG. Le nombre minimalC

min

d’ex´ecutions/reconfigurations devient alors :

C

min

= T

N ·k

m

·t

0max

+T RG

T

N ·k

m

·t

0max

+

V1 c

·L

C

(2.11)

Cette valeurC

min

permet d’´evaluer la faisabilit´e de l’implantation.

– Dans la seconde phase, la surface optimale pour chaque partition est calcul´ee de la mani`ere

suivante :

S

c

= L

C (2.12)

O`u L correspond au nombre de cellules logiques de l’algorithme.C repr´esente le nombre

d’´etapes d’ex´ecutions/reconfigurations. Dans cette seconde phase, un partitionnement par

construction est r´ealis´e. Le graphe est `a nouveau parcouru en accumulant la taille des

noeuds travers´es, jusqu’`a s’approcher au plus pr`es de la surface optimaleS

c

. Cela

consti-tue alors la premi`ere partition dont les noeuds sont retir´es du graphe G. Ce proc´ed´e est

r´eit´er´e jusqu’`a obtention d’un graphe vide. Le processus de partitionnement est alors

ter-min´e. Si l’on constate l’existence d’un temps restant apr`es ce premier partitionnement,

un raffinement du nombre d’ex´ecutions/reconfigurations est appliqu´e pour arriver `a un

partitionnement plus pr´ecis. On entre alors dans la derni`ere phase.

– La derni`ere phase concerne l’affinement apr`es implantation. Si le temps de calcul est plus

grand que la contrainte de temps, le partitionnement est repris avec un nombre inf´erieur

de partitions. En revanche, si le temps de calcul est plus faible que la contrainte de temps

avec un ´ecart significatif, le partitionnement est repris avec un nombre de partitions plus

grand, entraˆınant alors une r´eduction de la surface optimale de calcul. Cette phase peut

s’effectuer de mani`ere heuristique.

2.2.2.5 Outils de partitionnement et d’exploration : D.A.G.A.R.D

Le laboratoireL.I.E.Nde Nancy a d´evelopp´e un outil prenant en compte l’aspect

reconfigu-ration dynamique des FPGAs et permettant de sp´ecifier les caract´eristiques d’une architecture

reconfigurable : SoC ou plateforme `a base de FPGA. L’objectif est de trouver la meilleure ad´

equa-tion entre une applicaequa-tion et son implantaequa-tion sur cette plateforme. Cet outil appel´e DAGARD

(D´ecoupageAutomatique deGraphes pourArchitecturesReconfigurableDynamiquement)

per-met de r´ealiser une exploration de d´ecoupage d’une application compl`ete repr´esent´ee sous forme

d’un graphe flot de donn´ees (GFD) en plusieurs sous applications successivement ex´ecut´ees sur

la surface logique vis´ee grˆace `a la RD.

Contrairement `a l’outil Design Trotter [Ma05] qui s’int`egre dans la conception conjointe

logicielle mat´erielle sur FPGA et qui permet l’exploration de l’espace de conception vers les

architectures reconfigurables en fournissant diff´erents types d’estimation (surface, temps d’ex´

e-cution, etc.) et d’information visant `a guider le concepteur de syst`emes embarqu´es h´et´erog`enes

[JPa06, Bos04, MAM03], DAGARD se limite uniquement `a l’exploration du choix d’un

parti-tionnement temporel selon diff´erents crit`eres.

La figure 4.5 repr´esente une vue globale de l’environnement DAGARD [Ba03, Bru04]. Le

fonctionnement de DAGARD repose sur la m´ethode de partitionnement initialement d´evelopp´ee

dans [Ta03] et pr´esent´ee§ 2.2.2.4.3. La figure 2.13 d´ecrit son flot de conception.

DAGARD est bas´e sur une librairie d’op´erateurs caract´eris´es qui d´epend de l’architecture

cible. Ces op´erateurs sont des op´erateurs bas niveau. Ils constituent les noeuds du graphe et

les d´ependances de donn´ees entre ces op´erateurs constituent les arcs du graphe. Il est ´

egale-ment possible de d´efinir des macro-op´erateurs d`es lors que l’on est capable de les caract´eriser

en terme de temps d’ex´ecution et de surface logique sur la cible technologique. L’outil permet

une recherche par exploration, des d´ecoupages optimaux d’une application de GFD r´eguliers ou

non r´eguliers (traitements pouvant varier en fonction des donn´ees ou des r´esultats pr´ec´edents)

en sous-applications de tailles aussi proches que possible. Il d´elivre un nombre de partitions n

Fig.2.13 – Flot de conception de l’Outil DAGARD [Bru04].

r´ealisable sous des contraintes. L’originalit´e de l’outil est qu’il pr´esente une vue d’ensemble de

toutes les possibilit´es de partitionnement. Du premier partitionnement qui correspond `a une

impl´ementation statique de l’algorithme (toutes les branches du graphe flot de donn´ees sont

in-cluses dans une partition unique) au dernier partitionnement possible qui est le plus dynamique

de tous (chaque branche du graphe flot de donn´ees peut correspondre alors `a une nouvelle

parti-tion). Afin d’identifier le partitionnement r´epondant au mieux `a ses besoins, DAGARD permet

une navigation `a travers les diff´erents partitionnements possibles. Nous obtenons ainsi les

ca-ract´eristiques de chacun des partitionnements possibles pour une application en reconfiguration

dynamique.

La figure 2.14 pr´esente un exemple de cartographies d’exploration de partitionnement g´

e-n´er´e par l’outil DAGARD. Les avantages et inconv´enients des diff´erentes possibilit´es sont rendus

visibles, permettant ainsi au concepteur d’orienter l’optimisation de son application suivant diff´

e-Fig. 2.14 – Vue graphique des possibilit´es de partitionnement [Bru04].

rents crit`eres retenus. Le concepteur peut alors d´efinir l’importance relative de chaque param`etre

en fonction de ses besoins. En permettant une comparaison entre ces derniers suivant diverses

caract´eristiques, l’outil DAGARD aide et acc´el`ere le choix du partitionnement afin de cr´eer les

reconfigurations successives de la surface logique du FPGA. Ces caract´eristiques sont : la

sur-face logique n´ecessaire `a l’implantation de l’application, la bande passante m´emoire n´ecessaire,

le temps d’ex´ecution maximum de l’application, le temps d’ex´ecution moyen de l’application

(prenant en compte les probabilit´es d’ex´ecution des branches), l’activit´e totale de la partition.

Dans ces conditions, un concepteur peut trouver la meilleure ad´equation entre l’architecture