Systèmes intégrés et synthèse d'architecture [T9ES522M]

Systèmes intégrés et synthèse d'architecture [T9ES522M]

En pratique

Nature
Elément constitutif
Volume horaire de TP
6
Volume horaire de CM
18
Volume horaire de travail personnel
16
Langue d'enseignement
Français

Description du contenu de l'enseignement

La conception des circuits intégrés est depuis le début des années 2000 en grande évolution, évolution dont les principales raisons sont à la fois une technologie d'intégration permettant d'envisager des systèmes intégrés sur puce (SoC pour System on Chip) et des applications complexes (voire très complexe) justifiant ces circuits (communications sans fils, multimédia, …). Ces systèmes contiennent typiquement des cœurs de processeurs, des accélérateurs dédiés ou reconfigurables, des mémoires, des blocs analogiques, etc.
Dans un premier temps, cet enseignement a pour objectif de présenter ce qu’est un système sur puce ainsi que les principes de la conception de SoC. Les méthodologies ainsi que les principaux outils utilisés sont présentés. Dans un second temps, l’objectif est de présenter une méthode de conception de circuits numériques spécifiques visant à automatiser le passage d’une description de haut niveau d’une application à sa description matérielle tout en permettant d’explorer l’espace de conception (principalement débit versus surface) : la synthèse de haut niveau (aussi appelée synthèse d’architectures). Les applications visées sont de type traitement du signal. Typiquement, l’application est représentée sous la forme d'un graphe de type flot de signal sur lequel des transformations formelles vont être appliquées afin d'optimiser son implémentation matérielle selon certains critères (surface, débit, …). Les différentes étapes et techniques (transformations, optimisations, sélection de composants, ordonnancement, assignation) du processus de synthèse de haut niveau sont développées.


The design of integrated circuits has been undergoing great change since the early 2000s. The main reasons are both an integration technology allowing to consider integrated systems on chip (SoC for System on Chip) and complex applications (even very complex) justifying these circuits (wireless communications, multimedia, etc.). These systems typically contain processor cores, dedicated or reconfigurable accelerators, memories, analog blocks, etc.
First, this course aims to introduce what is a system on a chip and the principles of SoC design. The methodologies as well as the main tools used are presented. Secondly, the objective is to present a design method for specific digital circuits aiming to automate the design process from a high-level description of an application to its hardware description while allowing to explore the design space (mainly throughput versus area): high level synthesis. The targeted applications are signal processing ones. Typically, the application is represented in the form of a signal flow graph on which formal transformations are applied in order to optimize its hardware implementation according to certain criteria (area, throughput, etc.). The different steps and techniques (transformations, optimizations, selection, scheduling, assignment and binding) of the high-level synthesis process are detailed.

Organisation

Modalités d'organisation et de suivi

  1. Évolutions technologiques et des applications
  2. Systèmes sur Silicium : System on Chip, Solutions architecturales, Plateforme matérielle
  3. Flot de conception et méthodes de conception de SoC
  4. Notion de graphe flot de signal, transformations algorithmiques (retiming, pipelining, parallélisation, associativité, distributivité)
  5. Principe de la synthèse de haut niveau
  6. Etapes de la synthèse (ordonnancement, assignation, optimisations) et techniques associées

  1. Technological and application developments
  2. Systems on Chip
  3. SoC design flow and design methods
  4. Signal flow graph, algorithmic transformations (retiming, pipelining, parallelization, associativity, distributivity)
  5. Principle of high-level synthesis
  6. High-level synthesis steps (scheduling, assignment, optimizations) and associated techniques

Informations pédagogiques

Compétences à acquérir

A la fin de ce module, l'étudiant doit être capable de :

  • présenter les notions générales sur les systèmes sur puce
  • décrire les étapes de conception de systèmes sur puce
  • produire le graphe flot de signal d’un traitement simple
  • opérer des transformations dans un graphe flot de signal visant à améliorer certaines propriétés relatives à l’implantation matérielle
  • décrire les étapes de la synthèse de haut niveau
  • d’appliquer des techniques simples utilisées lors de la synthèse de haut niveau.

At the end of this module, the student should be able to:

  • present general concepts of systems on a chip
  • describe the systems on a chip design steps
  • provide the signal flow graph of a simple processing
  • perform transformations on a signal flow graph aimed at improving certain properties relating to the hardware implantation
  • describe the steps of the high-level synthesis process
  • apply simple techniques used in high-level synthesis.

Pré-requis recommandés


  • Conception de circuits numériques
  • Digital circuit design

Bibliographie, lectures recommandées

  • Michael Fingeroff, High-Level Synthesis Blue Book, Xlibris Corporation, 2010, ISBN-13: 978-1-4500-9724-6.
  • S. Gupta, SPARK: A parallelizing Approach to the High Level Synthesis of Digital Circuits, Kluwer Academic Publishers, 2004.
  • J. P. Elliott, Understanding Behavioural Synthesis. A Practical Guide to High-Level Design, Kluwer Academic Publishers, 2000.
Dernière modification : ven, 08/01/2021 - 15:24