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

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

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

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

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

Signal Processing and Computer Vision Using MATLAB and Simulink

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

Design and Verification of FPGA Applications

Accelerating FPGA/ASIC Design and Verification

Designing and Targeting Video Processing Subsystems for Hardware

Implementing MATLAB Algorithms in FPGAs and ASICs By Alexander Schreiber Senior Application Engineer MathWorks

Addressing Fixed Point Design Challenges

Hardware and Software Co-Design for Motor Control Applications

Optimize DSP Designs and Code using Fixed-Point Designer

Simulation, prototyping and verification of standards-based wireless communications

Introduction to C and HDL Code Generation from MATLAB

How Real-Time Testing Improves the Design of a PMSM Controller

Targeting Motor Control Algorithms to System-on-Chip Devices

Codegenerierung für Embedded Systeme leicht gemacht So geht s!

Accelerate FPGA Prototyping with

Making the Most of your MATLAB Models to Improve Verification

Optimization and Implementation of Embedded Signal Processing Algorithms Jonas Rutström Senior Application Engineer

Model-Based Design for Video/Image Processing Applications

Moving MATLAB Algorithms into Complete Designs with Fixed-Point Simulation and Code Generation

Introducing Simulink R2012b for Signal Processing & Communications Graham Reith Senior Team Leader, UK Application Engineering

Hardware and Software Co-Design for Motor Control Applications

What's new in MATLAB and Simulink for Model-Based Design

Design and Verification of FPGA and ASIC Applications Graham Reith MathWorks

Model-Based Design: Generating Embedded Code for Prototyping or Production

Modeling a 4G LTE System in MATLAB

Hardware and Software Co-Design for Motor Control Applications

Model-Based Design for Altera FPGAs Using HDL Code Generation The MathWorks, Inc. 1

Intro to System Generator. Objectives. After completing this module, you will be able to:

Reducing the cost of FPGA/ASIC Verification with MATLAB and Simulink

[Sub Track 1-3] FPGA/ASIC 을타겟으로한알고리즘의효율적인생성방법및신기능소개

2015 The MathWorks, Inc. 1

Hardware Implementation and Verification by Model-Based Design Workflow - Communication Models to FPGA-based Radio

Implementation and Verification Daniel MARTINS Application Engineer MathWorks

What s New in Simulink in R2015b and R2016a

Large Data in MATLAB: A Seismic Data Processing Case Study U. M. Sundar Senior Application Engineer

Ein Modell - viele Zielsysteme

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

MATLAB/Simulink in der Mechatronik So einfach geht s!

Model to Code, Made Simple and Easy Sebastien Dupertuis Application Engineer Applications Engineering Group MathWorks Switzerland June 11, 2015

Introducing Simulink Release 2012b for Control System Development Mark Walker MathWorks

Motor Control: Model-Based Design from Concept to Implementation on heterogeneous SoC FPGAs Alexander Schreiber, MathWorks

Embarquez votre Intelligence Artificielle (IA) sur CPU, GPU et FPGA

Déploiement embarqué et connectivité hardware avec MATLAB et Simulink

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

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

Real Time Testing of PMSM Controller using xpc Target Turnkey solution

Four Best Practices for Prototyping MATLAB and Simulink Algorithms on FPGAs by Stephan van Beek, Sudhir Sharma, and Sudeepa Prakash, MathWorks

Model-Based Design: Design with Simulation in Simulink

Designing and Analysing Power Electronics Systems Using Simscape and SimPowerSystems

Modelling and Simulation Made Easy with Simulink Tiffany Liang Application Engineer MathWorks

Simulink Matlab To Vhdl Route For Full Custom Fpga Rapid

Real-Time Testing in a Modern, Agile Development Workflow

Deploying MATLAB Applications in Excel, Java, and.net Environments

Design and Verify Embedded Signal Processing Systems Using MATLAB and Simulink

Connecting MATLAB & Simulink with your SystemVerilog Workflow for Functional Verification

Case Study on DiaHDL: A Web-based Electronic Design Automation Tool for Education Purpose

Introduction to System Objects and System Toolboxes Tabrez Khan Application Engineer

개발과정에서의 MATLAB 과 C 의연동 ( 영상처리분야 )

Design and Verify Embedded Signal Processing Systems Using MATLAB and Simulink

Reducing Design Errors in Complex State Machines using Model-Based Design

2015 The MathWorks, Inc. 1

Model-Based Design Using Simulink, HDL Coder, and DSP Builder for Intel FPGAs By Kiran Kintali, Yongfeng Gu, and Eric Cigan

Rapid Development Platform for C-Programmable DSP using MATLAB and Simulink

Hardware in the Loop Functional Verification Methodology

컴퓨터비전의최신기술 : Deep Learning, 3D Vision and Embedded Vision

Turning an Automated System into an Autonomous system using Model-Based Design Autonomous Tech Conference 2018

Signal Processing Algorithms into Fixed Point FPGA Hardware Dennis Silage ECE Temple University

Workflow for Control System Design and Implementation

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

Cover TBD. intel Quartus prime Design software

System Level Design with IBM PowerPC Models

다중센서기반자율시스템의모델설계및개발 이제훈차장 The MathWorks, Inc. 2

What s New in MATLAB and Simulink

2015 The MathWorks, Inc. 1

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

Extending the Power of FPGAs

What s New with the MATLAB and Simulink Product Families. Marta Wilczkowiak & Coorous Mohtadi Application Engineering Group

Avnet Speedway Design Workshop

Cover TBD. intel Quartus prime Design software

What s New in MATLAB and Simulink

ISE Design Suite Software Manuals and Help

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

FPGA-Based Rapid Prototyping of Digital Signal Processing Systems

Multi-Gigahertz Parallel FFTs for FPGA and ASIC Implementation

Testen zur Absicherung automatisierter Transformationsschritte im Model-Based Design

Introduction to DSP/FPGA Programming Using MATLAB Simulink

A Deterministic Flow Combining Virtual Platforms, Emulation, and Hardware Prototypes

EEM870 Embedded System and Experiment Lecture 4: SoC Design Flow and Tools

CO SIMULATION OF GENERIC POWER CONVERTER USING MATLAB/SIMULINK AND MODELSIM

A Matlab/Simulink Simulation Approach for Early Field-Programmable Gate Array Hardware Evaluation

A Model-based Embedded Control Hardware/Software Co-design Approach for Optimized Sensor Selection of Industrial Systems

II. LITERATURE SURVEY

Ted N. Booth. DesignLinx Hardware Solutions

Simulink 를이용한 효율적인레거시코드 검증방안

Introduction to Embedded System Design using Zynq

Parag Choudhary Engineering Architect

Transcription:

Hardware-Software Co-Design and Prototyping on SoC FPGAs Puneet Kumar Prateek Sikka Application Engineering Team 2015 The MathWorks, Inc. 1

Agenda Integrated Hardware / Software Top down Workflow for SoC FPGA s, highlighting: Model Based Design Workflow for SoC FPGA s Automatic Code Generation: HDL code generation for the FPGA fabric and C-Code generation for the ARM MCU Automatic Interface Logic Generation: Generation of the interface logic and software between the FPGA and ARM. Integrated Verification: Integrated HDL Verification using HDL Co-simulation and FPGA-in-Loop Next Steps, Q&A 2

Agenda Integrated Hardware / Software Top down Workflow for SoC FPGA s, highlighting: Model Based Design Workflow for SoC FPGA s Automatic Code Generation: HDL code generation for the FPGA fabric and C-Code generation for the ARM MCU Automatic Interface Logic Generation: Generation of the interface logic and software between the FPGA and ARM. Integrated Verification: Integrated HDL Verification using HDL Co-simulation and FPGA-in-Loop Next Steps, Q&A 3

Edge Detection Demo Behavioral Model 4

Edge Detection Demo Implementation Model 5

You May Have Some Questions? How can we: Implement designs on SoC FPGA s? MATLAB/Simulink Algorithm Design Partition the HW and SW? Generate the Interface Logic? FPGA MCU SoC ASIC DSP FPGA s ASIC 6

Design Challenges for Soc FPGA s ARM Processor C-Code Software Interface FPGA HDL Code Hardware FPGA Designers not familiar with programming processors DSP/Processor programmers not familiar with FPGAs What should run on the FPGA vs. what should run on the ARM? No established rules for hooking up the interface between FPGA and ARM processor 7

Model-Based Design 2015 The MathWorks, Inc. 8

Why Model-Based Design? Requirements Development Simulation Code Generation Continuous Verification 9

Model-Based Design: From Concept to Production RESEARCH REQUIREMENTS DESIGN Environment Models Physical Components Algorithms IMPLEMENTATION TEST & VERIFICATION Model multi-domain systems Explore and optimize system behavior in floating point and fixed point Collaborate across teams and continents Generate efficient code Explore and optimize implementation tradeoffs C, C++ VHDL, Verilog ARM INTEGRATION FPGA Automate regression testing Detect design errors Support certification and standards 10

SoC FPGA Design Flow RESEARCH Software Model Embedded Coder ARM DESIGN Top-Level System Model IMPLEMENTATION REQUIREMENTS Hardware Model HDL Coder FPGA SoC FPGA Template Xilinx/Altera Embedded System Integration Real-Time Parameter Tuning and Verification User defines partitioning MathWorks automates code and interface-model generation MathWorks automates the build and download through the FPGA tools 11

Model-Based Design for SoC FPGA RESEARCH REQUIREMENTS DESIGN Embedded Coder C, C++ C, C++ Environment Models Physical Components Algorithms IMPLEMENTATION VHDL, Verilog ARM DSP FPGA ASIC HDL Coder VHDL, Verilog Structured Text PLC TEST & VERIFICATION FPGA Boards ASIC INTEGRATION 12

Solution: C and HDL Code Generation Design, execute, and verify algorithms in MATLAB MATLAB Algorithm Design Automatically generate C or HDL code Deploy generated code on hardware MATLAB Coder CGenerate HDL Coder Generate VHDL/Verilog FPGA MCU ASIC DSP FPGA ASIC 13

Code Generation Products for VHDL/Verilog HDL Coder MATLAB Coder Fixed-Point Designer HDL Coder Automatically generate VHDL or Verilog from MATLAB code and Simulink Model MATLAB Coder Automatically generate C and C++ from MATLAB code Fixed-Point Designer provides fixed-point data types and arithmetic 14

Code Generation Products for C/C++ Embedded Coder Embedded Coder Automatically generate C and C++ optimized for embedded systems Simulink Coder Simulink Coder Automatically generate C and C++ from Simulink models and Stateflow charts MATLAB Coder MATLAB Coder Automatically generate C and C++ from MATLAB code 15

Edge Detection Demo Behavioral Model 16

Workflow for Video Image Processing Concept Development Algorithm Development Prototyping Architecture design Prototyping Chip design Frame based Pixel based Image/Video Engineer HW Engineer 17

Vision HDL Toolbox Design and prototype video image processing systems Modeling hardware behavior of the algorithms Pixel-based functions and blocks Conversion between frames and pixels Standard and custom frame sizes Prototyping algorithms on hardware Efficient and readable HDL code FPGA-in-the-loop testing and acceleration 18

Agenda Integrated Hardware / Software Top down Workflow for SoC FPGA s, highlighting: Model Based Design Workflow for SoC FPGA s Automatic Code Generation: HDL code generation for the FPGA fabric and C-Code generation for the ARM MCU Automatic Interface Logic Generation: Generation of the interface logic and software between the FPGA and ARM. Integrated Verification: Integrated HDL Verification using HDL Co-simulation and FPGA-in-Loop Next Steps, Q&A 19

HW-SW Co-Design: It s all about the Workflow Prepare model for IP core generation HW-SW Co-Design Workflow Configure Interface Logic RTL Code Generation for IP Core Generate Software/Hardware Model C/C++ VHDL or Verilog Synthesis/ Bit File Generation Deployment HW-SW Co-design 20

Model-Based Design flow using MATLAB/Simulink from Algorithm to FPGA Implementation MATLAB and Simulink Algorithm and System Design DESIGN HDL Coder RTL Creation HDL Verifier HDL Co-Simulation Algorithm Development MATLAB Simulink Stateflow RTL Back Annotation Implement Design Verification Synthesis Functional Simulation Map Static Timing Analysis Place & Route Timing Simulation HDL Verifier FPGA in the Loop 21

SoC FPGA Model-Based Design Workflow MATLAB and Simulink Algorithm and System Design AXI FPGA AXI ARM 22

SoC FPGA Model-Based Design Workflow MATLAB and Simulink Algorithm and System Design HW SW Simulink Model 23

Configure Interface Logic Prepare model for IP core generation Configure Interface Logic RTL Code Generation for IP Core Generate Software/Hardware Model Synthesis/ Bit File Generation Deployment 24

RTL Code Generation for IP Core Prepare model for IP core generation Configure Interface Logic RTL Code Generation for IP Core Generate Software/Hardware Model Synthesis/ Bit File Generation Deployment 25

Full Bidirectional traceability 26

SoC FPGA Model-Based Design Workflow MATLAB and Simulink Algorithm and System Design HW HDL IP Core Generation SW Simulink Model HDL IP Core Generation AXI Lite Accessible Registers AXI4-Stream Video In AXI4-Stream Video Out Algorithm from MATLAB/ Simulink External Ports Programmable Logic IP Core 27

SoC FPGA Model-Based Design Workflow HDL IP Core Generation MATLAB and Simulink Algorithm and System Design AXI Lite Accessible Registers AXI4-Stream Video In AXI4-Stream Video Out Algorithm from MATLAB/ Simulink Programmable Logic IP Core External Ports EDK Integration EDK Integration FPGA Bitstream Zynq Platform Processing System AXI4-Lite AXI Video DMA AXI Lite Accessible Registers AXI4-Stream Video In AXI4-Stream Video Out Algorithm from MATLAB/ Simulink External Ports Programmable Logic IP Core EDK Project 28

Generate Software/Hardware model Prepare model for IP core generation Configure Interface Logic RTL Code Generation for IP Core Generate Software/Hardware Model Synthesis/ Bit File Generation Deployment 29

SoC FPGA Model-Based Design Workflow MATLAB and Simulink Algorithm and System Design HW HDL IP Core Generation SW EDK Integration SW Interface Model Generation Simulink Model SW Interface Model Generation FPGA Bitstream Zynq Platform SW Build SW I/O Driver Blocks SW SW Interface Model 30

SoC FPGA Model-Based Design Workflow HDL IP Core Generation EDK Integration MATLAB and Simulink Algorithm and System Design SW Interface Model Generation Real-time Parameter Tuning and Verification External Mode Processor-in-the-loop FPGA Bitstream SW Build Zynq Platform External Mode PIL 31

AXI4-Lite Fast Prototyping and Iteration Fast prototyping, iteration, and live probing/tuning directly on SoC FPGA hardware TCP/IP AXI4-Lite Blocks IP Core Registers C Algorithm ARM Cortex-A9 MP (Running Linux) FPGA IPCore 32

AXI4-Lite Bus Embedded System Integration Zynq HW/SW Co-design Workflow Summary HW Design SW IP Core Generation AXI Lite Accessible registers FPGA IP Core Algorithm from MATLAB and Simulink External Ports Simulink Model SW I/O Driver Blocks SW Generate SW Interface Model Processor AXI Lite Accessible registers FPGA IP Core Algorithm from MATLAB and Simulink External Ports SW Interface Model Embedded System Project SW Build FPGA Bitstream 33

Agenda Integrated Hardware / Software Top down Workflow for SoC FPGA s, highlighting: Model Based Design Workflow for SoC FPGA s Automatic Code Generation: HDL code generation for the FPGA fabric and C-Code generation for the ARM MCU Automatic Interface Logic Generation: Generation of the interface logic and software between the FPGA and ARM. Integrated Verification: Integrated HDL Verification using HDL Co-simulation and FPGA-in-Loop Next Steps, Q&A 34

Enroll in Upcoming Training Courses No Start Date Course Name City 01 02 nd -03 rd May Signal Processing with MATLAB Bangalore 02 04 th -05 th May Image Processing with MATLAB Bangalore 03 06 th May Computer Vision with MATLAB Bangalore 04 16 th -17 th June Machine Learning with MATLAB Bangalore 05 11 th -12 th July Generating HDL Code from Simulink Bangalore 06 13 th -14 th July Programming Xilinx Zynq SoCs with MATLAB and Simulink Bangalore www.mathworks.in/training 35

MathWorks India Services and Offerings Technical Evangelist Product Training: www.mathworks.in/training Application Engineering Technical Support local for India: www.mathworks.in/myservicerequests Customer Service for non-technical questions: info@mathworks.in Knowledge and marketing resources: www.mathworks.in, webinars, seminars, conferences 36

Contact MathWorks India URL: http://www.mathworks.in E-mail: info@mathworks.in Technical Support: www.mathworks.in/myservicerequests Tel: +91-80-6632 6000 Fax: +91-80-6632 6010 MathWorks India Private Limited 9th Floor, B Wing, Etamin Block Prestige Technology Park II Marathahalli Sarjapur Ring Road Bangalore 560103, Karnataka India Thank You for Attending Talk to Us We are Happy to Support You 37