Performed By: Itamar Niddam and Lior Motorin Instructor: Inna Rivkin Bi-Semesterial. Winter...

download Performed By: Itamar Niddam and Lior Motorin Instructor: Inna Rivkin Bi-Semesterial. Winter 2012/2013 3/12/2012.

If you can't read please download the document

description

Introduction The Xilinx ZC-702 Board for Zynq-7000 have the ability to run Android OS on it. Dual ARM A9 – Cortex processors DDR3 Memory (1 GB)

Transcript of Performed By: Itamar Niddam and Lior Motorin Instructor: Inna Rivkin Bi-Semesterial. Winter...

Performed By: Itamar Niddam and Lior Motorin Instructor: Inna Rivkin Bi-Semesterial. Winter 2012/2013 3/12/2012 Introduction Software provides extended flexibility while hardware gives better performance. Many applications use software-based algorithms, which suffer from low Performance and cause bottle-necks. Therefore, the whole application performance is reduced. Hardware-Accelerators are well known solutions, but they are specific for each Problem and cannot be changed. Moreover, an application cannot supply its own Hardware accelerator and must rely on existing accelerators. Introduction The Xilinx ZC-702 Board for Zynq-7000 have the ability to run Android OS on it. Dual ARM A9 Cortex processors DDR3 Memory (1 GB) Processing System Programmable Logic LogicBricks HDMI Controller Custom IP Core 1 : A9 ARM Core 0 : A9 ARM USB 0 AXI4 HDMIFMCUART Introduction A Hardware-accelerator for specific application will be provided (AES encryption/decryption for example). An android application which uses the custom Hardware. Project goals Understand the structure of the ZC-702 board. Understand the structure of the Android OS. Run Android OS on the board (without any modifications) Implement a custom IP and integrate it on android OS using the ZC-702 board. Analyze the performance improvement for Encryption hardware-accelerator. Documentation and manuals The development environment. Xilinx Platform Studio Xilinx SDK Linux PC C/C++ for Android Kernel Java Eclipse Flow chart 1. Learning the development environment. 2. Setting up the system (board and OS). 3. Proof Of Concept. 4. Developing and implementing the custom hardware accelerators. 5. Integrating the hardware with Android OS. 6. Developing user Android application. 7. Performance analysis. 1. Learning the development environment. Getting known with The system components. Participating in Vivado HLS Xilinx workshop. Reading online manuals and E-books (Getting Started with Android on the Xilinx ZC702 manual.Getting Started with Android on the Xilinx ZC702 Embedded Systems Development using Zynq ). 1. Learning the development environment. 2. Setting up the system (board and OS). 3. Proof Of Concept. 4. Developing and implementing the custom hardware accelerators. 5. Integrating the hardware with Android OS. 6. Developing user Android application. 7. Performance analysis. 2. Setting up the system (board and OS). Choosing the suitable board for the project goals. Running simple Android environment without any hardware modifications. Get source codes and licenses of components of the system. 1. Learning the development environment. 2. Setting up the system (board and OS). 3. Proof Of Concept. 4. Developing and implementing the custom hardware accelerators. 5. Integrating the hardware with Android OS. 6. Developing user Android application. 7. Performance analysis. 3. Proof Of Concept. Create a very simple custom IP. Generate BitStream and OS files to support the new Hardware. Create a simple application which uses the custom IP. Test implementation and performance 1. Learning the development environment. 2. Setting up the system (board and OS). 3. Proof Of Concept. 4. Developing and implementing the custom hardware accelerators. 5. Integrating the hardware with Android OS. 6. Developing user Android application. 7. Performance analysis. 4. Developing and implementing the custom hardware accelerators. Use Vivado HLS / VHDL to create the custom IP. Test the hardware using simulation tools. 1. Learning the development environment. 2. Setting up the system (board and OS). 3. Proof Of Concept. 4. Developing and implementing the custom hardware accelerators. 5. Integrating the hardware with Android OS. 6. Developing user Android application. 7. Performance analysis. 5. Integrating the hardware with Android OS. Implement android OS drivers for the new hardware Change the BSP in order to support the new hardware Testing 1. Learning the development environment. 2. Setting up the system (board and OS). 3. Proof Of Concept. 4. Developing and implementing the custom hardware accelerators. 5. Integrating the hardware with Android OS. 6. Developing user Android application. 7. Performance analysis. 6. Developing user Android application. Create a simple Android application (Using java) that has 2 versions: uses the custom IP, Pure software. Check compatibility of Android SDK to support new hardware 1. Learning the development environment. 2. Setting up the system (board and OS). 3. Proof Of Concept. 4. Developing and implementing the custom hardware accelerators. 5. Integrating the hardware with Android OS. 6. Developing user Android application. 7. Performance analysis. Running the 2 applications and measure execution time. compare performances. 1. Learning the development environment. 2. Setting up the system (board and OS). 3. Proof Of Concept. 4. Developing and implementing the custom hardware accelerators. 5. Integrating the hardware with Android OS. 6. Developing user Android application. 7. Performance analysis. Goals until Middle Presentation Oct Learning the development environment Arrange the material and guides needed for next steps Nov Running android on the board without any hardware modifications Get source codes and try to build again As it is and run it without any problems Dec Build a simple custom hardware Compile Android OS to support the hardware Write a simple application which uses the new hardware Jan Middle Presentation 22 January OctNov DecJanFeb Mar Learning the development environment Running android on the board without any hardware modifications Learning the development environment Get source codes and try to build again As it is and run it without any problems Build a simple custom hardware Compile Android OS to support the hardware Write a simple application which uses the new hardware Middle Presentation Middle Presentation Developing and implementing the custom hardware Integrating the hardware with Android OS Middle Presentation Middle Presentation Developing user Android application Performance analysis Final presentation Project Gantt PDR Presentation Questions