![Page 1: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/1.jpg)
SoC sur FPGASystèmes programmables sur FPGA
Tarik Graba18 octobre 2016
![Page 2: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/2.jpg)
Plan
Introduction
Softcore processor
Hardcore processor
Outils et méthodologie
2/23 FC-FPGA Tarik Graba 18/10/16
![Page 3: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/3.jpg)
SoC sur FPGAPourquoi?
Les FPGAs peuvent être utilisés pour implémentermatériellement des fonctions numériques:
• des fonctions de traitement du signal,• des processeurs,• des accélérateurs• …
Les utiliser pour construire des systèmes à base deprocesseurs
3/23 FC-FPGA Tarik Graba 18/10/16
![Page 4: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/4.jpg)
SoC sur FPGAPourquoi?
Développer rapidement une application autour d’un cœurde processeur:
• le développement logiciel est plus simple,• plus facile de trouver des développeurs,• réutiliser les bibliothèques et les OS existants.
Ajouter des périphériques spécialisés grâce au FPGA:• pour des questions de performance,• pour simplifier les cartes électroniques (beaucoup d’IO,
glue logic, …)En deçà d’un certain volume, on n’a pas le choix.
4/23 FC-FPGA Tarik Graba 18/10/16
![Page 5: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/5.jpg)
SoC sur FPGAAvantages?
5/23 FC-FPGA Tarik Graba 18/10/16
![Page 6: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/6.jpg)
SoC sur FPGAAvantages?
5/23 FC-FPGA Tarik Graba 18/10/16
![Page 7: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/7.jpg)
SoC sur FPGAAvantages?
Un système à base de processeur
un ou plusieurs processeurs,la mémoire (ram/rom) (jusqu’à une certaine taille),des interfaces de communication (standards, ad hoc, …)les bus internes.
Qui n’est pas figé
le FPGA reste programmable, on peut faire évoluer lesystèmechangé sa structure, sa fonctionnalité.
6/23 FC-FPGA Tarik Graba 18/10/16
![Page 8: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/8.jpg)
Plan
Introduction
Softcore processor
Hardcore processor
Outils et méthodologie
7/23 FC-FPGA Tarik Graba 18/10/16
![Page 9: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/9.jpg)
Softcore processor
Utiliser les ressources du FPGA pour le processeur et ses périphériques.
8/23 FC-FPGA Tarik Graba 18/10/16
![Page 10: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/10.jpg)
Softcore processor
Utiliser les ressources du FPGA pour le processeur
+ faisable sur n’importe quel FPGA+ le cœur est modifiable- processeur “spécial” FPGA- performances limitées- utilise des ressources dans le FPGA
9/23 FC-FPGA Tarik Graba 18/10/16
![Page 11: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/11.jpg)
Softcore processorExemple de plateformes
Altera Nios II
exclusivement sur FPGA Alteraprocesseur 32bits
configurable (pipline, instructions,cache, …)
• supporté par Linuxles sources ne sont pas distribuéespayant
10/23 FC-FPGA Tarik Graba 18/10/16
![Page 12: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/12.jpg)
Softcore processorExemple de plateformes
Xilinx Microblazeexclusivement sur FPGA Xilinxprocesseur 32bits
configurable (pipline, instructions,cache, …)
• supporté par Linuxles sources ne sont pas distribuéespayant
10/23 FC-FPGA Tarik Graba 18/10/16
![Page 13: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/13.jpg)
Softcore processorExemple de plateformes
Lattice Mico32
conçu pour les FPGA latticeprocesseur 32bitsles sources sont accessible et “libre”pas de support Linux
10/23 FC-FPGA Tarik Graba 18/10/16
![Page 14: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/14.jpg)
Softcore processorExemple de plateformes
ARM Cortex-M1
Microcontrôleur 32bits (proche desCortex-M0)configurableSupporte plusieurs familles deFPGAspas de support Linuxpayant
10/23 FC-FPGA Tarik Graba 18/10/16
![Page 15: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/15.jpg)
Softcore processorExemple de plateformes
Cobham/Gaisler Leon
SPARC 32bits développé initialementpour l’ESAsupporte plusieurs familles deFPGAssupport Linuxopensource jusqu’à la version 3existe en version durcie pour lespatial et l’avioniqueexiste aussi en ASIC
10/23 FC-FPGA Tarik Graba 18/10/16
![Page 16: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/16.jpg)
Softcore processorExemple de plateformes
OpenRisc, RiscV, …
des cœurs de processeursopensourcesdans toutes les catégories(µ-contrôleur, high-end,…)l’environnement (logiciel/matériel)n’est pas toujours de qualitésupport de la communauté
10/23 FC-FPGA Tarik Graba 18/10/16
![Page 17: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/17.jpg)
Plan
Introduction
Softcore processor
Hardcore processor
Outils et méthodologie
11/23 FC-FPGA Tarik Graba 18/10/16
![Page 18: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/18.jpg)
Hardcore processor
Avoir un vrai processeur dans la même puce que le FPGA.
12/23 FC-FPGA Tarik Graba 18/10/16
![Page 19: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/19.jpg)
Hardcore processor
hard core: un bloc en dur dans la puce du FPGA
- restreint à certaines familles de FPGAs- le cœur est figé+ performances élevée+ processeurs “standard”+ la FPGA peut servir à autre chose
13/23 FC-FPGA Tarik Graba 18/10/16
![Page 20: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/20.jpg)
Hardcore processorHard System
Avoir un vrai SoC de base dans la même puce que le FPGA.
14/23 FC-FPGA Tarik Graba 18/10/16
![Page 21: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/21.jpg)
Hard Processing System/SoC
Un système sur puce de base dans la puce du FPGA
+ un soc de base facilite le développement logiciel:+ support des systèmes d’exploitation et bibliothèques+ mise en commun et réutilisation plus simple
+ on se concentre sur les ajouts- apprentissage un peu plus complexe
15/23 FC-FPGA Tarik Graba 18/10/16
![Page 22: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/22.jpg)
Exemple de plateformesXilinx Zynq SoC
Système sur puce complet:processeur dual core ARMCortex-A9 (32bits)contrôleur de mémoire DDR, flashinterfaces série, réseau, …
Zone FPGA connectée au bus duprocesseur
16/23 FC-FPGA Tarik Graba 18/10/16
![Page 23: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/23.jpg)
Exemple de plateformes
Altera CycloneV SoCSystème sur puce complet:
processeur dual core ARMCortex-A9 (32bits)contrôleur de mémoire DDR, flashinterfaces série, réseau, …
Zone FPGA connectée au bus duprocesseur
16/23 FC-FPGA Tarik Graba 18/10/16
![Page 24: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/24.jpg)
Exemple de plateformes
Xilinx Zynq Ultrascale+ MPSoCprocesseur dual core ARMCortex-A53 (64bis) et processeurtemps réel dual core ARM Cortex-R5(32bits)GPU Mali-400, processeur vidéo(optionnels)contrôleur de mémoire DDR, flashPCIe, SATA, DisplayPort, …interfaces série, réseau, …
16/23 FC-FPGA Tarik Graba 18/10/16
![Page 25: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/25.jpg)
Exemple de plateformes
Altera Stratix10-SoC
processeur quad core ARMCortex-A53 (64bis)contrôleur de mémoire DDR, flashinterfaces série, réseau, …
16/23 FC-FPGA Tarik Graba 18/10/16
![Page 26: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/26.jpg)
Exemple de plateformes
Microsemi Smatfusion/2
Microcontrôleur 32bits ARMCortex-M3interfaces série, réseau, …ADC, DACfonctions analogiques
16/23 FC-FPGA Tarik Graba 18/10/16
![Page 27: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/27.jpg)
Plan
Introduction
Softcore processor
Hardcore processor
Outils et méthodologie
17/23 FC-FPGA Tarik Graba 18/10/16
![Page 28: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/28.jpg)
Outils et méthodologieDéveloppement orienté IPs
Utilisation d’un standard de communication sur puce• AXI, AMBA, Avalon, Wishbone…
Bibliothèque d’IPs fournies avec les outils• fonctions courantes (interfaces, contrôleurs mémoire…)• payantes ou gratuites
18/23 FC-FPGA Tarik Graba 18/10/16
![Page 29: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/29.jpg)
Outils et méthodologieDéveloppement orienté IPs
Altera Qsys Xilinx Vivado
19/23 FC-FPGA Tarik Graba 18/10/16
![Page 30: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/30.jpg)
Outils et méthodologieDéveloppement orienté IPs
Pour l’utilisateur:Utiliser les IPs existantes
• a-t-elle la bonne fonctionnalité?• comprendre comment elle fonctionne
Développer ses propres IPs• maitriser le protocole de bus• utiliser la méthodologie prévue pour s’intégrer à l’outil• utiliser des canevas et des assistants dans l’outil
20/23 FC-FPGA Tarik Graba 18/10/16
![Page 31: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/31.jpg)
Outils et méthodologieSupport logiciel
Drivers pour interagir avec le matériel• avec un système d’exploitation (OS)• sans système d’exploitation (bare-metal)
Bibliothèques logiciellessystèmes d’exploitation
• temps réel (rtOS)• Linux
21/23 FC-FPGA Tarik Graba 18/10/16
![Page 32: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/32.jpg)
Outils et méthodologieSupport logiciel
Comme le matériel peut changer:Des outils pour adapter/régénérer les drivers
• BSP: Board Support PackageIntégration dans des environnement connus desdéveloppeurs de logiciels
• IDE: Integrated Development Environment• généralement basés sur Eclipse
22/23 FC-FPGA Tarik Graba 18/10/16
![Page 33: SoC sur FPGA - Systèmes programmables sur FPGA · processeur 16/23 FC-FPGA TarikGraba 18/10/16. Exempledeplateformes XilinxZynqUltrascale+MPSoC processeurdualcoreARM Cortex-A53(64bis)etprocesseur](https://reader030.vdocuments.pub/reader030/viewer/2022012916/5f900f15304127300e059ea3/html5/thumbnails/33.jpg)