X
j=1k
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
minest 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
maxpour
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
Atest le nombre maximal de cellules logiques par ´etape, et correspond donc `a la surface
minimale suffisante en cellules logiques.T
0maxcorrespond au temps d’ex´ecution maximal
d´esignant l’op´erateur le plus lent, et k
mla 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
mind’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
minpermet 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
Dans le document
Optimisation par synthèse architecturale des méthodes de partitionnement temporel pour les circuits reconfigurables
(Page 56-60)