I prepared my HDR DaRT team in LIFL laboratory. My HDR is titled: Vers la reconfiguration dynamique dans les systèmes embarqués: de la modélisation à l’implémentation. I was evaluated by:
This manuscript summarizes my research activities since my thesis defended September 2002. Some of my works presented here are completed; others are in progress or still at an exploratory stage. Throughout these years, my works were in the context of software/hardware co-design of intensive signal processing specific Sacs.
The complexity of systems targeting such application domain continues to expand, in recent years. Indeed, the growing needs in terms of computing power and memory storage of intensive signal processing applications, makes designing SoCs dedicated to them very tedious, requiring considerable time and effort.
Thus, the guideline of my work has always been to provide methods and tools for the design of such Sacs, allowing maximum automation, increasing designer’s productivity and reducing time-to-the market of designed systems.
So I concentrated my research effort on three main aspects: high level modeling by providing meta-models and profiles based on the MARTE standard; distributed simulation platforms, supporting interoperability between different abstraction levels while allowing accurate energy consumption estimation; and finally production of design tools based on automatic model to model transformations model and MDE approach.
Being convinced of the great potential of partially and dynamically reconfigurable FPGAs, I focus more and more my work to target such architectures. Thus, my future work will certainly be in the same direction, particularly in the context of the ANR project FAMOUS.
Thus, the main concern of my research will include: modeling (based on MARTE) of dynamic reconfiguration in all its aspects (architecture, application, association, deployment and partitioning), simulation of FPGAs and the estimation of their consumption (to drive architectures exploration), and finally the integration into design tools based on standards (such as MDE and MARTE).
RésuméCe manuscrit résume mes travaux de recherche depuis ma thèse soutenue en septembre 2002. Certains de mes travaux présentés sont achevés à l'heure actuelle, d'autres sont en cours d'avancement ou encore à un stade exploratoire. Tout au long de ces années, mes travaux se sont inscrit dans le contexte de la conception conjointe logicielle/matérielle de SoCs dédiés aux applications de traitement de signal intensif.
La complexité des systèmes ciblant ce domaine d'application ne cesse de s'accroitre lors des dernières années. En effet, les besoins grandissants, en terme de puissance de calcul et stockage mémoire des applicatifs du traitement de signal intensif, rendent la conception des Soc les implémentant très fastidieuse et nécessitant un temps et des efforts considérables.
Ainsi, la ligne directrice de mes travaux a toujours été de fournir des méthodes et outils d'aide à la conception de tels SoC, permettant un maximum d'automatisation, une augmentation de la productivité des concepteurs et une réduction des temps de mise sur le marché des systèmes conçus.
Je me suis donc concentré principalement sur trois aspects: la modélisation de haut niveau en fournissant des méta-modèles et profils respectant le standard MARTE; les plateformes de simulation distribuées, supportant l'interopérabilité entre plusieurs niveaux d'abstraction tout en permettant une bonne estimation de la consommation d'énergie; et finalement la production d'outils de conception basés sur les transformations automatiques modèle à modèle de l'approche IDM.
Etant convaincu du grand potentiel des FPGAs partiellement et dynamiquement reconfigurables, j'oriente de plus en plus mes travaux pour cibler de telles architectures. Ainsi, mes travaux futurs iront certainement dans le même sens, dans le cadre notamment du projet ANR FAMOUS que je dirige. Ainsi, les grandes orientations de mes recherches concerneront notamment : la modélisation (basée sur MARTE) de la reconfiguration dynamique sous toutes ses facettes (architecture, application, association, déploiement; et partitionnement); la simulation des FPGAs et l'estimation de leur consommation (pour piloter l'exploration d'architectures); et enfin l'intégration dans des outils de conception basés sur les standards (tels que MARTE et IDM).
I prepared my PhD in the SLS team (System Level Synthesis) in TIMA laboratory(Techniques de l’informatique et de la Microélectronique pour l’Architecture des ordinateurs). My advisors were Ahmed Jerraya and Frédéric Rousseau. My thesis is titled: Exploration d'architectures et allocation/affectation mémoire dans les systèmes multiprocesseurs monopuce. I was evaluated by:
The last years saw a great evolution in the manufacture technology of the integrated circuits. Indeed they were marked by the appearance of heterogeneous systems on-chip. These latter are increasingly complex and integrate dedicated or specific material parts, such as the memories of various types, but also of the programmable parts as processors for example.
Many applications in fields such as the multi-media ones (audio and video) and the image processing handle very bulky and strongly dependent data; they consequently, require the integration of a great number of memories of various types and sizes in multi-task multiprocessor systems-on-chip. In many of these embedded applications, the area cost is for a large part dominated by the memories and a very large part of the power consumption is due to the data storage and transfer between the architecture parts. To face such a complexity and to make it possible for the designer to satisfy the time-to-market constraints, a coherent and complete methodology of design of multi-task multiprocessor architectures with integrated shared memories is required.
In this thesis, we develop an automatic application-specific shared memory architecture design flow, starting from a parallel system level description of a given application. We propose an exact method, which consists of an integer linear programming model to resolve the memory blocks allocation problem in multiprocessor on-chip architectures. The proposed model gives an exact and optimal solution for the fixed criteria (total access time to the shared data and the cost of the memory architecture). Taking into account the linear program’s results, we perform automatically the application-code and architecture transformations corresponding to the chosen memory architecture, and generate a macro-architecture level description of the application. The feasibility and the performances of this methodology were tested on a VDSL application.
Key words : design flow, system-on-chip, memory architecture, memory allocation, code-transformations.
RésuméLes dernières années ont connu une grande évolution dans la technologie de fabrication des circuits intégrés. Ces derniers sont de plus en plus complexes. Ils intègrent des parties dites logicielles (processeurs + programmes) et des parties matérielles dédiées ou spécifiques de calcul ou de mémorisation.
De nombreuses applications dans les domaines du multimédia et des télécommunications sont apparues. Elles nécessitent l’intégration de mémoires de différents types et tailles dans ces modèles d’architectures multiprocesseurs. Dans ces applications embarquées, les performances du système sont étroitement liées à celles de la partie mémoire. Celle-ci occupe plus de 90% de la surface du système, et la consommation en énergie ainsi que les performances temporelles du système sont essentiellement dues au stockage et à l’échange de données entre les différents composants. Avec cette présence croissante de la mémoire dans les systèmes monopuce, on note de nos jours l’absence d’une méthodologie systématique et optimisée pour la conception de tels systèmes avec une architecture mémoire spécifique.
Nous proposons dans cette thèse un flot de conception d’une architecture mémoire spécifique pour les systèmes monopuce. L’architecture mémoire est obtenue avec une méthode exacte basée sur un modèle de programmation linéaire en nombres entiers. Ce modèle permet d’obtenir une architecture mémoire distribuée partagée optimale pour l’application, minimisant le coût global des accès aux données partagées et le coût de la mémoire. On réalise ensuite automatiquement les transformations de l’architecture et du code de l’application en fonction de l’architecture mémoire choisie. Cette nouvelle spécification système (architecture + code applicatif) reste simulable. La faisabilité et les performances de ce flot ont été testées sur l’application du VDSL.
Mots clés : flot de conception, système monopuce, architecture mémoire, allocation mémoire, transformation de code.
I advised/co-advised the following PhDs