Abstract:
Les architectures reconfigurables constituent un support privilégié pour la mise en oeuvre de
traitements numériques accélérés. Ceci s’explique par leur nature relativement généraliste permettant
d’amortir les coûts non récurrents de conception sur un large spectre d’applications d’une part, et par
la nature malléables des traitements implémentés d’autre part.
Cette nature malléable favorise la réutilisation de modules comme l’évolution postfabrication
des architectures de traitement. Cette capacité d’évolution réduit les temps de cycle lors de la
réalisation des produits, et, en garantissant la capacité de reprise ultérieure, permet de débuter une
réalisation sans en avoir une spécification complète ou définitive. Par ailleurs, l’évolution peut être
réalisée à distance, sur un dispositif déjà vendu au client, par exemple pour apporter un correctif.
La forte complexité des protocoles et standards actuels rend critiques ces deux facettes des
architectures reconfigurables : réutilisation par paramétrisation de modules précaractérisés d’une part,
et recouvrement entre les phases de conception détaillée des applications et de leur implémentation
matérielle d’autre part.
Ceci se fait malheureusement au détriment des performances en termes de surface, fréquence
et consommation par rapport à des solutions matérielles dédiées.
Pour tirer le meilleur parti des différentes technologies disponibles, une solution consiste à
n’exploiter de supports reconfigurables que pour les portions de l’application susceptibles de changer
–soit d’une application à une autre dans un même domaine (factorisation matérielle) – soit dans le
temps (évolution).
Le problème tient dans l’identification au sein des applications, décrites sous forme de graphes
d’opérations logiques/opérateurs, des portions communes à différentes applications. Les portions
communes sont mises en oeuvre en utilisant des circuits dédiés, et les parties variables sont
implémentées sur FPGA.
Le sujet proposé consiste à définir les meilleures façons de déterminer ces portions dans des
graphes correspondant à des netlists. On se limitera à priori à des netlists produites par le même outil
de synthèse.
Mots clefs : Synthèse de circuit, factorisation au niveau netlist, théorie des graphes.