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

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

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

Design and Verification of FPGA Applications

Accelerating FPGA/ASIC Design and Verification

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

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

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

Hardware and Software Co-Design for Motor Control Applications

Making the Most of your MATLAB Models to Improve Verification

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

Simulation, prototyping and verification of standards-based wireless communications

Targeting Motor Control Algorithms to System-on-Chip Devices

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

Introduction to C and HDL Code Generation from MATLAB

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

Design and Verification of FPGA and ASIC Applications Graham Reith MathWorks

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

Designing and Targeting Video Processing Subsystems for Hardware

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

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

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

Optimize DSP Designs and Code using Fixed-Point Designer

Hardware and Software Co-Design for Motor Control Applications

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

Accelerate FPGA Prototyping with

Connecting MATLAB & Simulink with your SystemVerilog Workflow for Functional Verification

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

Model-Based Design for Video/Image Processing Applications

MATLAB/Simulink in der Mechatronik So einfach geht s!

Hardware and Software Co-Design for Motor Control Applications

Implementation and Verification Daniel MARTINS Application Engineer MathWorks

2015 The MathWorks, Inc. 1

Ein Modell - viele Zielsysteme

Modeling a 4G LTE System in MATLAB

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:

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

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

What s New in Simulink in R2015b and R2016a

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

Design and Verify Embedded Signal Processing Systems Using MATLAB and Simulink

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

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

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

Real-Time Testing in a Modern, Agile Development Workflow

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

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

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

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

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

Design and Verify Embedded Signal Processing Systems Using MATLAB and Simulink

2015 The MathWorks, Inc. 1

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

Does FPGA-based prototyping really have to be this difficult?

Designing and Analysing Power Electronics Systems Using Simscape and SimPowerSystems

Simulink Matlab To Vhdl Route For Full Custom Fpga Rapid

Model-Based Design: Design with Simulation in Simulink

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

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

System Level Design with IBM PowerPC Models

Extending the Power of FPGAs

Hardware Design and Simulation for Verification

Addressing Fixed Point Design Challenges

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

Tips for Making Video IP Daniel E. Michek. Copyright 2015 Xilinx.

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

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

Modeling and Verifying Mixed-Signal Designs with MATLAB and Simulink

100M Gate Designs in FPGAs

Cover TBD. intel Quartus prime Design software

Test and Verification Solutions. ARM Based SOC Design and Verification

Cover TBD. intel Quartus prime Design software

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

Ted N. Booth. DesignLinx Hardware Solutions

Advanced AC Motor Control S/W Development Sang-Ho Yoon Senior Application Engineer The MathWorks

Hardware Modelling. Design Flow Overview. ECS Group, TU Wien

Testen zur Absicherung automatisierter Transformationsschritte im Model-Based Design

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

Workflow for Control System Design and Implementation

Designing a Multi-Processor based system with FPGAs

MODEL BASED HARDWARE DESIGN WITH SIMULINK HDL CODER

Using Model-Based Design to Accelerate FPGA Development for Automotive Applications

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

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

ISE Design Suite Software Manuals and Help

Testing Framework with Simulink Test

DRYING CONTROL LOGIC DEVELOPMENT USING MODEL BASED DESIGN

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

SoC Verification Methodology. Prof. Chien-Nan Liu TEL: ext:

Verification and Validation of Models for Embedded Software Development Prashant Hegde MathWorks India Pvt. Ltd.

Model-Based Embedded System Design

Executable Model Based Design Methodology for Fast Prototyping of Mobile Network Protocol: A Case Study on MIPI LLI

SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS

FPGA Entering the Era of the All Programmable SoC

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

FPGA design with National Instuments

Spartan -6 LX150T Development Kit Hardware Co-Simulation Reference Design User Guide

Copyright 2014 Xilinx

Co-Design and Co-Verification using a Synchronous Language. Satnam Singh Xilinx Research Labs

Implementation of Hardware Accelerators on Zynq

Transcription:

Integrated Workflow to Implement Embedded Software and FPGA Designs on the Xilinx Zynq Platform Puneet Kumar Senior Team Lead - SPC 2012 The MathWorks, Inc. 1

Agenda Integrated Hardware / Software Top down Workflow for Zynq, highlighting: 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 Q&A 2

Demo - Zynq Model-Based Design Workflow 3

Who is Who??? Who is a System Engineer? Who is an FPGA/ASIC designer? Who is using MATLAB? Who is using Simulink? Who is converting MATLAB to C or HDL? 4

Algorithm Development Process Requirements Research & Design Explore and discover Design Gain insight into problem Evaluate options, trade-offs Implementation Elaborate Test Test & Verification Desktop.dll.exe.c, C,.cpp C++ Embedded C, C++ VHDL / Verilog Structured Text Design Elaborate Test 5

You May Have Some Questions? Can I generate HDL and C code from my MATLAB and Simulink models? Can I generate integrated test-bench to co-simulate it with HDL Simulators? Can I Generate the interface logic? What about porting it on SoC FPGA and verifying the DUT with the golden MATLAB/Simulink test-bench? And Many more questions 6

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 7

The Algorithm Design Challenge 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 8

What is SoC FPGA s? ARM Processor Interface FPGA FPGA + ARM on one chip Enables high-performance system development Reduces cost over multi-chip solutions 9

Design Challenge ARM Processor C-Code Software Typically programmed in C Often runs a Linux operating system Well-established workflows exist CHALLENGES FPGA Designers not familiar with programming processors What should run on the processor vs. the FPGA? 10

Design Challenge FPGA HDL Code Hardware Typically programmed in VHDL/Verilog Established workflows exist CHALLENGES DSP/Processor programmers not familiar with FPGA Design What should run on the FPGA vs. the processor? 11

Design Challenge Interface CHALLENGES No established rules for hooking up the interface Different versions of AXI interface for different bandwidth requirements Zynq uses standard AXI4 interface between FPGA and ARM 12

How can I address these challenges Model-Based Design provides a single environment from requirements to prototype A guided workflow for hardware and software development 13

Model-Based Design 2012 The MathWorks, Inc. 14

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

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 16

Design Challenges 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 17

High-Level Zynq Design Flow RESEARCH Software Model Embedded Coder ARM DESIGN Top-Level System Model IMPLEMENTATION REQUIREMENTS Hardware Model HDL Coder FPGA Zynq Template Xilinx 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 Xilinx tools 18

Model-Based Design for Zynq 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 Zynq 19

Demo - Zynq Model-Based Design Workflow 20

Model-Based Design flow using 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

Verification Landscape: Model VHDL / Verilog FPGA Requirements Functional Equivalence Coverage Property Proving Virtual Platforms Requirements Equivalence Coverage Assertions Equivalence Regression Timing Analysis 22

Verification Challenges: Stimuli-Driven Test Bench in HDL Simulators Digital waveforms are difficult to analyze Application specific analysis methods are needed How to get test vectors to achieve 100% test coverage? Formal methods to derive required test cases 23

HDL cosimulation to verify HDL Re-use System Level Test Bench for HDL Verification Re-use test benches for equivalence checking Integrate with HDL code coverage analysis HDL Cosimulation Flexible test bench creation: closed loop, multi domain Also works with handwritten code Integrate with Modelsim/Questa and Incisive 24

Verification Landscape Solution: Re-use System Level Test Bench Model VHDL / Verilog FPGA Requirements Functional Equivalence Coverage Property Proving Virtual Platforms Requirements Equivalence Coverage Assertions Equivalence Regression Timing Analysis 25

Demo - Zynq Model-Based Design Workflow 26

Zynq Model-Based Design Workflow MATLAB and Simulink Algorithm and System Design AXI FPGA AXI ARM 27

Zynq 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 28

Zynq 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 29

Zynq 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

Zynq 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

Zynq in Action Ball Tracking Demo Video stream filtered to find and mark greenish ball FPGA (HW): Ball Tracking ARM (SW): Draw marker Camera HDMI IN Ball Tracking Coordinates DDR3/ VDMA Video Mark Motor Motor Control Desired Position ARM Processor FPGA 32

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

Abstraction is Key AXI4-Lite Interface AXI4-Lite AXI Lite Accessible Registers Processor AXI Video DMA AXI4-Stream Video In AXI4-Stream Video Out Algorithm from MATLAB/ Simulink External Ports FPGA IP Core AXI4-Stream Interface 34

Abstraction is Key Focus on algorithm and system design Stay on higher level of abstraction AXI4-Lite Interface Automatic code generation and HW/SW integration AXI4-Lite AXI Lite Accessible Registers Processor AXI Video DMA AXI4-Stream Video In AXI4-Stream Video Out Algorithm from MATLAB/ Simulink External Ports FPGA IP Core AXI4-Stream Interface 35

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 36

Thank You! 37