Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Hybride Apps – DPR und Android auf dem Xilinx ZYNQ
Endric Schubert, Missing Link Electronics Fabian Zentner, Univ. Ulm
Konvergenz der Rechenplattformen
09 Juli 2013 www.missinglinkelectronics.com 2
7 Series Programmable
Logic
Common Peripherals
Custom
Peripherals
Common Accelerators
Custom Accelerators
Common Peripherals
Processing System
Memory Interfaces
ARM®
Dual Cortex-A9 MPCore™ System
Motivation & Konzept
09 Juli 2013 www.missinglinkelectronics.com 3
2x GigE with DMA
2x USB with DMA
2x SDIO with DMA
Static Memory Controller Quad-SPI, NAND, NOR
Dynamic Memory Controller DDR3, DDR2, LPDDR2
AMBA® Switches
Programmable Logic:
System Gates, DSP, RAM
ACP
I/O MUX
MIO
ARM® CoreSight™ Multi-core & Trace Debug
512 KB L2 Cache
NEON™/ FPU Engine
Cortex™-A9 MPCore™ 32/32 KB I/D Caches
NEON™/ FPU Engine
Cortex™-A9 MPCore™ 32/32 KB I/D Caches
Snoop Control Unit (SCU)
Timer Counters 256 KB On-Chip Memory
General Interrupt Controller DMA Configuration
2x SPI
2x I2C
2x CAN
2x UART
GPIO
Processing System
AMBA® Switches
AMBA® Switches
AMBA® Switches
Dynamische Partielle Rekonfiguration
HW / SW Interface
Dynamische, Partielle Rekonfiguration (DPR)
Integriert in Chips der Xilinx Virtex Familie
DPR: Rekonfiguration zur Laufzeit
XC7Z020:
Größe der statischen Bitdatei: 4000 kB
Theoretische Rekonfigurationszeit : 2,6 ms
09 Juli 2013 www.missinglinkelectronics.com 4
Static Hardware
DPR DPR DPR
DPR DPR
DPR
Dynamische, Partielle Rekonfiguration (DPR)
09 Juli 2013 www.missinglinkelectronics.com 5
ANDROID
09 Juli 2013 www.missinglinkelectronics.com 6
Applications
Application
Framework
Libraries
Linux Kernel
… Browser Kontakte Telefon
… Content
Provider
Window
Manager
Activity
Manager
Davilk Virtual
Machine … SSL
Surface
Manager
… Binder (IPC)
Driver
Camera
Driver
Display
Driver
Andoird auf Xilinx ZYNQ
09 Juli 2013 www.missinglinkelectronics.com 7
2x GigE with DMA
2x USB with DMA
2x SDIO with DMA
Static Memory Controller Quad-SPI, NAND, NOR
Dynamic Memory Controller DDR3, DDR2, LPDDR2
AMBA® Switches
Programmable Logic:
System Gates, DSP, RAM
ACP
I/O MUX
MIO
ARM® CoreSight™ Multi-core & Trace Debug
512 KB L2 Cache
NEON™/ FPU Engine
Cortex™-A9 MPCore™ 32/32 KB I/D Caches
NEON™/ FPU Engine
Cortex™-A9 MPCore™ 32/32 KB I/D Caches
Snoop Control Unit (SCU)
Timer Counters 256 KB On-Chip Memory
General Interrupt Controller DMA Configuration
2x SPI
2x I2C
2x CAN
2x UART
GPIO
Processing System
AMBA® Switches
AMBA® Switches
AMBA® Switches
Logi3D
Logi BitBlt
Logi BMP
Logi CVC
DPR DPR
Schedulingkonzepte
09 Juli 2013 www.missinglinkelectronics.com 8
1. Activity Lifecycle Bindung
+ Systemcode unverändert
- Activity Klassen neu erstellen
2. Service Lifecycle Bindung
+ Systemcode unverändert
- kein Detaillierter App-Zustand
für Scheduling verfügbar
Activity Manager Schnittstellen
+ detaillierter App-Zustand
verfügbar
+ Geringer Aufwand bei App
Entwicklung
3. Erweitern des Activity Managers
+ detaillierter App-Zustand
verfügbar
- Systemcode verändert
Kombination von Android und Xilinx Zynq
09 Juli 2013 www.missinglinkelectronics.com 9
Applications
Application
Framework
Libraries
Linux Kernel
ZYNQ
App 2 App 1
Content
Provider
Activity
Manager
JNI
GPIO
JNI
I2C
DPR
Scheduler
I2C
Driver DPR
Manager DevCfg
Driver
DPR HW
Manager
Processing
System I2C
DPR HW
GPIO
DPR HW
GPIO
Driver
Content
Provider List of
Tasks
Task
State
Hardware
Access
Hardware
Access
Hardware
Access
Hardware
Access
sysfs
Reconfi-
guration Control
DPR Slot IP-Core
• Problem: Wie kann dynamische HW an einem AXI4 ausgetauscht werden?
• Lösung:
09 Juli 2013 www.missinglinkelectronics.com 10
DPR Hardware Manager
• Problem: Wie können die Slots mittels Software aktiviert werden?
• Lösung:
09 Juli 2013 www.missinglinkelectronics.com 11
Linux Layer
• Problem: Wie erfolgt das Laden und Entladen der Treiber?
• Lösung:
09 Juli 2013 www.missinglinkelectronics.com 12
DPR und Android auf dem Xilinx ZYNQ
09 Juli 2013 www.missinglinkelectronics.com 13
2x GigE with DMA
2x USB with DMA
2x SDIO with DMA
Static Memory Controller Quad-SPI, NAND, NOR
Dynamic Memory Controller DDR3, DDR2, LPDDR2
AMBA® Switches
Programmable Logic:
System Gates, DSP, RAM
ACP
I/O MUX
MIO
ARM® CoreSight™ Multi-core & Trace Debug
512 KB L2 Cache
NEON™/ FPU Engine
Cortex™-A9 MPCore™ 32/32 KB I/D Caches
NEON™/ FPU Engine
Cortex™-A9 MPCore™ 32/32 KB I/D Caches
Snoop Control Unit (SCU)
Timer Counters 256 KB On-Chip Memory
General Interrupt Controller DMA Configuration
2x SPI
2x I2C
2x CAN
2x UART
GPIO
Processing System
AMBA® Switches
AMBA® Switches
AMBA® Switches
Dynamische Partielle Rekonfiguration
HW / SW Interface
Hybride Apps = Android App + DPR Slot
09 Juli 2013 www.missinglinkelectronics.com 14
ZIP
Hardware Service
Hardware Driver
Device description (dtb file)
DPR Hardware (bin file)
Android App
Ap
p
Entw
ickl
er
„IP
Co
re“
Entw
ickl
er
Ergebnisse: Slotgranularität
09 Juli 2013 www.missinglinkelectronics.com 15
Slotbreite: 1 bis 60 CLBs
Slothöhe: 1 bis 150 CLBs
Minimale Slotfläche: 1 CLB
Maximale Zahl an Slots: 60
Xilinx XC7Z020 verfügt über 6650 CLBs
1 CLB entspricht ca. 200 ASIC Gates
Ergebnisse: Rekonfigurationszeiten
09 Juli 2013 www.missinglinkelectronics.com 16
1.2
%
13
.7%
17
.6%
24
.0%
14
.5%
11
.9%
4.5
%
3.1
% 5
.2%
2.2
%
0.4
%
0.4
%
0.2
%
0.5
%
0.3
%
0.2
%
0.0
%
0.1
%
0.0%
5.0%
10.0%
15.0%
20.0%
25.0%
30.0%
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36
Häu
figk
eit
Rekonfigurationszeit [ms]
Ergebnisse: Rekonfigurationszeiten
09 Juli 2013 www.missinglinkelectronics.com 17
Übertragene Datenmenge: 30 kB
Kontakt
Missing Link Electronics
Industriestrasse 4 89231 Neu-Ulm
Tel: 0731-141149-14
www.MLEcorp.com
09 Juli 2013 www.missinglinkelectronics.com 18