• Aucun résultat trouvé

Une analyse comparative montre que les solutions optimales sont bas´ ees sur la r´ eutilisation des unit´es fonctionnelles en offrant un meilleur compromis entre le nombre de partitions,

(a) (b)

Fig. 2.20 – Illustration d’une caract´erisation de la m´ethode propos´ee dans [Car03].

La figure 2.20.b. illustre les ´etapes progressives de l’approche propos´ee dans le cas du

graphe flot de donn´ees repr´esent´e par la figure 2.20.a.

Plusieurs r´esultats d’optimisation sont pr´esent´es sur la figure 2.19 suivante selon le degr´e

de factorisation ou r´eutilisation des unit´es fonctionnelles. Les solutions 1 et 2 (lignes 2 et 3,

figure 2.19) sont consid´er´ees comme optimales par la r´eutilisation des unit´es fonctionnelles.

Avec la solution 1, un additionneur et un multiplieur sont r´eutilis´es. Dans ce cas, il n’y a

qu’une partition (#TPs = 1, figure 2.19) avec une latence de 4 cycles d’horloge. La solution

2 ne r´eutilise qu’un seul multiplieur. Dans ce cas, le GFD est coup´e en 3 partitions avec

une latence de 5 horloges. La solution 3 est une m´ethode classique ASAP. Ici, aucune

op´eration n’est r´eutilis´ee. Le nombre de partitions peut ˆetre 3 ou 4 avec des latences

correspondantes `a 5 ou 6. L’approche 4 est une solution sans partitionnement temporel.

Cette solution poss`ede une latence de 4 mais elle repr´esente la solution qui n´ecessite le

plus de ressources (8 cellules).

Une analyse comparative montre que les solutions optimales sont bas´ees sur la r´eutilisation

des unit´es fonctionnelles en offrant un meilleur compromis entre le nombre de partitions,

Chapitre 2. Approches M´ethodologiques d’Impl´ementation : ´Etat de l’Art et Analyse Comparative

Ordonnancement Priorité Allocation

ressource

Fig. 2.21 – Exemple d’un graphique de synth`ese [ZN00b].

la latence d’ex´ecution et les ressources. Cependant la m´ethode propos´ee dans [Car03] ne

justifie pas le nombre de partitions de d´epart n´ecessaires `a l’application de la m´ethode

propos´ee.

– Zhang [ZN00b] propose une approche par ordonnancement simultan´e de la synth`ese

ar-chitecturale et du partitionnement par exploration de l’espace de conception. L’objectif de

la m´ethode propos´ee est une optimisation des phases de reconfiguration lors d’une impl´

e-mentation dans un syst`eme reconfigurable dynamiquement. L’approche repose sur un

algo-rithme bas´e sur une repr´esentation graphique th´eorique de la probl´ematique d’impl´

ementa-tion combin´ee synth`ese architecturale - partitionnement temporel. `A partir d’une repr´

esen-tation de l’application `a mettre en œuvre sous forme d’un graphe flot de donn´ees/contrˆole

[KwNY98, XjZY97], un ensemble de configurations possiblesC ={C

1

, C

2

, ..., C

n

}caract´

e-risant les allocations des unit´es fonctionnellesF ={F

1

, F

2

, ..., F

m

}sp´ecifiant l’application

`

a impl´ementer [NZ00], une solution d’impl´ementation optimis´ee par synth`ese et

parti-tionnement est g´en´er´ee. L’´etape d’optimisation des unit´es partag´ees est r´ealis´ee dans le

but de minimiser le temps d’ex´ecution global du GFD tout en consid´erant une surface

to-tale du syst`eme reconfigurable dynamiquementA

total

et des temps d’ex´ecution des unit´es

fonctionnelles. Le choix du partitionnement temporel ordonnanc´e s’effectue en vue de

mi-nimiser les dur´ees allou´ees aux phases de reconfiguration du syst`eme pris en compte dans

la latence globale d’ex´ecution du graphe flot de donn´ees [NZ00]. L’approche fournit un

graphique temporel de synth`ese, sp´ecifiant l’allocation des unit´es fonctionnelles partag´ees

dans des partitions ordonn´ees au cours du temps. La figure 2.21 montre un exemple d’un

graphique de synth`ese identifiant les unit´es fonctionnelles partag´ees suivant un

partition-nement ordonn´e.

2.6 Discussion

La principale caract´eristique des approches combin´ees propos´ees dans la litt´erature est qu’elles

sont bas´ees sur analyse simultan´ee d’optimisation de la synth`ese architecturale et d’un

parti-tionnement temporel. L’avantage d’une telle strat´egie est que l’´etape d’optimisation par unit´es

fonctionnelles partag´ees est performante dans la mesure o`u elle s’effectue en consid´erant la

globalit´e du graphe flot de donn´ees d´ecrivant l’application `a impl´ementer. Cependant, une

stra-t´egie de r´eutilisation des unit´es fonctionnelles peut conduire `a une augmentation des ressources

globales par rapport `a l’utilisation d’unit´es fonctionnelles ind´ependamment. En effet, il peut

arriver que la mise en œuvre des ´el´ements logiques auxiliaires permettant un multiplexage dans

le temps des unit´es fonctionnelles soit p´enalisante d’une part en terme de ressources suppl´

emen-taires (contrainte de ressource), d’autre part en terme de performance. De plus, la complexit´e

du contrˆole introduite par la factorisation augmente de fa¸con importante la complexit´e de

re-cherche d’un partitionnement optimal par ajout de contraintes suppl´ementaires de d´ecoupage et

en complexifiant la r´epartition des unit´es fonctionnelles dans des partitions `a d´eterminer.

2.7 Conclusion

Nous avons pr´esent´e les diff´erentes approches m´ethodologiques que sont le partitionnement

temporel et la synth`ese architecturale pour optimiser l’Ad´equation Algorithme - Architecture

lors d’une impl´ementation d’une application sous contraintes de traitement ou de conception

(temps r´eel, surface logique, consommation, bande passante, etc.). Nous avons d´efini la

reconfi-guration dynamique comme le partitionnement temporel et la synth`ese architecturale comme une

factorisation d’unit´es fonctionnelles (unit´es fonctionnelles partag´ees). Nous montrons ´egalement

que la reconfiguration dynamique ne doit pas se substituer aux autres moyens d’optimisation

et principalement `a la synth`ese architecturale. Bien au contraire, il est montr´e que ces deux

approches sont compl´ementaires dans un objectif d’Ad´equation Algorithme - Architecture. En

effet, si la reconfiguration dynamique diminue les ressources n´ecessaires pour l’impl´ementation

d’une application (et donc un gain sur le coˆut du composant FPGA), elle entraˆıne une

augmen-tation du temps d’ex´ecution global de l’application en augmentant les phases de reconfiguration

et d’intercommunication entre les partitions. D’un autre cˆot´e, selon l’application vis´ee, le degr´e

de r´eutilisation d’unit´es fonctionnelles par une approche synth`ese architecturale peut aussi bien

r´eduire qu’augmenter les ressources d’impl´ementation sans pour autant diminuer la complexit´e

de la logique de contrˆole et de gestion suppl´ementaire. Le meilleur r´esultat demeure alors dans

un compromis entre les diff´erents apports de la reconfiguration dynamique et de la synth`ese

ar-chitecturale. Dans cet esprit, la litt´erature pr´esente des m´ethodes principalement bas´ees sur une

analyse simultan´ee de la synth`ese architecturale et de la reconfiguration dynamique au d´etriment

d’une complexit´e de mise en œuvre. Une nouvelle approche m´ethodologique consiste `a d´efinir un

partitionnement initial, ensuite d’´evaluer le degr´e d’optimisation possible par une synth`ese bas´ee

sur la r´eutilisation des unit´es fonctionnelles entre les partitions. Ainsi, le partitionnement qui en

d´ecoule ne n´ecessite pas un r´e-ordonnancement des unit´es fonctionnelles tout en limitant la r´

e-duction de performance et en cherchant un compromis sur le nombre de partitions n´ecessaires `a

une impl´ementation. Ceci fait l’objet du travail essentiel pr´esent´e dans cette th`ese. Une nouvelle

approche m´ethodologique bas´ee sur la synth`ese architecturale et le partitionnement temporel

est propos´ee dans ces travaux de th`ese et pr´esent´ee dans le chapitre suivant.