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

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

Modeling a 4G LTE System in MATLAB

Accelerate FPGA Prototyping with

Optimize DSP Designs and Code using Fixed-Point Designer

Accelerating FPGA/ASIC Design and Verification

Introduction to C and HDL Code Generation from MATLAB

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

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

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

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

Model-Based Design for Video/Image Processing Applications

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

Design and Verification of FPGA Applications

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

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

Design and Verification of FPGA and ASIC Applications Graham Reith MathWorks

Connecting MATLAB & Simulink with your SystemVerilog Workflow for Functional Verification

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

Making the Most of your MATLAB Models to Improve Verification

Implementation and Verification Daniel MARTINS Application Engineer MathWorks

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

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

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

Designing and Targeting Video Processing Subsystems for Hardware

Real-Time Testing in a Modern, Agile Development Workflow

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

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

Introduction to DSP/FPGA Programming Using MATLAB Simulink

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

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

What s New in Simulink in R2015b and R2016a

USING THE SYSTEM-C LIBRARY FOR BIT TRUE SIMULATIONS IN MATLAB

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

MODEL BASED HARDWARE DESIGN WITH SIMULINK HDL CODER

Cover TBD. intel Quartus prime Design software

Simulink Matlab To Vhdl Route For Full Custom Fpga Rapid

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

Design and Verify Embedded Signal Processing Systems Using MATLAB and Simulink

MATLAB/Simulink in der Mechatronik So einfach geht s!

Addressing Fixed Point Design Challenges

Cover TBD. intel Quartus prime Design software

Hardware and Software Co-Design for Motor Control Applications

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

Targeting Motor Control Algorithms to System-on-Chip Devices

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

Modeling and Verifying Mixed-Signal Designs with MATLAB and Simulink

Agenda. How can we improve productivity? C++ Bit-accurate datatypes and modeling Using C++ for hardware design

Design and Verify Embedded Signal Processing Systems Using MATLAB and Simulink

PINE TRAINING ACADEMY

2015 The MathWorks, Inc. 1

FPGA for Software Engineers

OUTLINE RTL DESIGN WITH ARX

A New Electronic System Level Methodology for Complex Chip Designs

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

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

Designing and Analysing Power Electronics Systems Using Simscape and SimPowerSystems

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

Overview of ROCCC 2.0

Using HDL Coder for Complex Algorithm Deployment Steve Hamilton, James Hui & Ian Brown

ESL design with the Agility Compiler for SystemC

Chapter 1 Overview of Digital Systems Design

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

Modeling and implementation of dsp fpga solutions

Fixed-point Simulink Designs for Automatic HDL Generation of Binary Dilation & Erosion

FPGA Based Digital Design Using Verilog HDL

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

Hardware and Software Co-Design for Motor Control Applications

FPGA Design Flow 1. All About FPGA

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

SDR Spring KOMSYS-F6: Programmable Digital Devices (FPGAs)

RTL Coding General Concepts

An Overview of a Compiler for Mapping MATLAB Programs onto FPGAs

VHDL Essentials Simulation & Synthesis

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

Model-Based Design: Design with Simulation in Simulink

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

Can High-Level Synthesis Compete Against a Hand-Written Code in the Cryptographic Domain? A Case Study

A SIMULINK-TO-FPGA MULTI-RATE HIERARCHICAL FIR FILTER DESIGN

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

Basic Xilinx Design Capture. Objectives. After completing this module, you will be able to:

Evaluation of the RTL Synthesis Tools for FPGA/PLD Design. M.Matveev. Rice University. August 10, 2001

CAD SUBSYSTEM FOR DESIGN OF EFFECTIVE DIGITAL FILTERS IN FPGA

Evolution of CAD Tools & Verilog HDL Definition

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

FIR Compiler User Guide

Programmable Logic Devices HDL-Based Design Flows CMPE 415

Early Models in Silicon with SystemC synthesis

DESIGN STRATEGIES & TOOLS UTILIZED

DSP Builder Handbook Volume 1: Introduction to DSP Builder

DSP Builder Handbook Volume 1: Introduction to DSP Builder

VHDL. Chapter 1 Introduction to VHDL. Course Objectives Affected. Outline

DRYING CONTROL LOGIC DEVELOPMENT USING MODEL BASED DESIGN

University of Massachusetts Amherst Department of Electrical & Computer Engineering

INTRODUCTION TO CATAPULT C

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

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

Guido Sandmann MathWorks GmbH. Michael Seibt Mentor Graphics GmbH ABSTRACT INTRODUCTION - WORKFLOW OVERVIEW

Filter Design HDL Coder 2 User s Guide

AccelDSP tutorial 2 (Matlab.m to HDL for Xilinx) Ronak Gandhi Syracuse University Fall

FPGA-Based Rapid Prototyping of Digital Signal Processing Systems

Transcription:

Implementing MATLAB Algorithms in FPGAs and ASICs By Alexander Schreiber Senior Application Engineer MathWorks 2014 The MathWorks, Inc. 1

Traditional Implementation Workflow: Challenges Algorithm Development DESIGN manual HDL Code Creation MATLAB Simulink Stateflow manual Fixed Point Conversion Long development cycles Prevents short iteration cycles Difficult to optimize the algorithm at a system level Text I/O or HW based FPGA Verification Text I/O based HDL Verification manual HDL Refinement Text I/O based HDL Verification 2

Verify Solution: Model-Based Design using MATLAB Design, simulate, and validate algorithms and system models in MATLAB and Simulink Automatically generate and optimize HDL code Verify the HDL/hardware implementation against the system model MATLAB and Simulink Algorithm Design and System Design HDL Coder HDL Verifier Generate HDL FPGA ASIC 3

From Algorithm to Implementation MATLAB Algorithm and System Design Model Refinement for Hardware Iterative Refinement using Fixed-Point Advisor Conversion to Fixed Point and Fixed-Point Verification HDL Code Generation Refinement and Design Exploration HDL Simulation Implement Design Synthesis Map Place & Route 4

From Algorithm to Implementation MATLAB Algorithm and System Design Model Refinement for Hardware Conversion to Fixed Point and Fixed-Point Verification HDL Code Generation HDL Simulation Implement Design Synthesis Map Place & Route 5

MATLAB to HDL: The Big Challenges MATLAB Floating point Procedural Matrices Untimed Loops HDL Architecture land Fixed-Point Concurrent + optimized Block RAMs Timed with rates Streaming, Unrolling Algorithm land Functions System objects Hardware-efficient implementations 6

Authoring MATLAB for Hardware Leveraging strenght of MATLAB Easily creating, accessing, modifying and manipulating vectors and matrices 7

Authoring MATLAB for Hardware Leveraging strenght of MATLAB Easily creating, accessing, modifying and manipulating vectors and matrices Modeling persistence RAM, ROM, registers, tap delays Finite State Machines 8

Authoring MATLAB for Hardware Leveraging strenght of MATLAB Easily creating, accessing, modifying and manipulating vectors and matrices Modeling persistence RAM, ROM, registers, tap delays Finite State Machines Using System Objects Modular and reusable Implicit state handling Library of predefined System Objects Support of User-Defined System Objects 9

From Algorithm to Implementation MATLAB Algorithm and System Design Model Refinement for Hardware Conversion to Fixed Point and Fixed-Point Verification HDL Code Generation HDL Simulation Implement Design Synthesis Map Place & Route 10

Fixed-Point Conversion and Verification Dynamic Range Analysis Based on stimuli or derived ranges 11

Fixed-Point Conversion and Verification Dynamic Range Analysis Based on stimuli or derived ranges Autoscaling of Fixed-Point Data Type Either word length or precision based Selectable behaviour Integer: saturation, wrapping Fraction: rounding method 12

Fixed-Point Conversion and Verification Dynamic Range Analysis Based on stimuli or derived ranges Autoscaling of Fixed-Point Data Type Either word length or precision based Selectable behaviour Integer: saturation, wrapping Fraction: rounding method Automatic Generation of Bit-true Fixed-Point MATLAB Function 13

Fixed-Point Conversion and Verification Dynamic Range Analysis Based on stimuli or derived ranges Autoscaling of Fixed-Point Data Type Either word length or precision based Selectable behaviour Integer: saturation, wrapping Fraction: rounding method Automatic Generation of Bit-true Fixed-Point MATLAB Function Verification of Fixed-Point Scaling Comparison vs. floating-point result Iteration in Workflow Advisor if needed 14

From Algorithm to Implementation MATLAB Algorithm and System Design Model Refinement for Hardware Conversion to Fixed Point and Fixed-Point Verification HDL Code Generation HDL Simulation Implement Design Synthesis Map Place & Route 15

Automatic HDL Code Generation Based on native MATLAB Generic, i.e. technology independent algorithm description Leveraging MATLAB stengths, e.g. vector and matrix arithmetic Generic RTL HDL FPGA vendor independent VHDL or Verilog Bit-true and Cycle-accurate wrt. to Fixed-Point MATLAB Function 16

Automatic HDL Code Generation Based on native MATLAB Generic, i.e. technology independent algorithm description Leveraging MATLAB stengths, e.g. vector and matrix arithmetic Generic RTL HDL FPGA vendor independent VHDL or Verilog Bit-true and Cycle-accurate wrt. to Fixed-Point MATLAB Function Traceability between HDL Code and MATLAB Fixed-Point Function 17

Optimization: Speed Register Register Smaller critical path Automatic pipelining Helps you meet speed objectives 18

Optimization: Area 19

From Algorithm to Implementation MATLAB Algorithm and System Design Model Refinement for Hardware Conversion to Fixed Point and Fixed-Point Verification HDL Code Generation HDL Simulation Implement Design Synthesis Map Place & Route 20

HDL Verification HDL Coder Stimulus Stimulus MATLAB Test Bench MATLAB Function targeted to Hardware Reference Results Automatically Generated HDL Test Bench HDL Design Actual Results Automatic Recording of input and output streams of MATLAB simulation Automatic Generation of standalone HDL Test Bench Generic, i.e. pure HDL Can be simulated in any HDL simulator Self-testing, i.e. uses recorded input and output streams Drawback MATLAB visualization and analysis capabilities cannot be leveraged 21

In Out HDL Co-Simulation Re-use MATLAB test bench Leverage visualization capabilities in time and spectrum domain Stimulus MATLAB Functions Response Combined analysis in HDL Simulator and MATLAB/Simulink Input stimuli HDL Entity Output response HDL Simulator HDL Verifier Connects HDL simulation with the MATLAB environment! 22

FPGA-in-the-Loop Verification HDL Verifier Re-use the MATLAB test bench Stimulus MATLAB Functions Response Leverage visualization capabilities in time and spectrum domain Accelerate verification with FPGA hardware Input stimuli Output response HDL Verifier Connects FPGA HW with the MATLAB environment! 23

From Algorithm to Implementation MATLAB Algorithm and System Design Model Refinement for Hardware Conversion to Fixed Point and Fixed-Point Verification HDL Code Generation HDL Simulation Implement Design Synthesis Map Place & Route 24

Automated Workflow for FPGA Implementation Integration with Xilinx ISE and Altera Quartus II Project creation Synthesis Place and Route Reporting Resource utilization Timing analysis Rapid exploration of implementation options through quick iteration 25

Model-Based Design for FPGA Implementation Algorithm Development DESIGN automatic HDL Code Generation MATLAB Simulink Stateflow automated/assisted Fixed Point Conversion Shorter development cycles Short iteration cycles Optimization of algorithm at a system level integrated FPGA Verification integrated HDL Verification System-level HDL Refinement integrated HDL Verification 26

Verify Solution: Model-Based Design using MATLAB Design, simulate, and validate algorithms and system models in MATLAB and Simulink Automatically generate and optimize HDL code Verify the HDL/hardware implementation against the system model MATLAB and Simulink Algorithm Design and System Design HDL Coder HDL Verifier Generate HDL FPGA ASIC 27

Next Steps 1. Visit our web site: www.mathworks.de/fpga-design/ www.mathworks.de/products/hdl-coder www.mathworks.de/products/hdl-verifier 2. Contact us for more information: contact@mathworks.de Your local Sales Representive Questions? 28