Beschleunigen von Algorithmen mit High-Level Synthese auf Xilinx Zynq



Similar documents
High-Level Synthesis for FPGA Designs

Eli Levi Eli Levi holds B.Sc.EE from the Technion.Working as field application engineer for Systematics, Specializing in HDL design with MATLAB and

Model-based system-on-chip design on Altera and Xilinx platforms

Extending the Power of FPGAs. Salil Raje, Xilinx

9 REASONS WHY THE VIVADO DESIGN SUITE ACCELERATES DESIGN PRODUCTIVITY

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

Zynq SATA Storage Extension (Zynq SSE) - NAS. Technical Brief from Missing Link Electronics:

LogiCORE IP AXI Performance Monitor v2.00.a

AXI Performance Monitor v5.0

7a. System-on-chip design and prototyping platforms

MicroBlaze Debug Module (MDM) v3.2

System Performance Analysis of an All Programmable SoC

H MICRO CASE STUDY. Device API + IPC mechanism. Electrical and Functional characterization of HMicro s ECG patch

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

Architekturen und Einsatz von FPGAs mit integrierten Prozessor Kernen. Hans-Joachim Gelke Institute of Embedded Systems Professur für Mikroelektronik

On the use of programmable logic in FabLabs

Zynq-7000 Platform Software Development Using the ARM DS-5 Toolchain Authors: Simon George and Prushothaman Palanichamy

Seeking Opportunities for Hardware Acceleration in Big Data Analytics

Attention. restricted to Avnet s X-Fest program and Avnet employees. Any use

Embedded Development Tools

Developing reliable Multi-Core Embedded-Systems with NI Linux Real-Time

Vivado Design Suite Tutorial

High Performance or Cycle Accuracy?

Lesson 7: SYSTEM-ON. SoC) AND USE OF VLSI CIRCUIT DESIGN TECHNOLOGY. Chapter-1L07: "Embedded Systems - ", Raj Kamal, Publs.: McGraw-Hill Education

Product Development Flow Including Model- Based Design and System-Level Functional Verification

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

Getting Started with the Xilinx Zynq All Programmable SoC Mini-ITX Development Kit

Embedded Systems: map to FPGA, GPU, CPU?

PCIe Core Output Products Generation (Generate Example Design)

Custom design services

Design for Success: Designing for the Internet of Things with TiWiConnect

Avoiding pitfalls in PROFINET RT and IRT Node Implementation

Codesign: The World Of Practice

Software Development Environment

All Programmable Logic. Hans-Joachim Gelke Institute of Embedded Systems. Zürcher Fachhochschule

Accelerate Cloud Computing with the Xilinx Zynq SoC

Xilinx Training Course Listing

FPGA Manager PCIe, USB 3.0 and Ethernet

FPGA Synthesis Example: Counter

NORTHEASTERN UNIVERSITY Graduate School of Engineering. Thesis Title: CRASH: Cognitive Radio Accelerated with Software and Hardware

How to download and install ISE WebPACK

Lean and Easy Ways to Adopt MOST Technology

WiSER: Dynamic Spectrum Access Platform and Infrastructure

Clocking Wizard v5.1

An Introduction to OSVR

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

Architectures and Platforms

Vivado Design Suite User Guide

HDMI 2.0 Implementation on Kintex UltraScale FPGA GTH Transceivers

White Paper. S2C Inc Technology Drive, Suite 620 San Jose, CA 95110, USA Tel: Fax:

synthesizer called C Compatible Architecture Prototyper(CCAP).

9/14/ :38

Digital Systems Design! Lecture 1 - Introduction!!

Embedded System Tools Reference Manual

MicroZed I/O Expansion Carrier Card Getting Started Guide

SQS-TEST /Professional

Using Vivado Design Suite with Version Control Systems Author: Jim Wu

Getting Started Guide. Version 7.0

Virtualized Execution and Management of Hardware Tasks on a Hybrid ARM-FPGA Platform

Modeling Latches and Flip-flops

About Us. Technology Solutions & Services Company. Turn Innovative Ideas into Real Products & Software, Efficiently

FPGA Design From Scratch It all started more than 40 years ago

Networking Services Trusted at every level and every phase

UNIT 4 Software Development Flow

Achieving High Performance DDR3 Data Rates

Xenomai: integration and qualification of a real time operating system ARMadeus Systems

BP1 Mobile App Management: Solutions for ios and Android. Gary Barton Mobility Architect Citrix Receivers and Gateways Group

AnyWeb AG

Go Faster - Preprocessing Using FPGA, CPU, GPU. Dipl.-Ing. (FH) Bjoern Rudde Image Acquisition Development STEMMER IMAGING

Komplettschutz für den Mittelstand

APPLICATION NOTE. Getting Started with pylon and OpenCV

RAPID PROTOTYPING OF DIGITAL SYSTEMS Second Edition

NanopowerCommunications: Enabling the Internet of Things OBJECTS TALK

Building an Architecture Model Entwerfen Sie mit AxiomSys ein Kontextdiagramm, das folgendermaßen aussieht:

Safe Harbor Statement

Industrial Vision Days 2012 Making Cameras Smarter: FPGA Based Image Pre-processing Unleashed

Simplifying Big Data Deployments in Cloud Environments with Mellanox Interconnects and QualiSystems Orchestration Solutions

Embedded Linux development with Buildroot training 3-day session

White Paper FPGA Performance Benchmarking Methodology

Vivado Design Suite User Guide

Technische Alternative elektronische Steuerungsgerätegesellschaft mbh. A-3872 Amaliendorf, Langestr. 124 Tel +43 (0)

Open Flow Controller and Switch Datasheet

MicroZed Getting Started Guide

Medical Device Design: Shorten Prototype and Deployment Time with NI Tools. NI Technical Symposium 2008

I-Q SCHACHT & KOLLEGEN QUALITÄTSKONSTRUKTION GMBH ISO 26262:2011. Liste der Work Products aus der Norm

Übersetzerbau in der Industrie: CacaoVM

Basler scout AREA SCAN CAMERAS

A New, High-Performance, Low-Power, Floating-Point Embedded Processor for Scientific Computing and DSP Applications

IOTIVITY AND EMBEDDED LINUX SUPPORT. Kishen Maloor Intel Open Source Technology Center

Testing of Digital System-on- Chip (SoC)

Virtualization for Hard Real-Time Applications Partition where you can Virtualize where you have to

ARM Processors for Computer-On-Modules. Christian Eder Marketing Manager congatec AG

Example-driven Interconnect Synthesis for Heterogeneous Coarse-Grain Reconfigurable Logic

Which ARM Cortex Core Is Right for Your Application: A, R or M?

SQS the world s leading specialist in software quality. sqs.com. SQS Testsuite. Overview

Zielgruppe Dieses Training eignet sich für System Engineers und an SCCM- Administratoren.

Introduction to Digital System Design

Basler dart AREA SCAN CAMERAS. Board level cameras with bare board, S- and CS-mount options

Hitachi and VMware. Sascha Oehl Senior Manager Presales Germany

Transcription:

08. Oktober 2014 Beschleunigen von Algorithmen mit High-Level Synthese auf Xilinx Zynq Florian Hagel, Missing Link Electronics GmbH We are Our Mission is Our Expertise is a Silicon Valley based technology company with offices in Germany. to develop and market technology solutions for Embedded Systems I/O connectivity and acceleration of data communication pro- We are partner of leading electronic Realization via pre-validated tocols, additionally opening up device and solution providers and have been enabling key innovators in the automotive, industrial, test & measurement markets to build better Embedded Systems, faster. IP and expert application support, and to combine off-the-shelf FPGA devices with Open-Source Software for dependable, configurable Embedded System platforms. FPGA technology for analog applications, and the integration and optimization of Open Source Linux and Android software stacks on modern extensible processing architectures. 1 / 11

Beispiel eines All Programmable SoC : Zynq TM -7000 von Xilinx Processing System: ARM Cortex-A9 DualCore mit 5 GFLOPS Programmable Logic: FPGA-Teil mit 50 GFLOPS (Z 7045) Quelle: Xilinx 2 / 11

Designflow für All Programmable SoC mit High-Level Synthese C C++ SystemC Vivado Design Suite IP Catalog IP Integrator Block Design Synthesis Vivado HLS C Simulation C Synthesis C/RTL Cosimulation Export Flow SDK Application Software Driver SoC Implementation Generate Bitstream Hardware Quelle (SoC Grafik): Xilinx 3 / 11

Über OpenCV öffentliche, kostenlose, plattformunabhängige Library Computer Vision und maschinelles Lernen 2500 optimierte Algorithmen immer mehr Funktionen in Vivado HLS Library von Xilinx vorimplementiert Quelle (Grafik): www.docstoc.com 4 / 11

Vorteile der High-Level Synthese - Schnittstellen Quelle: Xilinx - ug902 5 / 11

Vorteile der High-Level Synthese - Automatisierung Zeitplanung Anbindung Quelle: Xilinx - ug902 Quelle: Xilinx - ug902 Kontrolle von Schreib-/ Lesezyklen wählbarer Tradeoff: Performance / Ressourcen 6 / 11

Vorteile der High-Level Synthese - Optimierung auf Datenfluss Quelle: Xilinx - ug902 7 / 11

Analyse-Ansicht in Vivado HLS 8 / 11

Anbindung für Videoanwendungen HDMI Video In Konverter AXI4-Stream Erode-Filter (HLS) AXI4-Stream Konverter HDMI Video Out timing timing Video Timing Control AXI4Lite (Controlbus) PS Konvertierung in AXI4-Stream Filter aus OpenCV, implementiert mit High-Level Synthese Rück-Konvertierung Timing-Überwachung AXI4Lite 9 / 11

Beispiel: Erode -Filter - Applikation aus OpenCV in Vivado HLS 1 # include "top.h" // including hls_video.h and type - definitions 2 3 void ownerode ( AXI_STREAM & input, AXI_STREAM & output, int rows, int cols ) { 4 5 // AXI interface settings 6 # pragma HLS RESOURCE variable = input core = AXIS metadata ="-bus_bundle INPUT_STREAM " 7 # pragma HLS RESOURCE variable = output core = AXIS metadata ="-bus_bundle OUTPUT_STREAM " 8 # pragma HLS RESOURCE core = AXI_SLAVE variable = rows metadata ="-bus_bundle CONTROL_BUS " 9 # pragma HLS RESOURCE core = AXI_SLAVE variable = cols metadata ="-bus_bundle CONTROL_BUS " 10 # pragma HLS RESOURCE core = AXI_SLAVE variable = return metadata ="-bus_bundle CONTROL_BUS " 11 # pragma HLS INTERFACE ap_stable port = rows 12 # pragma HLS INTERFACE ap_stable port = cols HDMI Video In 13 Konverter 14 // variables timing AXI4-Stream 15 RGB_IMAGE img_in (rows, cols ); Erode-Filter (HLS) 16 RGB_IMAGE img_out (rows, cols ); 17 AXI4-Stream Video Timing timing 18 // dataflow Control Konverter 19 # pragma HLS dataflow HDMI Video Out 20 hls :: AXIvideo2Mat (input, img_in ); // convert in from AXI 21 hls :: Erode (img_in, img_out ); // OpenCV function from Xilinx Vivado HLS video - library 22 hls :: Mat2AXIvideo (img_out, output ); // convert out to AXI 23 } AXI4Lite (Controlbus) PS 10 / 11

Zusammenfassung Vorteile der High-Level Synthese: Quellcode in C/C++/SystemC Generierung von Schnittstellen Optimierung auf Architekturebene Weiteres Beachtenswertes: Sensible Reaktion auf Code-Style Verifikation Florian Hagel Missing Link Electronics GmbH www.mlecorp.com florian.hagel@mlecorp.com 11 / 11