SlideShare a Scribd company logo
Android in Hybrid Architectures

 iVeia’s Velocity Embedded Hybrid Framework
                                  for Android
What is Hybrid Processing?

• A hybrid processing platform consists of two or more
  different types of computational units, one typically being
  a general-purpose processor (GPP)
  Also referred to as heterogeneous computing

• In the context of this presentation, a platform consisting
  of GPP and field-programmable gate array (FPGA)
  computational units
Benefits of Hybrid Processing

• Computing that can be specialized to target a specific
  set of applications

• Provides Massive parallelism and provides “glue”
  between the compute engine and specialized I/O

• Due to specialization, often superior to frequency scaling
  and multi-core homogeneous processing in terms of
  power, size, and cost
Hybrid ArchitectureExamples
            USB

          Ether-net
                                         Addr, Data,            Special-ized
                       GPP: ARM SoC       Control
                                                        FPGA        I/O
            GPIO

           UARTs


• Discrete devices connected via general-purpose External memory bus

                                                               GPIO

           USB                                                 Special-ized
                      GPP: Intel Atom,     PCIe        FPGA        I/O
         Ether-net      PowerPC

                                                               UARTs


• Discrete devices connected via External Peripheral: PCI Express

           USB
                                            AXI
         Ethernet      GPP: Dual-Core                           Special-ized
                                            AXI        FPGA         I/O
           GPIO             ARM
                                            AXI
          UARTs

• Processor core(s) and FPGA fabric integrated on a single device
Additional Features

• The FPGA fabric is memory mapped to the host
  processor, simplifying software driver design

• The logic can be configured by the host processor so
  one platform can be targeted to multiple applications

• The FPGA fabric may be used to extend the I/O
  capability of the GPP
Android Is:

• Robust open-source software platform
   • Designed for mobile devices
   • Free development tools, a rich development
     environment
   • Large fast-growing community and eco-system

• Full-featured application framework

• Open-source, but with business-friendly licensing (vs.
  GPL)
Benefits of Android and Hybrid Processing


• Extend the capabilities of a mobile Android device with
  high-performance specialized acceleration
• Interface non-traditional peripherals to a mobile Android
  device
• Add a robust user interface to a device / system
  (whether the device is mobile or not)
iVeia Real-World Examples

•   Handheld Speech-to-Speech Translator
•   Medical Sterilizer
•   Controlled Drug Dispenser
•   Military Radio
•   Imaging Enhancement
Android as an Embedded OS

• Rigid application framework
   • Difficult to add custom hardware/features
• Security protects hardware (i.e., mobile phone) from any
  malicious software, but cumbersome for embedded
  applications
• Divergence from traditional Linux
   • Bionic vs. GLIBC C Library
   • Binder vs. POSIX for IPC
   • Non-FHS filesystem
   • Wakelocks
Custom Service Solution

• The “proper” way to add non-standard device support is
  using Android’s HAL
• Done so through a system service
• Just like stock Android services, application interfaces to
  service using System Server and Service Manager
• Drawback: Requires several custom code modules to
  implement
Custom Service Stack


                       App

  Custom       App Framework / APIs

  Android         System Server
                                         Java

                Custom Service           JNI

Android        Hardware Library (.so)   C Code

Linux Kernel   Device Driver (/dev/…)

                     Hardware
Custom Service Coding

Elements
• Linux Device Driver / Kernel Module
• Hardware Module
     •   Built into Android SDK interfaces with Linux device driver
•   Service’s Java Native Interface (JNI)Code
     •   Loads and interfaces with hardware module
•   Service’s Java code
     •   Interfaces with hardware through JNI
•   SystemServer.java
     •   Modified to register new service
•   Android Interface Definition Language file
     •   Used to expose service’s API to applications


After Rebuild
• Code can now be added to the App to access the new service
Custom Service: Coding

 Modify App to Use
   New Service
                             App              my_service.aidl

                     App Framework / APIs
     Modify
SystemServer.java       System Server
                                              my_service.java

                      Custom Service
   my_lib.c                                    my_jni.cpp
                     Hardware Library (.so)

                     Device Driver (/dev/…)
 my_driver.c
                           Hardware
Android and Programmable Logic

• As shown, adding new devices/peripherals in Android is
  tedious
• In re-programmable logic, hardware can change
  between code revisions, boots, even at run-time
• Re-writing device support for each possible logic design
  would be time-consuming and expensive
• Solution: Create a single framework to support multiple
  designs
Hybrid Framework

• Application “container”
   • Includes both the software application and programmable logic
     application
• Develop a standard set of methods
   • Interfacing software and logic applications
• Develop programmable logic IP and software
   • Drivers, libraries, and APIs to facilitate this interface
Software Container

• Android framework provides the “container” for the
  software application
• System service (e.x., PLService) bridges Android
  framework to programmable logic framework through
  HAL library
• Linux-level device drivers access programmable logic
  through memory-mapped interface
• Device drivers abstract GPP<->PL interconnect
  mechanism
Android Hybrid Framework


                       SW App
                 App Framework / APIs

  Application       System Server

   Software            PLService

Hardware/Logic   Hardware Library (.so)

                 Device Driver (/dev/…)

                 GPP<->PL Interconnect
                      Interface IP
                     PL Framework
                        PL App
Programmable Logic Container

• A set of well-defined physical interfaces and protocols
  that are identical between architectures
• IP blocks abstract interfaces from the GPP<->PL
  interconnect mechanism
• Essentially a “BSP” for programmable logic
Velocity-EHF for Android

                                                                SW App
• Application framework &portability layer                App Framework / APIs
   • Specifically suited for hybrid target platforms
                                                              System Server
     and applications

• Designed to provide standard interfaces                       PLService

   • Both software and programmable logic applications.   Hardware Library (.so)

• Comprehensive Suite                                     Device Driver (/dev/…)
   • Programmable logic IP blocks
                                                          GPP<->PL Interconnect
   • Software libraries
                                                               Interface IP

                                                              PL Framework

                                                                 PL App




  Framework ported supporting Hybrid Processing architectures
                              Zynq, TI OMAP & PowerPC
Hybrid FrameworkAdvantages

• No need to code Android HAL support and drivers for
    each new FPGA design
•   Creates portability layer between platforms
•   Abstraction simplifies app development
•   Software and hardware can be developed
    independently, reducing integration stages
•   Easier partitioning and development
•   Simplifies management of applications
Velocity-EHF for Zynq: PL Container


          Zynq PS / CPUs                  Dual Cortex-A9 ARM Cores

            Zynq PL<->PS       AXI            AXI         FCLK /           IRQ
              Interconnect     HP             GP          FRST            PL2PS
                               AXI            AXI         Clk/Rst         Events
       PL Framework Intf IP   ZAP IP         OCP IP        Gen              IP




                                                           Power Mgmt
                                                            Clks, Rsts,




                                                                            Notifications
                               Transfer




                                               Conrol /
                                               Status
                                 Data




     PL Framework and App                         PL App
                                               PL Framework

                 Hardware                      Specialized I/O
Velocity-EHF for Zynq: SW Container


                                                    App
                                         App Framework / APIs

        Android Framework                   System Server

    Android System Service                  VEHFService

                               libzap      libocp         libplsys   libevents
 Android Hardware Modules        .so         .so             .so         .so

                                                          /dev/pls   /dev/iv_e
       Linux Device Drivers   /dev/zap    /dev/ocp                     vents
                                                             ys
                                AXI         AXI           FCLK /      IRQ
 Zynq PL<->PS Interconnect      HP          GP            FRST       PL2PS
                               AXI         AXI            Clk/Rst    Events
    FPGA Framework Intf IP    ZAP IP      OCP IP           Gen         IP
Velocity-EHF Advantages

• FPGA can be “wiped” and re-configured at run-time
    based on application request
•   Support for multiple programmable logic containers
•   Each PL container could support an independent
    software application
•   Abstrated complex arbitration in both PL interface IP and
    in the Android EHF service
•   Future development: partial reconfiguration to
    dynamically allocate containers based on software
    demand
Conclusion


• Developing Android support to interface multiple
  differing programmable logic designs is time
  consuming and expensive
• The Velocity-EHF framework eliminates the problem
  and provides an application-ready environment
• The framework improves standardization,
  portability,CPU/logic partitioning

More Related Content

PDF
Droidcon2013 ndk cpu_architecture_optimization_weggerle_intel
PDF
Droidcon ndk cpu_architecture_optimization
PDF
Code Reuse Made Easy: Uncovering the Hidden Gems of Corporate and Open Source...
PDF
Heterogeneous Systems Architecture: The Next Area of Computing Innovation
 
PDF
Qualcomm Hexagon SDK: Optimize Your Multimedia Solutions
PDF
Fel Flyer F11
PPTX
Enabling Cross-platform Deep Learning Applications with Intel OpenVINO™
PPTX
OpenCV for Embedded: Lessons Learned
Droidcon2013 ndk cpu_architecture_optimization_weggerle_intel
Droidcon ndk cpu_architecture_optimization
Code Reuse Made Easy: Uncovering the Hidden Gems of Corporate and Open Source...
Heterogeneous Systems Architecture: The Next Area of Computing Innovation
 
Qualcomm Hexagon SDK: Optimize Your Multimedia Solutions
Fel Flyer F11
Enabling Cross-platform Deep Learning Applications with Intel OpenVINO™
OpenCV for Embedded: Lessons Learned

What's hot (20)

PPTX
OpenVINO introduction
PPTX
Develop and optimize CV/DL applications with Intel OpenVINO toolkit
PPTX
Real-world Vision Systems Design: Challenges and Techniques
PDF
Droid con 2012 bangalore v2.0
PDF
Develop, Deploy, and Innovate with Intel® Cluster Ready
PDF
Android Library Projects
PDF
Apache Big Data Europe 2016
PDF
Scalable Elastic Systems Architecture (SESA)
PDF
Simulation Directed Co-Design from Smartphones to Supercomputers
PDF
pravesh_kumar
PDF
Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...
PDF
AI & Computer Vision (OpenVINO) - CPBR12
DOC
Resume_suresh_final
PPTX
Cyber security2012 hybrid-hardware-software
PPTX
oneAPI: Industry Initiative & Intel Product
PDF
What's new with Zend server
PPTX
Java Presentation
PPTX
Tyrone-Intel oneAPI Webinar: Optimized Tools for Performance-Driven, Cross-Ar...
PPTX
Design and Optimize your code for high-performance with Intel® Advisor and I...
PDF
Sapphire
OpenVINO introduction
Develop and optimize CV/DL applications with Intel OpenVINO toolkit
Real-world Vision Systems Design: Challenges and Techniques
Droid con 2012 bangalore v2.0
Develop, Deploy, and Innovate with Intel® Cluster Ready
Android Library Projects
Apache Big Data Europe 2016
Scalable Elastic Systems Architecture (SESA)
Simulation Directed Co-Design from Smartphones to Supercomputers
pravesh_kumar
Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...
AI & Computer Vision (OpenVINO) - CPBR12
Resume_suresh_final
Cyber security2012 hybrid-hardware-software
oneAPI: Industry Initiative & Intel Product
What's new with Zend server
Java Presentation
Tyrone-Intel oneAPI Webinar: Optimized Tools for Performance-Driven, Cross-Ar...
Design and Optimize your code for high-performance with Intel® Advisor and I...
Sapphire
Ad

Viewers also liked (20)

PPTX
How To Buy on Qoo10 Malaysia
PPTX
Main brief and mood board
PPT
Analysing cover 2
PPTX
Evalutation
PPT
Analysis of double page spreads
PPTX
Apex entrepreneurship club
PPTX
Task 6
PPTX
As media unit g321 evaluation
PPTX
Double page spread analysis
PPTX
Taller de informatica
PPTX
Bab 2 reproduksi
PPT
Evaluation Question 7
PPTX
Second front cover, kerrang
PPTX
PPTX
Main Brief and Mood Board
PPTX
PPTX
Question 1 - Paige Coles
PPTX
Front cover analysis 3 – top of the pops
PPT
Analysing nme dizzee cover prep for blog done.
PPTX
Focus group
How To Buy on Qoo10 Malaysia
Main brief and mood board
Analysing cover 2
Evalutation
Analysis of double page spreads
Apex entrepreneurship club
Task 6
As media unit g321 evaluation
Double page spread analysis
Taller de informatica
Bab 2 reproduksi
Evaluation Question 7
Second front cover, kerrang
Main Brief and Mood Board
Question 1 - Paige Coles
Front cover analysis 3 – top of the pops
Analysing nme dizzee cover prep for blog done.
Focus group
Ad

Similar to Velocity-EHF for Android (20)

PPT
Agnostic Device Drivers
PPTX
OFI Overview 2019 Webinar
PDF
FPGA Camp - National Instruments Presentation
PPT
Aldec overview 2011-10 revised
PDF
Cisco Application eXtension Platform (AXP) - James Weathersby, Cisco
PDF
Using a Field Programmable Gate Array to Accelerate Application Performance
PDF
"APIs for Accelerating Vision and Inferencing: Options and Trade-offs," a Pre...
PPTX
Heterogeneous Computing on POWER - IBM and OpenPOWER technologies to accelera...
PDF
Learn more about the tremendous value Open Data Plane brings to NFV
PDF
What's New in RHEL 6 for Linux on System z?
PPTX
Zend Products and PHP for IBMi
PPTX
dpdk acceleration techniques ncdşs şdcnş
PDF
NFV and SDN: 4G LTE and 5G Wireless Networks on Intel(r) Architecture
PDF
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
PDF
Xilinx manual
PDF
"An Update on Open Standard APIs for Vision Processing," a Presentation from ...
PDF
Using SoC Vendor HALs in the Zephyr Project - SFO17-112
PPTX
Easily emulating full systems on amazon fpg as
PDF
DBCC 2021 - FLiP Stack for Cloud Data Lakes
PPTX
SDN, OpenFlow, NFV, and Virtual Network
Agnostic Device Drivers
OFI Overview 2019 Webinar
FPGA Camp - National Instruments Presentation
Aldec overview 2011-10 revised
Cisco Application eXtension Platform (AXP) - James Weathersby, Cisco
Using a Field Programmable Gate Array to Accelerate Application Performance
"APIs for Accelerating Vision and Inferencing: Options and Trade-offs," a Pre...
Heterogeneous Computing on POWER - IBM and OpenPOWER technologies to accelera...
Learn more about the tremendous value Open Data Plane brings to NFV
What's New in RHEL 6 for Linux on System z?
Zend Products and PHP for IBMi
dpdk acceleration techniques ncdşs şdcnş
NFV and SDN: 4G LTE and 5G Wireless Networks on Intel(r) Architecture
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
Xilinx manual
"An Update on Open Standard APIs for Vision Processing," a Presentation from ...
Using SoC Vendor HALs in the Zephyr Project - SFO17-112
Easily emulating full systems on amazon fpg as
DBCC 2021 - FLiP Stack for Cloud Data Lakes
SDN, OpenFlow, NFV, and Virtual Network

Recently uploaded (20)

PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Big Data Technologies - Introduction.pptx
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Electronic commerce courselecture one. Pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Unlocking AI with Model Context Protocol (MCP)
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Cloud computing and distributed systems.
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
sap open course for s4hana steps from ECC to s4
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Spectral efficient network and resource selection model in 5G networks
Dropbox Q2 2025 Financial Results & Investor Presentation
Big Data Technologies - Introduction.pptx
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Network Security Unit 5.pdf for BCA BBA.
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Electronic commerce courselecture one. Pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Encapsulation_ Review paper, used for researhc scholars
Unlocking AI with Model Context Protocol (MCP)
“AI and Expert System Decision Support & Business Intelligence Systems”
Cloud computing and distributed systems.
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Chapter 3 Spatial Domain Image Processing.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...

Velocity-EHF for Android

  • 1. Android in Hybrid Architectures iVeia’s Velocity Embedded Hybrid Framework for Android
  • 2. What is Hybrid Processing? • A hybrid processing platform consists of two or more different types of computational units, one typically being a general-purpose processor (GPP) Also referred to as heterogeneous computing • In the context of this presentation, a platform consisting of GPP and field-programmable gate array (FPGA) computational units
  • 3. Benefits of Hybrid Processing • Computing that can be specialized to target a specific set of applications • Provides Massive parallelism and provides “glue” between the compute engine and specialized I/O • Due to specialization, often superior to frequency scaling and multi-core homogeneous processing in terms of power, size, and cost
  • 4. Hybrid ArchitectureExamples USB Ether-net Addr, Data, Special-ized GPP: ARM SoC Control FPGA I/O GPIO UARTs • Discrete devices connected via general-purpose External memory bus GPIO USB Special-ized GPP: Intel Atom, PCIe FPGA I/O Ether-net PowerPC UARTs • Discrete devices connected via External Peripheral: PCI Express USB AXI Ethernet GPP: Dual-Core Special-ized AXI FPGA I/O GPIO ARM AXI UARTs • Processor core(s) and FPGA fabric integrated on a single device
  • 5. Additional Features • The FPGA fabric is memory mapped to the host processor, simplifying software driver design • The logic can be configured by the host processor so one platform can be targeted to multiple applications • The FPGA fabric may be used to extend the I/O capability of the GPP
  • 6. Android Is: • Robust open-source software platform • Designed for mobile devices • Free development tools, a rich development environment • Large fast-growing community and eco-system • Full-featured application framework • Open-source, but with business-friendly licensing (vs. GPL)
  • 7. Benefits of Android and Hybrid Processing • Extend the capabilities of a mobile Android device with high-performance specialized acceleration • Interface non-traditional peripherals to a mobile Android device • Add a robust user interface to a device / system (whether the device is mobile or not)
  • 8. iVeia Real-World Examples • Handheld Speech-to-Speech Translator • Medical Sterilizer • Controlled Drug Dispenser • Military Radio • Imaging Enhancement
  • 9. Android as an Embedded OS • Rigid application framework • Difficult to add custom hardware/features • Security protects hardware (i.e., mobile phone) from any malicious software, but cumbersome for embedded applications • Divergence from traditional Linux • Bionic vs. GLIBC C Library • Binder vs. POSIX for IPC • Non-FHS filesystem • Wakelocks
  • 10. Custom Service Solution • The “proper” way to add non-standard device support is using Android’s HAL • Done so through a system service • Just like stock Android services, application interfaces to service using System Server and Service Manager • Drawback: Requires several custom code modules to implement
  • 11. Custom Service Stack App Custom App Framework / APIs Android System Server Java Custom Service JNI Android Hardware Library (.so) C Code Linux Kernel Device Driver (/dev/…) Hardware
  • 12. Custom Service Coding Elements • Linux Device Driver / Kernel Module • Hardware Module • Built into Android SDK interfaces with Linux device driver • Service’s Java Native Interface (JNI)Code • Loads and interfaces with hardware module • Service’s Java code • Interfaces with hardware through JNI • SystemServer.java • Modified to register new service • Android Interface Definition Language file • Used to expose service’s API to applications After Rebuild • Code can now be added to the App to access the new service
  • 13. Custom Service: Coding Modify App to Use New Service App my_service.aidl App Framework / APIs Modify SystemServer.java System Server my_service.java Custom Service my_lib.c my_jni.cpp Hardware Library (.so) Device Driver (/dev/…) my_driver.c Hardware
  • 14. Android and Programmable Logic • As shown, adding new devices/peripherals in Android is tedious • In re-programmable logic, hardware can change between code revisions, boots, even at run-time • Re-writing device support for each possible logic design would be time-consuming and expensive • Solution: Create a single framework to support multiple designs
  • 15. Hybrid Framework • Application “container” • Includes both the software application and programmable logic application • Develop a standard set of methods • Interfacing software and logic applications • Develop programmable logic IP and software • Drivers, libraries, and APIs to facilitate this interface
  • 16. Software Container • Android framework provides the “container” for the software application • System service (e.x., PLService) bridges Android framework to programmable logic framework through HAL library • Linux-level device drivers access programmable logic through memory-mapped interface • Device drivers abstract GPP<->PL interconnect mechanism
  • 17. Android Hybrid Framework SW App App Framework / APIs Application System Server Software PLService Hardware/Logic Hardware Library (.so) Device Driver (/dev/…) GPP<->PL Interconnect Interface IP PL Framework PL App
  • 18. Programmable Logic Container • A set of well-defined physical interfaces and protocols that are identical between architectures • IP blocks abstract interfaces from the GPP<->PL interconnect mechanism • Essentially a “BSP” for programmable logic
  • 19. Velocity-EHF for Android SW App • Application framework &portability layer App Framework / APIs • Specifically suited for hybrid target platforms System Server and applications • Designed to provide standard interfaces PLService • Both software and programmable logic applications. Hardware Library (.so) • Comprehensive Suite Device Driver (/dev/…) • Programmable logic IP blocks GPP<->PL Interconnect • Software libraries Interface IP PL Framework PL App Framework ported supporting Hybrid Processing architectures Zynq, TI OMAP & PowerPC
  • 20. Hybrid FrameworkAdvantages • No need to code Android HAL support and drivers for each new FPGA design • Creates portability layer between platforms • Abstraction simplifies app development • Software and hardware can be developed independently, reducing integration stages • Easier partitioning and development • Simplifies management of applications
  • 21. Velocity-EHF for Zynq: PL Container Zynq PS / CPUs Dual Cortex-A9 ARM Cores Zynq PL<->PS AXI AXI FCLK / IRQ Interconnect HP GP FRST PL2PS AXI AXI Clk/Rst Events PL Framework Intf IP ZAP IP OCP IP Gen IP Power Mgmt Clks, Rsts, Notifications Transfer Conrol / Status Data PL Framework and App PL App PL Framework Hardware Specialized I/O
  • 22. Velocity-EHF for Zynq: SW Container App App Framework / APIs Android Framework System Server Android System Service VEHFService libzap libocp libplsys libevents Android Hardware Modules .so .so .so .so /dev/pls /dev/iv_e Linux Device Drivers /dev/zap /dev/ocp vents ys AXI AXI FCLK / IRQ Zynq PL<->PS Interconnect HP GP FRST PL2PS AXI AXI Clk/Rst Events FPGA Framework Intf IP ZAP IP OCP IP Gen IP
  • 23. Velocity-EHF Advantages • FPGA can be “wiped” and re-configured at run-time based on application request • Support for multiple programmable logic containers • Each PL container could support an independent software application • Abstrated complex arbitration in both PL interface IP and in the Android EHF service • Future development: partial reconfiguration to dynamically allocate containers based on software demand
  • 24. Conclusion • Developing Android support to interface multiple differing programmable logic designs is time consuming and expensive • The Velocity-EHF framework eliminates the problem and provides an application-ready environment • The framework improves standardization, portability,CPU/logic partitioning

Editor's Notes

  • #11: Service Definition from android.com: “A Service is an application component that can perform long-running operations in the background and does not provide a user interface. Another application component can start a service and it will continue to run in the background even if the user switches to another application. Additionally, a component can bind to a service to interact with it and even perform interprocess communication (IPC). For example, a service might handle network transactions, play music, perform file I/O, or interact with a content provider, all from the background.”
  • #22: Pose a problemProblem statement: diff possibliities How do you leverage this - What is the methodolgy – C code to FPGA programmable logicGP ports for -Control registers access for peripehrals, vs. streaming data HW portsSeparation between GP and HP portsThe figure below shows the Xilinx® Zynq™-7000 All Programmable SOC high level view combining a tightly coupled Dual Cortex-A9 processing system with significant amounts of programmable logic. This combination provides the flexibility and scalability of an FPGA combined with the efficiency of a high-performance ASIC-based processing system. The large number of connections between the processing system and the programmable logic minimizes communication bottlenecks and enables access both from the processing system to accelerators and peripherals in the programmable logic and from the programmable logic to peripherals and memory interfaces in the processing system. In particular, the Zynq-7000 All Programmable SOC includes a number of General Purpose (GP) AXI3 Master ports, which are primarily used for passing control register information from the processor to the FPGA fabric, and number of High Performance (HP) AXI3 Slave ports, which are primarily used in combination with DMA peripherals in the programmable logic to transfer data to and from external memories. In addition, the Zynq-7000 All Programmable SOC exposes the ARM Accelerator Coherency Port (ACP) to the programmable logic as an AXI Slave interface that can be used in combination with DMA peripherals in the programmable logic to transfer data directly to and from the processor caches.. In addition, system architects and developers can now look at system level performance encompassing both the processing system and the programmable logic in a single device. As part of the optimization process, computationally expensive algorithms can be transferred from the processing system into the programmable logic.Introduction to methodologyUsing this platform – these are the design tasksFlexibility – customizeable ASSP – in multi-dimensionsArchitectureAcceleration