Optimizing HW/SW Partition of a Complex Embedded Systems. Simon George November 2015.

Similar documents
借助 SDSoC 快速開發複雜的嵌入式應用

A So%ware Developer's Journey into a Deeply Heterogeneous World. Tomas Evensen, CTO Embedded So%ware, Xilinx

SDSoC Technical Seminars Feb 2016

SDSoC: Session 1

Copyright 2014 Xilinx

Designing a Multi-Processor based system with FPGAs

MATLAB/Simulink 기반의프로그래머블 SoC 설계및검증

SoC Systeme ultra-schnell entwickeln mit Vivado und Visual System Integrator

SoC Systeme ultra-schnell entwickeln mit Vivado und Visual System Integrator

High-level programming tools for FPGA

Extending the Power of FPGAs

Estimating Accelerator Performance and Events

Introduction to Embedded System Design using Zynq

Use ZCU102 TRD to Accelerate Development of ZYNQ UltraScale+ MPSoC

Integrated Workflow to Implement Embedded Software and FPGA Designs on the Xilinx Zynq Platform Puneet Kumar Senior Team Lead - SPC

ECE 5775 (Fall 17) High-Level Digital Design Automation. Hardware-Software Co-Design

Hardware-Software Co-Design and Prototyping on SoC FPGAs Puneet Kumar Prateek Sikka Application Engineering Team

Midterm Exam. Solutions

High-Level Synthesis: Accelerating Alignment Algorithm using SDSoC

First hour Zynq architecture

Ted N. Booth. DesignLinx Hardware Solutions

Hardware Acceleration of a Software-based VPN

Optimised OpenCL Workgroup Synthesis for Hybrid ARM-FPGA Devices

Extending the Power of FPGAs to Software Developers:

TP : System on Chip (SoC) 1

Vivado HLx Design Entry. June 2016

Adaptable Intelligence The Next Computing Era

FPGA Entering the Era of the All Programmable SoC

Design AXI Master IP using Vivado HLS tool

Extending Model-Based Design for HW/SW Design and Verification in MPSoCs Jim Tung MathWorks Fellow

HEAD HardwarE Accelerated Deduplication

Profiling Applications and Creating Accelerators

Copyright 2016 Xilinx

Simulation, prototyping and verification of standards-based wireless communications

NEW FPGA DESIGN AND VERIFICATION TECHNIQUES MICHAL HUSEJKO IT-PES-ES

Designing and Prototyping Digital Systems on SoC FPGA The MathWorks, Inc. 1

Real-Timeness and System Integrity on a Asymmetric Multi Processing configuration

Bringing the benefits of Cortex-M processors to FPGA

Zynq-7000 All Programmable SoC: Concepts, Tools, and Techniques (CTT)

Zynq Architecture, PS (ARM) and PL

Vivado Fpga Xilinx. Xilinx Vivado Vs Ise - S2i xilinx vivado vs ise user comparison of the fpga development tools 3/6 vivado 2013.

1-1 SDK with Zynq EPP

Hardware In The Loop (HIL) Simulation for the Zynq-7000 All Programmable SoC Author: Umang Parekh

Versal: AI Engine & Programming Environment

Lab Exercise 4 System on chip Implementation of a system on chip system on the Zynq

Optimizing Cache Coherent Subsystem Architecture for Heterogeneous Multicore SoCs

SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS

Model-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany

Partitioning of computationally intensive tasks between FPGA and CPUs

CprE 488 Embedded Systems Design

81920**slide. 1Developing the Accelerator Using HLS

Simplify System Complexity

Zynq-7000 All Programmable SoC: Embedded Design Tutorial. A Hands-On Guide to Effective Embedded System Design

FCUDA-SoC: Platform Integration for Field-Programmable SoC with the CUDAto-FPGA

Combining Arm & RISC-V in Heterogeneous Designs

Use Vivado to build an Embedded System

Hardware and Software Co-Design for Motor Control Applications

The Yocto Project. Chris Young S/W Specialist SILICA Europe. Harmonising Software Development across multiple Embedded ARM SOC targets

ECE 699: Lecture 12. Introduction to High-Level Synthesis

10/02/2015 Vivado Linux Basic System

S2C K7 Prodigy Logic Module Series

System Level Design with IBM PowerPC Models

Hardware and Software Co-Design for Motor Control Applications

FPGA 加速机器学习应用. 罗霖 2017 年 6 月 20 日

Midterm Exam. Solutions

Use Vivado to build an Embedded System

High-Level Synthesis Optimization for Blocked Floating-Point Matrix Multiplication

MPSOC Design examples

Description: Write VHDL code for full_adder.vhd with inputs from switches and outputs to LEDs.

Creating a Processor System Lab

Building an Embedded Processor System on a Xilinx Zync FPGA (Profiling): A Tutorial

Protecting Embedded Systems from Zero-Day Attacks

Creating a base Zynq design with Vivado IPI

MicroZed: Hello World. Overview. Objectives. 23 August 2013 Version 2013_2.01

9 REASONS WHY THE VIVADO DESIGN SUITE ACCELERATES DESIGN PRODUCTIVITY

Tutorial on Software-Hardware Codesign with CORDIC

Zynq Ultrascale Mpsoc For The System Architect Logtel

Adding Custom IP to the System

OpenCV on Zynq: Accelerating 4k60 Dense Optical Flow and Stereo Vision. Kamran Khan, Product Manager, Software Acceleration and Libraries July 2017

Zynq Ultrascale+ Architecture

Introducing the Spartan-6 & Virtex-6 FPGA Embedded Kits

SimXMD Simulation-based HW/SW Co-debugging for field-programmable Systems-on-Chip

Simplify System Complexity

Veloce2 the Enterprise Verification Platform. Simon Chen Emulation Business Development Director Mentor Graphics

An Automatic Mixed Software Hardware Pipeline Builder for CPU-FPGA Platforms

Lab 4: Convolutional Neural Networks Due Friday, November 3, 2017, 11:59pm

SimXMD: Simulation-based HW/SW Co-Debugging for FPGA Embedded Systems

SimXMD Co-Debugging Software and Hardware in FPGA Embedded Systems

WP3: GPS and Time-Tagging Case Western Reserve University (Cleveland, USA)

Parallella Linux - quickstart guide. Antmicro Ltd

Lab 1 - Zynq RTL Design Flow

LED display manager documentation

II. LITERATURE SURVEY

The Design of Sobel Edge Extraction System on FPGA

Versal: The New Xilinx Adaptive Compute Acceleration Platform (ACAP) in 7nm

Exploring OpenCL Memory Throughput on the Zynq

DESIGN AND IMPLEMENTATION OF A GAS IDENTIFICATION SYSTEM ON ZYNQ SOC PLATFORM

CE 435 Embedded Systems. Spring Lab 3. Adding Custom IP to the SoC Hardware Debug. CE435 Embedded Systems

SDACCEL DEVELOPMENT ENVIRONMENT. The Xilinx SDAccel Development Environment. Bringing The Best Performance/Watt to the Data Center

Figure 1 TCL Used to Initialize PS

Transcription:

Optimizing HW/SW Partition of a Complex Embedded Systems Simon George November 2015

Zynq-7000 All Programmable SoC HP ACP GP Page 2

Zynq UltraScale+ MPSoC Page 3

HW/SW Optimization Challenges application() Func_A() Func_B() Func_C() HW/SW Partition? Processor Func_A Func_B,Func_C Programmable Logic HP Port ACP Port GP Port HW/SW Connectivity? Axi4-Stream DMA Axi4-Full Axi4-Lite Func_A Datamover PS-PL interfaces SW drivers Func_B,Func_C Page 4

Before SDSoC: Connectivity Exploration Met Req? C/C++ SDK Application C SDK, OS Tools PS Driver IPI project IP Integrator Datamover PS-PL interface PL HLS Verilog, VHDL Vivado IP HW-SW partition spec Need to Modify Multiple Levels of Design Entry Page 5

Before SDSoC: HW/SW Partition Exploration Met Req? C/C++ SDK Application C SDK, OS Tools PS Driver IPI project IP Integrator Datamover PS-PL interface PL HLS Verilog, VHDL Vivado IP HW-SW partition spec Involves Multiple Disciplines to Explore Architecture Page 6

SDSoC: Automatic System Generation Met Req? C/C++ Application PS Driver Func_A(); Func_B(); Func_C(); SDSoC Datamover PS-PL interface PL IP Select functions for PL C/C++ Applications to System in hours Page 7

SDSoC: HW Acceleration from C/C++ Applications Performance Estimation C/C++ Applications System-level Profiling Specify Functions for Acceleration Move C/C++ functions to hardware Full system generation including driver and hardware connectivity System-level debug and profile Rapid HW partitioning and exploration Full System Generation Page 8

SDSoC: Embedded C/C++ Applications Programming Experience C/C++ Development Easy to use Eclipse IDE Estimator Compiler Debugger Profiler One click to accelerate functions in Programmable Logic (PL) Optimized libraries Xilinx, ARM and Partners DSP, Video, fixed point, linear algebra, BLAS, OpenCV Support for Linux, FreeRTOS and baremetal Additional OS support in future releases Page 9

SDSoC: System Level Profiling Rapid system performance estimation Full system estimation (programmable logic, data communication, processing system) Reports SW/HW cycle level performance and hardware utilization Automated performance measurement Runtime measurement by instrumentation of cache, memory, and bus utilization Page 10

SDSoC: Full System Optimizing Compiler Rapid software configurable application acceleration using C/C++ Automated function acceleration in programmable logic Up to 100X increase in performance vs software System optimized for latency, bandwidth, and hardware utilization Page 11

Automated Generation of System Connectivity Find the lowest latency 32X32 floating point matrix multiply (latency in processor cycles) Explore system performance and power Rapidly configure, generate macro and micro architectures Explore optimal interconnect and memory interfaces Automatic insertion of AXI-Performance Monitor (APM) to obtain detailed cache/port/memory performance data Shorten development time over traditional Hardware/Software flows Page 12

SDSoC: Productivity Advantage

SDSoC: Supported Development Platforms Start today with: Xilinx development platforms: ZC702 & ZC706, Alliance Member platforms: Zedboard, MicroZed, ZYBO, Zynq SDR, ZC702+HDMI IO, SVDK, any many more Visit http://wwwxilinxcom/products/designtools/softwarezone/sdsochtml#boardskits Customer platform flow supported today (UG1146) Page 14

Custom Platform Creation IP I/O Vivado project I/O HW Metadata IP OS BSPs Software Project SW Metadata Libraries Target customer s own board for production design with SDSoC Add metadata to existing Vivado project and existing Software projects (OS, BSPs and libraries) Page 15

Summary Performance Estimation C/C++ Applications System-level Profiling Specify Functions for Acceleration Move C/C++ functions to hardware Full system generation including driver and hardware connectivity System-level debug and profile Rapid HW partitioning and exploration Full System Generation Page 16

Learn More About SDSoC Xilinxcom/sdsoc 10 Videos 3 User Guides Backgrounder Worldwide ATP Classes Self-guided labs (part of UG1028) Page 17