Unit´ e de Communication
2.2.2.1 Principe G´ en´ eral
Le calcul reconfigurable dynamiquement par partitionnement consiste `a une ex´ecution par
parties successives d’un traitement sur un mˆeme circuit. L’objectif est d’impl´ementer par
per-mutation et repliement temporel diff´erentes parties d’un algorithme sur une mˆeme structure
mat´erielle par reconfiguration d’une matrice FPGA, selon un partitionnement et un
ordonnan-cement respectant d’´eventuelles contraintes mat´erielles ou de traitement [GL99, LD94], afin
d’augmenter la densit´e fonctionnelle [Wir97]. Ainsi, il est possible de minimiser les ressources
logiques en terme de surface n´ecessaire pour impl´ementer une application tout en augmentant
le rendement effectif du silicium [Ta03, Ma06]. Cette approche est int´eressante pour le d´
eve-loppement d’applications embarqu´ees bas´ees sur des circuits de type RSoC car elle permet de
conserver une flexibilit´e sans p´enaliser la surface globale du SoC en ´evitant un
surdimensionne-ment des ressources et une optimisation significative totale du coˆut. Cependant, cette approche
n´ecessite une identification des diff´erentes parties de l’algorithme permettant une d´ecomposition
temporelle optimale (partitions temporelles). En effet, en plus d’un partitionnement spatial, un
partitionnement temporeldoit ˆetre mis en œuvre. Chaque partition d´eduite de ce
partition-nement spatio-temporel correspond `a une ´etape de traitement et donc `a une configuration du
circuit. Chaque partition correspondra alors `a un “ floorplan ” temporel possible de la matrice
FPGA du syst`eme embarqu´e reconfigurable dynamiquement. La figure 2.8 illustre la d´
ecom-position par partitionnement temporel d’une application d´ecrite sous forme d’un graphe flot de
donn´ees.
2.2.2.2 Consid´erations pour la mise en œuvre de la Reconfiguration Dynamique
La mise en œuvre du partitionnement temporel par l’exploitation de la reconfiguration
dyna-mique doit prendre en consid´eration un certain nombre de contraintes. Ces derni`eres sont d’une
part de nature mat´erielle (technologies existantes) et d’autre part li´ees aux caract´eristiques et `a
la diversit´e des algorithmes de traitement `a mettre en œuvre.
– Au niveau technologique : Les syst`emes exploitant la reconfiguration dynamique des
FP-GAs n´ecessitent une dur´ee allou´ee aux reconfigurations. Le respect de contrainte de temps
r´eel suppose un minimum de solutions au niveau gestion et ex´ecution mat´eriel pour r´eduire
la dur´ee des calculs (traitement `a acc´el´erer) et minimiser l’impact du d´elai n´ecessaire `a la
reconfiguration [JIA07]. Au niveau technologique, pour obtenir des dur´ees de
A B C X er Dimension temporelle Sequence de configuration 1er config. 2nd config. nème config. 3ème config. functional modules
Partitionnement temporal par RD
nd ème * + < -+ * Matrice FPGA
Fig.2.8 – Illustration de la RD par partitionnement temporel [Tan01].
tion plus courtes, les fabricants de FPGA ont rendu possible la reconfiguration partielle
de leur circuit. Cela permet de ne reconfigurer que les diff´erences entre deux ´etapes
suc-cessives, et par ce biais de r´eduire le volume des donn´ees et leur dur´ee de chargement. De
plus, les chemins critiques variant d’une partition `a une autre, il en r´esulte une cadence de
travail maximale propre `a chaque partition. C’est pourquoi, pour b´en´eficier de la meilleure
acc´el´eration des traitements, il faut disposer d’une vari´et´e de fr´equences, afin d’adapter
la p´eriode d’horloge de calcul au chemin critique de l’´etape `a implanter. Or, l’un des
pro-bl`emes majeurs dans les syst`emes reconfigurables, est la g´en´eration de signaux d’horloges
qui doivent s’adapter de mani`ere tr`es rapide afin de ne pas compromettre l’exploitation
de la reconfiguration (un temps de stabilisation d’une synth`ese de fr´equence inf´erieure au
temps de reconfiguration de la partition consid´er´ee). Dans le cas contraire, la rapidit´e de
traitement sera tributaire du temps de stabilisation du r´eseau de distribution de signaux
d’horloge. Actuellement, outre un r´eseau fiable de distribution d’horloge, une solution pour
´
eviter ces contraintes consiste `a utiliser des m´ethodes de synth`ese de fr´equence interne en
exploitant des multiplieurs ou diviseurs de fr´equence `a partir d’une fr´equence de r´ef´erence.
– Au niveau application : Dans beaucoup de domaines d’applications (traitement du signal
et des images, etc.), les FPGAs sont capables d’atteindre des fr´equences de travail
nette-ment sup´erieures `a la fr´equence d’arriv´ee des donn´ees. Il peut exister alors un rapport ´elev´e
entre la fr´equence de travail et la fr´equence d’acquisition des donn´ees `a traiter. L’acc´el´
era-tion des traitements est alors possible et peut donc permettre de lib´erer un temps pr´ecieux
pour reconfigurer le circuit tout en respectant des contraintes temporelles. Pour exploiter
pleinement cette opportunit´e, il est int´eressant de pr´evoir un m´ecanisme de d´
esynchroni-sation entre la fr´equence du syst`eme d’acquisition et la fr´equence de travail du syst`eme de
calcul [H.G97, RBK98, DD98, LKD06]. Cette ´etape de d´esynchronisation peut ˆetre
assu-r´ee par un tampon d’entr´ee grˆace `a des m´emoires adress´ees en alternance `a des cadences
diff´erentes : l’une `a la cadence d’entr´ee des donn´ees et l’autre `a celle des traitements. Ce
tampon d’entr´ee pr´esente un autre int´erˆet pour un syst`eme reconfigurable dynamiquement
(RD) car il permet de traiter des donn´ees par paquets, plutˆot que de mani`ere individuelle.
En proc´edant ainsi, le temps perdu pour chaque reconfiguration est amorti sur le volume
de donn´ees. Pour certaines applications, la nature des traitements et des donn´ees dicte
la taille des donn´ees `a choisir. Par exemple, dans le domaine d’application du traitement
d’images, on choisit souvent une taille de bloc de donn´ees multiple entier du nombre exact
de pixels de l’image (taille de l’image, trame, ligne, etc.) et identique `a chaque ´etape de
traitement [BB05]. En pratique, on portera une grande attention `a ce choix, car il d´
e-termine le nombre de reconfiguration possible de l’implantation RD des op´erateurs. Il est
important de remarquer que cette d´esynchronisation entre acquisition et traitement a
l’in-conv´enient d’introduire un d´elai de latence suppl´ementaire afin de constituer le paquet
de donn´ees `a traiter. Il s’agira alors, pour certaines applications, de savoir si ce temps de
latence est pr´ejudiciable ou non.
2.2.2.3 Flot de conception pour l’exploitation de la RD par partitionnement
tem-porel
Le processus typique d’un partitionnement temporel d’une application par reconfiguration
dynamique est compos´e d’une succession d’´etapes qui extrait les partitions successives d’une
description `a travers les ´etapes interd´ependantes suivantes : Analyse des contraintes,
Or-donnancement - Allocation,Assignement des ressources FPGA etG´en´eration de
Bits-treams. La figure 2.9 illustre le flot de conception traditionnel du processus de partitionnement
temporel par reconfiguration dynamique. Ce processus d’exploitation de la reconfiguration
dy-namique s’apparente `a celui de la synth`ese architecturale. En effet, comme pour la synth`ese
architecturale, le processus de conception RD est bas´e sur une repr´esentation d’un algorithme
sous forme de graphe flot de donn´ees/contrˆole (GFDC). Le graphe flot de donn´ees (GFD)
ren-seigne sur les d´ependances de donn´ees de l’algorithme. Il mod´elise les chemins de donn´ees de
l’algorithme. Les noeuds du graphe repr´esentent les op´erations de calcul et les arcs du graphe
repr´esentent les d´ependances de donn´ees entre les diff´erents noeuds. Le graphe de contrˆole (GC)
repr´esente le s´equencement des op´erations. Il mod´elise la partie contrˆoleur de l’algorithme. `A
chaque arc sont associ´ees les conditions d’enchaˆınement des op´erations.
Analyse du flot de données et des
paramètres de contrainte
Librairie Opérateur
( Cible Technologie FPGA )
Description et annotation sous forme de Graphe Flot
de Données * * + B + A C D E F G … . Génération des fichiers de configuration Identification des partitions : Ordonnancement - Allocation
Assignation
Paramètre de contrainte (Temps, taille des blocs de données,
ressources logiques, mémoire), consommation puissance, etc. )
Fig.2.9 – Flot de conception du processus de partitionnement temporel par RD.
en œuvres, des contraintes de traitement ou de conception (temps r´eel, bande passante,
consommation puissance, surface logique, etc.), des caract´eristiques de la technologie
re-configurable utilis´ee, d’effectuer une exploration des partitionnements possibles r´epondant
aux contraintes de conception, technologique et de traitement. C’est dans cette ´etape que
la m´ethode propos´ee est r´ealis´ee par une estimation du nombre de partitions temporelles
r´epondant aux contraintes temporelles d’une application [Tan01, Bru04].
– Contrairement au flot de conception par synth`ese architecturale, l’´etape d’ - Allocation
correspond `a l’affectation temporelle et spatiale des op´erations dans des partitions
(ordon-ner les op´erations par placement sur la matrice reconfigurable `a des instants pr´ecis
corres-pondant `a l’ex´ecution d’une partition du traitement). Par contre, l’´etape d’Assignation
effectue les mˆeme tˆaches que celles existantes dans le flot de conception de la synth`ese
ar-chitecturale (voir§2.2.1.2) sans cependant int´egrer la sous-´etape d’Optimisationexistant
dans le flot par synth`ese architecturale et qui correspond `a une recherche de mutualisation
des unit´es fonctionnelles (optimisation par unit´es fonctionnelles partag´ees).
– La derni`ere ´etape,G´en´eration Bitstream, consiste `a g´en´erer les fichiers de configuration
de la cible reconfigurable des partitions `a l’aide des outils de d´eveloppement de la
techno-logie reconfigurable utilis´ee. Cette phase est r´ealis´ee `a partir de description synth´etisable
des partitions (description sch´ematique, langage de description mat´eriel synth´etisable tel
que VHDL, Verilog, SystemC, etc. ), par les outils associ´es `a la technologie reconfigurable
consid´er´ee en mettant en œuvre des ´etapes successives de synth`ese logique, de placement
et de routage sur les ressources disponibles dans la cible technologique.
La figure 2.10. illustre sur un exemple, les ´etapes d’Ordonnancement-Allocation,
Assignement-Optimisation par mise en œuvre d’unit´es fonctionnelles partag´ees. Dans cet exemple, deux
Dans le document
Optimisation par synthèse architecturale des méthodes de partitionnement temporel pour les circuits reconfigurables
(Page 46-50)