Vous êtes ici

  1. Accueil
  2. Conception de SoC

Conception de SoC

Conception de SoC

En pratique :

Volume horaire de cours : 8
Volume horaire global de TP : 10
Langue principale : français
Nombre de crédits européens : 2

Description du contenu de l'enseignement

Le cours commence par un bref historique des architectures matérielles, permettant de mettre en perspective les spécificités des architectures de type SoC par rapport aux architectures plus classique (e.g FPGA). Les contraintes et les atouts de telles solutions sont présentées. Une partie importante du cours traite du flot de conception spécifique des solutions SoC notamment par les étapes de co-design et de co-validation. Un parallèle avec le cours de Synthèse de haut niveau est présenté. L’étude l’analyse et certaines méthodes de partitionnement sont décrites. Enfin, un exemple d’application (emetteur-récepteur flexible à base de radio logicielle) est présenté.
A la fin de ce module, l'étudiant doit être capable de
• Comprendre les spécificités d’un SoC et les contraintes induites
• De comprendre et de décrire le flot de conception associé
• D’effectuer (manuellement selon des critères objectifs ou automatiquement) un partitionnement hard/soft d’une solution
• De réaliser des petits application (hard et soft) avec l’outil Vivado


Compétences à acquérir

Les architectures hétérogènes mêlant plusieurs systèmes matériels au sein de la même puce sont utilisés massivement dans les applications modernes, notamment celles gourmandes en calculs. L’un des enjeux est de savoir utiliser ces plateformes et pour une application dédiée de connaître le partitionnement désiré entre traitements à appliquer du côté du hardware et ceux à appliquer côté software. L’objectif du module est de former les étudiants au flot de conception des Systèmes sur Puces (ou System on Chip, SoC) à travers la suite logicielle Vivado, de comprendre comment procéder au partitionnement hard/soft et des contraintes de designs induites par de telles solutions.


Modalités d’organisation et de suivi

Plan du cours

  1. Introduction What is a SoC
  2. A short SoC history
  3. Structural differences and consequences
  • SoC design flow
      SoC deisgn flow overview
  • HLS for IP packaging
  • Co-Design and co-validation
  • From hardware specification to software application
  • Hardware-Software partitioning
      Principle
  • Mathematical formulation
  • Criteria and constraints
  • Algorithm example: hierarchical clustering
  • Algorithm example: simulated annealing
  • SoC architecture: Zyboo
      Zinq7 architecture
  • Zyboo board
  • Labs presentation and objectives
  • Application example: RF transceiver
      SoC based Software defined radio
  • Transmitter side and partitioning
  • Receiver side and partitioning
  • Some performance results

  • Bibliographie, lectures recommandées

    [THM2015] J. W. Tang, Y. W . Hau and M. Marsono, "Hardware/software partitioning of embedded System-on-Chip applications," 2015 IFIP/IEEE International Conference on Very Large Scale Integration (VLSI-SoC)
    [GDD+2012] Gajski, D. D., Dutt, N. D., Wu, A. C., & Lin, S. Y. (2012). High—Level Synthesis: Introduction to Chip and System Design. Springer Science & Business Media.
    [Rajs2000] Rajsuman, R. (2000). System-on-a-chip: Design and Test. Artech House, Inc..


    Pré-requis

    Pré-requis obligatoires

    Avoir de solides connaissances en FPGA, architectures matérielle, traitement numérique du signal