Les réseaux sur puce (NoC pour «network on chip») sont des infrastructures de communication extensibles qui autorisent le parallélisme dans la communication. La conception de circuits basés sur les NoC se fait en considérant la communication et le calcul séparément, ce qui la rend plus complexe. Les outils de synthèse d'architecture (HLS pour «high level synthesis») permettent de générer rapidement des circuits performants. Mais le contrôle de ces circuits est centralisé et la communication est de type point-à-point (non extensible). Afin d'exploiter le parallélisme potentiel des algorithmes sur des FPGA dont les ressources augmentent constamment, les outils de HLS doivent extraire le parallélisme d'un programme et utiliser les ressources disponibles de manière optimisée. Si certains outils de synthèse considèrent une spécification de type flot de données, la plupart de concepteurs d'algorithmes utilise des programmes pour spécifier leurs algorithmes. Mais cette représentation comportementale doit souvent être enrichie d'annotations architecturales afin de produire en sortie un circuit optimisé. De plus, une solution complète d'accélération nécessite une intégration du circuit dans un environnement de développement, comme les GPU aujourd'hui. Un frein à l'adoption des FPGA et plus généralement des architectures parallèles, est la nécessaire connaissance des architectures matérielles ciblées.Dans cette thèse, nous présentons une méthode de synthèse qui utilise une technique d'analyse symbolique pour extraire le parallélisme d'une spécification algorithmique écrite dans un langage de haut niveau. Cette méthode introduit la synthèse de NoC pendant la synthèse d'architecture. Afin de dimensionner le circuit final, une modélisation mathématique du NoC est proposée afin d'estimer la consommation en ressources du circuit final. L'architecture générée est extensible et de type flot de données. Mais l'atout principal de l'architecture générée est son aspect programmable car elle permet, dans une certaine mesure, d'éviter les synthèses logiques pour modifier l'application / Network-on-Chip (NoC) introduces parallelism in communications and emerges with the growing integration of circuits as large designs need scalable communication architectures. This introduces the separation between communication tasks and processing tasks, and makes the design with NoC more complex. High level synthesis (HLS) tools can help designers to quickly generate high quality HDL (Hardware Description Level) designs. But their control schemes are centralized, usually using finite state machines. To take benefit from parallel algorithms and the ever growing FPGAs, HLS tools must properly extract the parallelism from the input representation and use the available resources efficiently. Algorithm designers are used with programming languages. This behavioral specification has to be enriched with architectural details for a correct optimization of the generated design. The C to FPGA path is not straightforward, and the need for architectural knowledges limits the adoption of FPGAs, and more generally, parallel architecture. In this thesis, we present a method that uses a symbolic analysis technique to extract the parallelism of an algorithmic specification written in a high level language. Parallelization skills are not required from the users. A methodology is then proposed for adding NoCs in the automatic design generation that takes the benefit of potential parallelizations. To dimension the design, we estimate the design resource consumption using a mathematical model for the NoC. A scalable application, hardware specific, is then generated using a High Level Synthesis flow. We provide a distributed mechanism for data path reconfiguration that allows different applications to run on the same set of processing elements. Thus, the output design is programmable and has a processor-less distributed control. This approach of using NoCs enables us to automatically design generic architectures that can be used on FPGA servers for High Performance Reconfigurable Computing. The generated design is programmable. This enable users to avoid the logic synthesis step when modifying the algorithm if a existing design provide the needed operators
Identifer | oai:union.ndltd.org:theses.fr/2016LYSES051 |
Date | 26 October 2016 |
Creators | Payet, Matthieu |
Contributors | Lyon, Rousseau, Frédéric, Fresse, Virginie |
Source Sets | Dépôt national des thèses électroniques françaises |
Language | French |
Detected Language | English |
Type | Electronic Thesis or Dissertation, Text |
Page generated in 0.0028 seconds