• Aucun résultat trouvé

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