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

Similar documents
Accelerating FPGA/ASIC Design and Verification

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

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

Hardware and Software Co-Design for Motor Control Applications

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

Design and Verification of FPGA Applications

Targeting Motor Control Algorithms to System-on-Chip Devices

Simulation, prototyping and verification of standards-based wireless communications

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

Hardware and Software Co-Design for Motor Control Applications

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

Hardware and Software Co-Design for Motor Control Applications

Addressing Fixed Point Design Challenges

Design and Verification of FPGA and ASIC Applications Graham Reith MathWorks

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

Modeling a 4G LTE System in MATLAB

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

Introduction to C and HDL Code Generation from MATLAB

Connecting MATLAB & Simulink with your SystemVerilog Workflow for Functional Verification

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

Making the Most of your MATLAB Models to Improve Verification

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

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

Accelerate FPGA Prototyping with

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

Designing and Targeting Video Processing Subsystems for Hardware

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

Design and Verify Embedded Signal Processing Systems Using MATLAB and Simulink

Model-Based Design for Altera FPGAs Using HDL Code Generation 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

High-Level and Model-Based Design Targeting FPGAs and SoCs

Avnet Speedway Design Workshop

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

Design and Verify Embedded Signal Processing Systems Using MATLAB and Simulink

S2C K7 Prodigy Logic Module Series

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

Real Time Testing of PMSM Controller using xpc Target Turnkey solution

Optimize DSP Designs and Code using Fixed-Point Designer

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

Model-Based Design for Video/Image Processing Applications

Method We follow- How to Get Entry Pass in SEMICODUCTOR Industries for 3rd year engineering. Winter/Summer Training

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

Modeling and Verifying Mixed-Signal Designs with MATLAB and Simulink

ECE 111 ECE 111. Advanced Digital Design. Advanced Digital Design Winter, Sujit Dey. Sujit Dey. ECE Department UC San Diego

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

White Paper. The advantages of using a combination of DSP s and FPGA s. Version: 1.0. Author: Louis N. Bélanger. Date: May, 2004.

Real-Time Testing in a Modern, Agile Development Workflow

System-on-Chip Design for Wireless Communications

FPGA design with National Instuments

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

IMPLEMENTATION OF LOW POWER INTERFACE FOR VERIFICATION IP (VIP) OF AXI4 PROTOCOL

Simplifying FPGA Design for SDR with a Network on Chip Architecture

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

MathWorks Products and Prices North America January 2018

Avnet Speedway Design Workshop

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

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

2015 The MathWorks, Inc. 1

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

Extending the Power of FPGAs

Implementation and Verification Daniel MARTINS Application Engineer MathWorks

Introduction to System Objects and System Toolboxes Tabrez Khan Application Engineer

Designing and Analysing Power Electronics Systems Using Simscape and SimPowerSystems

FPGA Technology and Industry Experience

Distributed Vision Processing in Smart Camera Networks

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

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

PicoZed SDR Development Kit Getting Started Guide Version 1.4

All MSEE students are required to take the following two core courses: Linear systems Probability and Random Processes

Hardware/Software Co-design

Ted N. Booth. DesignLinx Hardware Solutions

ECE 448 Lecture 15. Overview of Embedded SoC Systems

Agenda. Introduction FPGA DSP platforms Design challenges New programming models for FPGAs

ESL design with the Agility Compiler for SystemC

Five Ways to Build Flexibility into Industrial Applications with FPGAs

Cadence SystemC Design and Verification. NMI FPGA Network Meeting Jan 21, 2015

Abstraction Layers for Hardware Design

Signal Processing and Computer Vision Using MATLAB and Simulink

TOWARD A METHODOLOGY TO TURN SMALLTALK CODE INTO FPGA

Reuse MATLAB Functions and Simulink Models in UVM Environments with Automatic SystemVerilog DPI Component Generation

CONTACT: ,

Cover TBD. intel Quartus prime Design software

Hardware Software Codesign of Embedded Systems

Ein Modell - viele Zielsysteme

The simplest form of storage is a register file. All microprocessors have register files, which are known as registers in the architectural context.

Simulink Matlab To Vhdl Route For Full Custom Fpga Rapid

DSP Flow for SmartFusion2 and IGLOO2 Devices - Libero SoC v11.6 TU0312 Quickstart and Design Tutorial

Reconfigurable VLSI Communication Processor Architectures

Simulink Design Environment

DSP Builder Handbook Volume 1: Introduction to DSP Builder

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

Design AXI Master IP using Vivado HLS tool

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

II. LITERATURE SURVEY

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

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

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

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

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

Optimizing HDL IP Development with Real-World I/O. William Baars National Instruments

Transcription:

Designing and Prototyping Digital Systems on SoC FPGA Hitu Sharma Application Engineer Vinod Thomas Sr. Training Engineer 2015 The MathWorks, Inc. 1

What is an SoC FPGA? A typical SoC consists of- A microcontroller, microprocessor or digital signal processor (DSP) core Programmable Logic (FPGA) Memory blocks External interfaces such as USB, FireWire, Ethernet, USART, SPI, etc. Analog interfaces including ADCs and DACs Voltage regulators and power management circuits Combines High-speed compute capabilities of FPGAs and the ability to perform Complex operations on DSPs or MCUs 2

Conventional SoC Design Workflow Algorithm Design System Architecture C Implementation C/C++ HDL Implementation VHDL/Verilog Drivers C Code Verification HDL Code Verification Hardware IP Integrate with Peripheral Drivers Integrate with Peripheral IPs Integrate and Prototype Application on SoC 3

Application Examples Vision Motor SDR 4

Customer Case Study: Punch Powertrain Requirements New switched reluctance motor new complex control strategies Fast: 2x the speed of their previous motor Target to a Xilinx Zynq SoC 7045 device Needed to get to market quickly No experience designing FPGAs! This would not have been possible to design at all previous to adopting HDL code generation from Simulink modelbased design Designed integrated E-drive: Motor, power electronics and software 4 different control strategies implemented Done in 1.5 years with 2FTE s Models reusable for production Smooth integration and validation due to development process thorough validation before electronics are produced and put in the testbench 5

Challenges in SoC design Partitioning of Algorithm What goes on FPGA and what goes on Processor Change in architecture involves reprogramming Programming and Verification Expertise Interface Between Software & Hardware Proficiency in both HDL and C programming Both have different verification methodologies Late detection of errors Ensure Reliable transfer of data between FPGA and Processor Verification of the Design SoC Verification Applications & Custom Board This involves configuring different peripherals 6

From Behavioral Model to Implementation Model Simulink Behavioral algorithm Hardware microarchitecture Fixed Point Designer Fixed-point implementation 7

Target Receiver/Transmitter on Systems-on-Chip (ARM/FPGA) Run on Programmable Logic Run on ARM Processing System 8

Addressing Challenges in SoC Design Partitioning of Algorithm Programming and Verification Expertise Interface Between Software & Hardware Decision on what goes on FPGA and what goes on Processor Simulink for System Architecture Modeling Change in architecture involves reprogramming Proficiency in both HDL and C programming Both have different verification methodologies Late detection of errors Ensure Reliable transfer of data between FPGA and Processor Verification of the Design SoC Verification Applications & Custom Board This involves configuring different peripherals 9

Implement and Prototype Algorithms in Hardware Prepare model for IP core generation Configure Interface Logic Embedded Coder HDL Coder RTL Code Generation for IP Core Generate Software/Hardware Model C, C++ VHDL, Verilog Synthesis/ Bit File Generation DSP / MCU FPGA ASIC Deployment Programmable SoC 10

HDL code Generation 11

Generate Software Interface 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 12

Algorithm Partitioning and HW-SW Co-Design 13

HDL Optimizations Speed Optimization Distributed Pipelining Adaptive Pipelining Clock-Rate Pipelining Area Optimization Streaming RAM Mapping Resource Sharing 14

Hardware Verification Validation Model generation by HDL Coder Behavioral Model RTL code against Implementation Model HDL Cosimulation through HDL Verifier Stimuli Comparison Hardware Results against Implementation Model FPGA-in-the-loop verification through HDL Verifier Implementation Model 15

Software in the Loop (SIL) Verification 16

HDL Library Summary 17

HDL Library Summary 18

LTE HDL Toolbox LTE HDL-optimized LTE optimized blocks blocks Reference applications Turbo Encoder Turbo Decoder Convolutional Encoder Convolutional Decoder CRC Encoder CRC Decoder PSS/SSS Detection MIB Recovery LTE Frequency Scanner Utilities Frame-based algorithm Bit-streaming hardware Frame-to-samples / samples-to-frame Sample bus creator / selector Templates to connect MATLAB tests/golden reference to Simulink HW implementation 19

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 (With HDL Coder) Efficient and readable HDL code (With HDL Verifier) FPGA-in-the-loop testing and acceleration 20

C code supported libraries 21

Addressing Challenges in SoC Design Partitioning of Algorithm Programming and Verification Expertise Interface Between Software & Hardware Decision on what goes on FPGA and what goes on Processor Simulink for System Architecture Modeling Change in architecture involves reprogramming Proficiency in both HDL and C programming Both have HDL different and verification Embedded methodologies Coder Late detection of errors Ensure Reliable transfer of data between FPGA and Processor Verification of the Design SoC Verification Applications & Custom Board This involves configuring different peripherals 22

AXI4 Interface Between Hardware and Software HDL Coder Host Computer Hard Algorithm C Processing code System AXI4 Accessible Registers Algorithm HDL code External Ports Embedded Coder FPGA Fabric HDL Coder and Embedded Coder supports AXI4 Stream Master/Slave AXI4 Lite AXI4 Stream Master/Slave Video AXI4 23

Interface Configuration 24

Addressing Challenges in SoC Design Partitioning of Algorithm Programming and Verification Expertise Interface Between Software & Hardware Decision on what goes on FPGA and what goes on Processor Simulink for System Architecture Modeling Change in architecture involves reprogramming Proficiency in both HDL and C programming Both Automatic have different C and verification HDL Code methodologies Generation Late detection of errors Ensure Reliable transfer of data between FPGA and Processor Generation of AXI Protocol Drivers Verification of the Design SoC Verification Applications & Custom Board This involves configuring different peripherals 25

SoC Verification using PIL 26

Addressing Challenges in SoC Design Partitioning of Algorithm Programming and Verification Expertise Interface Between Software & Hardware Decision on what goes on FPGA and what goes on Processor Simulink for System Architecture Modeling Change in architecture involves reprogramming Proficiency in both HDL and C programming Both Automatic have different C and verification HDL Code methodologies Generation Late detection of errors Ensure Reliable transfer of data between FPGA and Processor Generation of AXI Protocol Drivers Verification of the Design SoC Verification Unified Verification Framework Applications & Custom Board This involves configuring different peripherals 27

AXI4-Lite Board and Reference Design Processor Processor Placeholder for Algorithm IP Core AXI4-Lite Simulink/MATLAB algorithm Reference Design Generic IP across platforms SoC Board SoC Board (peripherals, daughter-cards) Algorithm Model AXI Interface Algorithm HDL HDL IP Core HDL IP core 28

AXI4-Lite AXI4-Lite Multiple Reference Designs Processor Placeholder for Algorithm IP Core Processor Reference Design AXI DMA Placeholder for Algorithm IP Core SoC Board Reference Design 29

AXI4-Lite External and Internal Interfaces AXI Interface External Interface Processor AXI DMA Interface Interface Placeholder HDL for Algorithm IP core IP Core Interface Interface ADC Interface IP LED Reference Design SoC Board Internal Interface 30

Host Computer UDP/ SPI/ JTAG AXI Interface driver AXI Interface IP RF HDL IP Reference Design for Software Defined Radio Embedded Coder HDL Coder Data SoC Transmitter Processor generation FPGA and RFCard and post processing Receiver Radio Configuration Settings 31

Software Defined Radio Workflow 32

Application Example: Software Defined Radio 33

Reference Design for Computer Vision Applications HDL Coder Embedded Coder Camera In External Memory Buffer (VDMA) AXI4- Stream Video AXI4- Stream Video Module Pixels Control Signals Ready FPGA Algorithm Signal 1 Signal 2 Signal 3 AXI4-Lite Registers AXI4-Lite Software on ARM Generated HDL IP core 34

Application Example: Pot-Hole Detection 35

Application Example: Pot-Hole Detection 36

Supported SoC platforms and Reference Designs Xilinx SoCs ZedBoard ZC702 Evaluation Board ZC706 Evaluation Board Analog Devices RF SOM Video and Image Processing Software-Defined Radio Motor Control 37

Supported Intel SoC platforms and Reference Designs Intel SoCs Arrow SoC Intel Cyclone V SoC Video and Image Processing Motor Control 38

Download Support Packages From the MATLAB Toolstrip: Add-Ons Get Hardware Support Packages From the MATLAB Command Line: >> supportpackageinstaller 39

SoC Custom Reference Design Example shipping with product Understand the Board Create and Export a Reference Design Define the Board Define the Reference Design Register the Board Register the Reference Design Create or Reuse Linux Image Zynq/Altera SoC Workflow https://www.mathworks.com/help/supportpkg/alterasochdlcoder/board-and-reference-design.html 40

Custom Board Work Flow 41

Custom Board Work Flow My ZedBoard 42

Addressing Challenges in SoC Design Partitioning of Algorithm Programming and Verification Expertise Interface Between Software & Hardware Decision on what goes on FPGA and what goes on Processor Simulink for System Architecture Modeling Change in architecture involves reprogramming Proficiency in both HDL and C programming Both Automatic have different C and verification HDL Code methodologies Generation Late detection of errors Ensure Reliable transfer of data between FPGA and Processor Generation of AXI Protocol Drivers Verification of the Design SoC Verification Unified Verification Framework Applications & Custom Board This involves configuring Reference different Designs peripherals 43

SoC FPGA Design Flow 44

What s New in FPGA and SoC Design? HDL Coder Native Floating Point IEEE-754 Single precision support Floating Point Support FPGA Data Capture MATLAB as AXI Master Access FPGA External Memory HDL Coder Support for Avnet Minized Extensive math and trigonometric operator support Highly optimal implementations without sacrificing numerical accuracy Mix floating and fixed point operations in the same design Generate target-independent synthesizable VHDL or Verilog 46

FIL Verification: Supported Development Kits PolarFire Eval Kit High Performance Kit for full development & testing SmartFusion2 Advance Development Kit Full Feature Kit with Advanced Peripherals Purpose Built Kits for Evaluation and Development of Performance Oriented Low Power Applications 47

Training Services Exploit the full potential of MathWorks products Flexible delivery options: Public training available in several cities Onsite training with standard or customized courses Web-based training with live, interactive instructor-led courses More than 48 course offerings: Introductory and intermediate training on MATLAB, Simulink, Stateflow, code generation, and Polyspace products Specialized courses in control design, signal processing, parallel computing, code generation, communications, financial analysis, and other areas www.mathworks.in/training 48

DSP for FPGAs This three-day course will review DSP fundamentals from the perspective of implementation within the FPGA fabric. Particular emphasis will be given to highlighting the cost, with respect to both resources and performance, associated with the implementation of various DSP techniques and algorithms. Topics include: Introduction to FPGA hardware and technology for DSP applications DSP fixed-point arithmetic Signal flow graph techniques HDL code generation for FPGAs Fast Fourier Transform (FFT) Implementation Design and implementation of FIR, IIR and CIC filters CORDIC algorithm Design and implementation of adaptive algorithms such as LMS and QR algorithm Techniques for synchronisation and digital communications timing recovery 49

Generating HDL Code from Simulink two-day course shows how to generate and verify HDL code from a Simulink model using HDL Coder and HDL Verifier Topics include: Preparing Simulink models for HDL code generation Generating HDL code and testbench for a compatible Simulink model Performing speed and area optimizations Integrating handwritten code and existing IP Verifying generated HDL code using testbench and cosimulation 50

Programming Xilinx Zynq SoCs with MATLAB and Simulink two-day course focuses on developing and configuring models in Simulink and deploying on Xilinx Zynq -7000 All Programmable SoCs. For Simulink users who intend to generate, validate, and deploy embedded code and HDL code for software/hardware codesign using Embedded Coder and HDL Coder. A ZedBoard is provided to each attendee for use throughout the course. The board is programmed during the class and is yours to keep after the training. Topics include: Zynq platform overview and environment setup, introduction to Embedded Coder and HDL Coder IP core generation and deployment, Using AXI4 interface Processor-in-the-loop verification, data interface with real-time application Integrating device drivers, custom reference design 51

New: Software Defined Radio with Zynq using Simulink Learn the Model-Based Design workflow from simulation of RF chain, testing with Radio I/O to moving design to chip Get hands-on experience with PicoZed Setting up and communicating with board Capture over-the-air signal and process in MATLAB AD9361 configuration HW/SW co-design for SDR 52

MathWorks Public Training Guaranteed to run Upcoming Public Trainings ` Dates Location DSP for FPGAs May 7-9 Bangalore DSP for FPGAs June 11-13 Hyderabad Generating HDL Code from Simulink Aug 27-28 Hyderabad Programming Xilinx Zynq SoCs using MATLAB and Simulink Aug 29-30 Hyderabad Software Defined Radio with Zynq using Simulink Aug 31 Hyderabad Generating HDL Code from Simulink Oct 8-9 Bangalore Programming Xilinx Zynq SoCs using MATLAB and Simulink Oct 10-11 Bangalore Software Defined Radio with Zynq using Simulink Oct 12 Bangalore Email: training@mathworks.in URL: http://www.mathworks.in/services/training Phone: 080-6632-6000 53

Call to Action Videos and Webinars White Paper: Deploying LTE Wireless Communications on FPGAs: A Complete MATLAB and Simulink Workflow Webinars: Modeling HDL Components for FPGAs in Control Applications Prototyping SoC-based Motor Controllers with MATLAB and Simulink Radio Deployment on SoC Platforms Video Series: Vision Processing for FPGA (5 Videos) Upcoming webinar on Microsemi Integration with MATLAB Tools Custom Reference Design 54

Speaker Details Email: Hitu.Sharma@mathworks.in Vinod.Thomas@mathworks.in Contact MathWorks India Products/Training Enquiry Booth Call: 080-6632-6000 Email: info@mathworks.in Your feedback is valued. Please complete the feedback form provided to you. 55

SIL MOdel Intel SoC support Training Dates 56