Télécharger la présentation
Publié parDamien Lecuyer Modifié depuis plus de 9 années
1
Power PC embarqués et accélérateurs matériels pour des cibles de type FPGA
Julien Dubois
2
Plan de la présentation
Contexte Processeurs embarqués au sein de cible FPGA Présentation des cibles matériels « Standalone » Vs OS embarqués Conception d’architecture de co-traitement (« co-processing ») Outil EDK Association d’accélérateurs à processeur embarqué Utilisation d’un OS Applications du « co-processing » (Discussion) Contexte : Plateforme de co-processing pour la compression d’image Évolution : HW accélérateur avec processeur embarqué
3
Contexte Des besoins de plus en plus importants: Par example dans le traitement d’images temps réel Caméras intelligentes (caméra + traitements embarqués) besoin de traiter des images avec des résolutions de plus en plus importantes (> 1Mpixel) et des fréquences de plus en plus importantes (>25 ou même plusieurs 100 i/s) Compression temps réel => Cap sur la HD temps réel …. Des avancées technologiques importantes : notamment au niveau des FPGAs Plus de blocs logiques (slices) Intégrations de blocs matériels simples (mémoire,multiplicateurs) ou plus complexes (processeurs,blocs DSP), I/O adaptées
4
Evolutions des FPGAs Des FPGAs avec corps matériels intégrés (BRAM, multiplicateurs, processeurs…) Ajouter des corps software Ajouter la logique utilisateur Question : Comment utiliser des processeurs PPC et les associer aux accélérateurs matériels ???
5
Plan de la présentation
Contexte Processeurs embarqués au sein de cible FPGA Présentation des cibles matériels « Standalone » Vs OS embarqués Conception d’architecture avec PPC Outil EDK Association d’accélérateurs à processeur embarqué Utilisation d’un OS Applications du « co-processing » (Discussion) Contexte : Plateforme de co-processing pour la compression d’image Évolution : HW accélérateur avec processeur embarqué
6
Architecture autour des PPCs
OS ?
7
Standalone Vs OS embarqués
Performances maximum Mise en œuvre de périphériques compliqués => nécessité de développer les pilotes OS embarqués Perte de performances Mise en œuvre de périphériques simples (Attention nécessité d’acheter les contrôleur des périphériques les plus complexes!)
8
OS embarqués OS Editeur Open Sources Remarques VxWorks WindRiver non
certainement le leader du marché RTLinux FSM Labs oui existe en version GPL et en version "pro" (breveté), temps réel dur µClinux aucun pour les micro-contrôleurs sans MMU. Sponsorisé par Lineo. Existe en noyau 2.0, 2.4 et 2.6 Montavista Linux (Hard Hat) MontaVista fondé sur des patches préemptifs du noyau Linux. Pas de temps réel dur
9
Plan de la présentation
Contexte Processeurs embarqués au sein de cible FPGA Présentation des cibles matériels « Standalone » Vs OS embarqués Conception d’architecture avec PPC Outil EDK Association d’accélérateurs à processeur embarqué Utilisation d’un OS Applications du « co-processing » (Discussion) Contexte : Plateforme de co-processing pour la compression d’image Évolution : HW accélérateur avec processeur embarqué
10
EDK : Définition d’une architecture
11
Plateforme ML310 Virtex II Pro FPGA (XC2VP7)
~1M ASIC gates x18-bit Multipliers 88 KB of on-chip memory Power PC 4.05 CPU core 4 2.5Gbps Rocket I/O transceivers
12
EDK : Définition d’une architecture
13
EDK : Définition d’une architecture
14
EDK : Définition d’une architecture
15
EDK : Définition d’une architecture
16
EDK : Définition d’une architecture
17
EDK : Définition d’une architecture
18
EDK : Définition d’une architecture
19
EDK : Définition d’une architecture
20
EDK : Définition d’une architecture
21
EDK : Définition d’une architecture
22
EDK : Définition d’une architecture
23
Plan de la présentation
Contexte Processeurs embarqués au sein de cible FPGA Présentation des cibles matériels « Standalone » Vs OS embarqués Conception d’architecture avec PPC Outil EDK Association d’accélérateurs à processeur embarqué Utilisation d’un OS Applications du « co-processing » (Discussion) Contexte : Plateforme de co-processing pour la compression d’image Évolution : HW accélérateur avec processeur embarqué
24
Association PPC à HW accélérateurs
25
Ajout du corps
26
EDK : Flot de conception
Standard Software Flow Standard Hardware Flow VHDL / Verilog C/C++ code Simulator Compiler / Linker Synthesizer Object code Place & Route .elf .bit Data2BRAM PPC code in on-chip memory PPC code in off-chip memory Download to FPGA Debugger Download to FPGA Chip Scope Pro Tools
27
EDK : Flot de conception
Hardware Flow Software Flow HW Block diagram SW flow chart EDK HW description Create SW source ISE Synthesize, P&R Compile DATA2BRAM Bit file / download Elf file / download Design Debug (HW and SW)
28
Plan de la présentation
Contexte Processeurs embarqués au sein de cible FPGA Présentation des cibles matériels « Standalone » Vs OS embarqués Conception d’architecture avec PPC Outil EDK Association d’accélérateurs à processeur embarqué Utilisation d’un OS Applications du « co-processing » (Discussion) Contexte : Plateforme de co-processing pour la compression d’image Évolution : HW accélérateur avec processeur embarqué
29
Configuration d’OS reste délicate !
Utilisation d’un 0S Configuration d’OS reste délicate !
30
Outils pour projet avec OS
Configuration d’OS reste délicate !
31
Association PPC à HW accélérateurs
En résumé… Archi et Drivers
32
Plan de la présentation
Contexte Processeurs embarqués au sein de cible FPGA Présentation des cibles matériels « Standalone » Vs OS embarqués Conception d’architecture avec PPC Outil EDK Association d’accélérateurs à processeur embarqué Utilisation d’un OS Applications du « co-processing » (Discussion) Contexte : Plateforme de co-processing pour la compression d’image Évolution : HW accélérateur avec processeur embarqué
33
Conclusion Intéressant les PPC ? Présents dans les FPGAs
De nouvelles capacités de calcul (spécialement pour les calculs non réguliers) Grande souplesse vis-à-vis de l’intégration d’interfaces complexes
34
Merci de votre attention Questions ?
35
Une plateforme de Co-processing?
Carte PCMCIA avec FPGA embarqué Facile de tester des accélérateurs matériels Peut être utiliser comme co-processeur
36
Virtual Socket for Part 9
Wildcard Virtual Socket for Part 9 MPEG-4 Part 7 – Part 9 MPEG-4 Part 9 Platforms
37
Objectif premier C Language HDL Language
38
Generic reduced search
Full Search Adresse Algorithm1 Adresse Algorithm2 Search Window with parametic size Pattern with parametic size Motion estimation IP with user search strategy !!! New Wildcard IP using ZBT SRAM Select the strategy
39
Generic reduced search
User search strategy Adresse Algorithm1 Adresse Algorithm2 Full Search Generic reduced search ME
40
Demos
41
Autre exemple de plateforme de co-traitement
Processeur externe Co-processeur basé sur une cible de type FPGA (avec eventuellement avec PPC)
42
Camera intelligente avec co-procressing
43
Merci de votre attention Questions ?
45
EDK : Définition d’une architecture
CPU-FPGA interfaces 405 Core Control Logic OCM controller OCM Controller BRAM FPGA CLB Array Interface Logic Processor Block = CPU core + Interface Logic + CPU-FPGA interface
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.