¨ Uberblick zu FAUST-SoC R¨ uckblick: Codegenerierung und parallele Programmierung ARM-MPSoC Plattform mit FPGA-Ressourcen Zusammenfassung Modellierung einer Fahrspurf¨ uhrung f¨ ur eine ARM-MPSoC Plattform mit FPGA-Ressourcen Erik Andresen 24.05.2012 1 / 30
30
Embed
Modellierung einer Fahrspurführung für eine ARM-MPSoC ...ubicomp/projekte/master2012... · Uberblick zu FAUST-SoC R uckblick: Codegenerierung und parallele Programmierung ARM-MPSoC
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Uberblick zu FAUST-SoCRuckblick: Codegenerierung und parallele Programmierung
ARM-MPSoC Plattform mit FPGA-RessourcenZusammenfassung
Modellierung einer Fahrspurfuhrung fur eineARM-MPSoC Plattform mit FPGA-Ressourcen
Erik Andresen
24.05.2012
1 / 30
Uberblick zu FAUST-SoCRuckblick: Codegenerierung und parallele Programmierung
ARM-MPSoC Plattform mit FPGA-RessourcenZusammenfassung
InhaltEinleitungEmbedded Plattform mit HW/SW Co-Design
Inhalt
1 Uberblick zu FAUST-SoC
2 Ruckblick: Codegenerierung und parallele Programmierung
3 ARM-MPSoC Plattform mit FPGA-Ressourcen
4 Zusammenfassung
2 / 30
Uberblick zu FAUST-SoCRuckblick: Codegenerierung und parallele Programmierung
ARM-MPSoC Plattform mit FPGA-RessourcenZusammenfassung
InhaltEinleitungEmbedded Plattform mit HW/SW Co-Design
FAUST:
Fahrerassistenz- und AutonomeSysteme.
Ziel: Autonomes Fahrzeug.
Laptop/PC.
Software: Wartbarkeit.
FAUST-SoC:
Eingebettete SystemeTechnologie.
SoC: FPGA.
High-PerformanceEmbedded Computing.
Bildverarbeitung in FPGA.
HohererEntwicklungsaufwand.
3 / 30
Uberblick zu FAUST-SoCRuckblick: Codegenerierung und parallele Programmierung
ARM-MPSoC Plattform mit FPGA-RessourcenZusammenfassung
InhaltEinleitungEmbedded Plattform mit HW/SW Co-Design
Erweiterungen
Kommunikation/Data logging von Betriebsparametern.
Losung: IP-Kamera mit MP4-Datenstrom uber UDP/RTP, 30FPS.
Erweiterungen der Software.
Kann der Dual-Core Cortex-A9 die Fahrspurerkennung in 33msdurchfuhren?
12 / 30
Uberblick zu FAUST-SoCRuckblick: Codegenerierung und parallele Programmierung
ARM-MPSoC Plattform mit FPGA-RessourcenZusammenfassung
Ziel: Portierung auf Zynq 7000Beschleunigungs-TechnologienEmbedded Plattform mit HW/SW Co-DesignRisiken
Beschleunigung des Datendurchsatz in Software
Bei rechenintensiven Arbeiten in Software:
Software optimieren, z.B. OpenMP.
Compiler-Optionen.
Betriebssystem konfigurieren.
Algorithmus optimieren.
13 / 30
Uberblick zu FAUST-SoCRuckblick: Codegenerierung und parallele Programmierung
ARM-MPSoC Plattform mit FPGA-RessourcenZusammenfassung
Ziel: Portierung auf Zynq 7000Beschleunigungs-TechnologienEmbedded Plattform mit HW/SW Co-DesignRisiken
Auslagerung in Hardware
Cortex-A9 getaktet mit 600MHz.
FPGA getaktet mit 100 MHz.
HW/SW Partitionierung.
Parallelverarbeitung:
14 / 30
Uberblick zu FAUST-SoCRuckblick: Codegenerierung und parallele Programmierung
ARM-MPSoC Plattform mit FPGA-RessourcenZusammenfassung
Ziel: Portierung auf Zynq 7000Beschleunigungs-TechnologienEmbedded Plattform mit HW/SW Co-DesignRisiken
Auslagerung in Hardware
Cortex-A9 getaktet mit 600MHz.
FPGA getaktet mit 100 MHz.
HW/SW Partitionierung.
Parallelverarbeitung:
15 / 30
Uberblick zu FAUST-SoCRuckblick: Codegenerierung und parallele Programmierung
ARM-MPSoC Plattform mit FPGA-RessourcenZusammenfassung
Ziel: Portierung auf Zynq 7000Beschleunigungs-TechnologienEmbedded Plattform mit HW/SW Co-DesignRisiken
Zynq 7000 Plattform
Bild: Xilinx
Oft bisher verwendet: ARM + FPGA auf einer Platine.Neuer Ansatz EPP: Extensible Processing Platform.Vorteile in Performance, Stromverbrauch,Gesamtbetriebskosten; TCO 16 / 30
Uberblick zu FAUST-SoCRuckblick: Codegenerierung und parallele Programmierung
ARM-MPSoC Plattform mit FPGA-RessourcenZusammenfassung
Ziel: Portierung auf Zynq 7000Beschleunigungs-TechnologienEmbedded Plattform mit HW/SW Co-DesignRisiken
”Echte Prozessoren“
2x Cortex A9 (SMP), ARMv7 Architektur mit 32-BitInstruktionen.
je 2x 32KB Level-1 Cache fur Instruktionen und Daten.
je MMU, FPU und NEON (SIMD Media Processing Engine).
Gemeinsamer Level-2 Cache.
Prozessor startet zuerst!
Anstatt Softcore-CPU wie Microblaze: Linux lauft ohneNutzung von FPGA-Hardware.
Advanced eXtensible Interface Bus (AXI).
Snoop Control Unit stellt Datenkonsistenzen der Cachessicher.
Accelerator Coherency Port (ACP): Snoop Control Unitzwischen CPU und FPGA.
17 / 30
Uberblick zu FAUST-SoCRuckblick: Codegenerierung und parallele Programmierung
ARM-MPSoC Plattform mit FPGA-RessourcenZusammenfassung
Ziel: Portierung auf Zynq 7000Beschleunigungs-TechnologienEmbedded Plattform mit HW/SW Co-DesignRisiken
Zynq 7000 Merkmale
2x I2C, 2x SPI, 2x CAN, 2x UART, GPIOs.
2x Gigabit Ethernet mit DMA.
2x USB 2.0 mit DMA.
Standard ARM-Tools: Entwicklungsumgebung DS-5,GNU-Compiler, Lauterbach, ...
Uberblick zu FAUST-SoCRuckblick: Codegenerierung und parallele Programmierung
ARM-MPSoC Plattform mit FPGA-RessourcenZusammenfassung
Ziel: Portierung auf Zynq 7000Beschleunigungs-TechnologienEmbedded Plattform mit HW/SW Co-DesignRisiken
ARM DS5 Debugger
Bild: ARM
19 / 30
Uberblick zu FAUST-SoCRuckblick: Codegenerierung und parallele Programmierung
ARM-MPSoC Plattform mit FPGA-RessourcenZusammenfassung
Ziel: Portierung auf Zynq 7000Beschleunigungs-TechnologienEmbedded Plattform mit HW/SW Co-DesignRisiken
Modellierung fur Zynq 7000
1 Portierung auf Cortex-A9, Pandaboard bis Zynq verfugbar.
2 Wahl des Betriebssystems: Linux oder RTOS.
3 Neue Debug-Methode: Livestream uber W-LAN.
4 HW/SW partitionieren.
20 / 30
Uberblick zu FAUST-SoCRuckblick: Codegenerierung und parallele Programmierung
ARM-MPSoC Plattform mit FPGA-RessourcenZusammenfassung
Ziel: Portierung auf Zynq 7000Beschleunigungs-TechnologienEmbedded Plattform mit HW/SW Co-DesignRisiken
Beschleunigungs-Technologien
im FPGA: RTL.
Matlab Simulink, Xilinx System Generator.
Limits: I/O Rate, Ressourcen, Latenz.
Koprozessor.
HW-Beschleuniger.
Wie beschleunigen?
21 / 30
Uberblick zu FAUST-SoCRuckblick: Codegenerierung und parallele Programmierung
ARM-MPSoC Plattform mit FPGA-RessourcenZusammenfassung
Ziel: Portierung auf Zynq 7000Beschleunigungs-TechnologienEmbedded Plattform mit HW/SW Co-DesignRisiken
Beschleunigung uber CPU
CPU kopiert Daten in/von FPGA Speicher.
Einfache Implementierung.
Geringer Durchsatz.
Kontrollfunktionen.22 / 30
Uberblick zu FAUST-SoCRuckblick: Codegenerierung und parallele Programmierung
ARM-MPSoC Plattform mit FPGA-RessourcenZusammenfassung
Ziel: Portierung auf Zynq 7000Beschleunigungs-TechnologienEmbedded Plattform mit HW/SW Co-DesignRisiken
DMA via AXI High-Performance Interface
AXI-HP mit DDR und On-Chip-Memory verbunden.FIFO fur Kontrollfluss.Hohere Latenz durch Arbiter.AXI Anbindung belegt FPGA Ressourcen.Benachrichtigung durch Interrupt.Optimal fur große Video-Datenstrome. 23 / 30
Uberblick zu FAUST-SoCRuckblick: Codegenerierung und parallele Programmierung
ARM-MPSoC Plattform mit FPGA-RessourcenZusammenfassung
Ziel: Portierung auf Zynq 7000Beschleunigungs-TechnologienEmbedded Plattform mit HW/SW Co-DesignRisiken
DMA via AXI ACP
AXI-HP mit Cache L1 und L2 verbunden.Geringe Latenz.AXI Anbindung belegt viele FPGA Ressourcen.Durch Cache Zugriffe des FPGA geringere CPU-Performancemoglich.Optimal fur kleinere Datenmengen. 24 / 30
Uberblick zu FAUST-SoCRuckblick: Codegenerierung und parallele Programmierung
ARM-MPSoC Plattform mit FPGA-RessourcenZusammenfassung
Ziel: Portierung auf Zynq 7000Beschleunigungs-TechnologienEmbedded Plattform mit HW/SW Co-DesignRisiken
PL DMA via General Purpose AXI Slave
32 Bit Interface mit DMA.
Fur Register im Prozessor.
25 / 30
Uberblick zu FAUST-SoCRuckblick: Codegenerierung und parallele Programmierung
ARM-MPSoC Plattform mit FPGA-RessourcenZusammenfassung
Ziel: Portierung auf Zynq 7000Beschleunigungs-TechnologienEmbedded Plattform mit HW/SW Co-DesignRisiken
Embedded Plattform mit HW/SW Co-Design
26 / 30
Uberblick zu FAUST-SoCRuckblick: Codegenerierung und parallele Programmierung
ARM-MPSoC Plattform mit FPGA-RessourcenZusammenfassung
Ziel: Portierung auf Zynq 7000Beschleunigungs-TechnologienEmbedded Plattform mit HW/SW Co-DesignRisiken
Auswahl der Beschleuniger
27 / 30
Uberblick zu FAUST-SoCRuckblick: Codegenerierung und parallele Programmierung
ARM-MPSoC Plattform mit FPGA-RessourcenZusammenfassung
Ziel: Portierung auf Zynq 7000Beschleunigungs-TechnologienEmbedded Plattform mit HW/SW Co-DesignRisiken
Risiken
Zynq-Plattform voraussichtlich ab Sommer 2012 verfugbar.PandaboardEmulation mit QEMU oder Cadence Zynq-7000 EPP VirtualPlatform.
Software/Hardware-Tools noch nicht erprobt.
Bild: Xilinx
Treffen der Auswahl.28 / 30
Uberblick zu FAUST-SoCRuckblick: Codegenerierung und parallele Programmierung
ARM-MPSoC Plattform mit FPGA-RessourcenZusammenfassung
Literatur
Zusammenfassung
Autonomes Fahrzeug.
Eingebettetes MPSoC System.
Bis Plattform verfugbar: Pandaboard wegen baugleichemProzessor.
Beschleunigung durch Parallelverarbeitung im FPGA.
Wie HW/SW partitionieren.
Vergleich mit Microblaze-Losung
29 / 30
Uberblick zu FAUST-SoCRuckblick: Codegenerierung und parallele Programmierung
ARM-MPSoC Plattform mit FPGA-RessourcenZusammenfassung