(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
totalet 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.
Dans le document
Optimisation par synthèse architecturale des méthodes de partitionnement temporel pour les circuits reconfigurables
(Page 65-69)