Addressing Fixed Point Design Challenges

Similar documents
Optimize DSP Designs and Code using Fixed-Point Designer

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

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

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

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

Real Time Testing of PMSM Controller using xpc Target Turnkey solution

Accelerating FPGA/ASIC Design and Verification

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

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

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

Introduction to C and HDL Code Generation from MATLAB

Modeling a 4G LTE System in MATLAB

Accelerate FPGA Prototyping with

Implementation and Verification Daniel MARTINS Application Engineer MathWorks

Ein Modell - viele Zielsysteme

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

Targeting Motor Control Algorithms to System-on-Chip Devices

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

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

MathWorks Products and Prices International September 2016

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

Hardware and Software Co-Design for Motor Control Applications

MathWorks Products and Prices North America January 2018

Signal Processing and Computer Vision Using MATLAB and Simulink

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

Introduction to System Objects and System Toolboxes Tabrez Khan Application Engineer

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

Hardware and Software Co-Design for Motor Control Applications

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

Design and Verification of FPGA Applications

Model-Based Design for Video/Image Processing Applications

Designing and Targeting Video Processing Subsystems for Hardware

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

Simulink as Your Enterprise Simulation Platform

MathWorks Products and Prices North America September 2016

Designing and Analysing Power Electronics Systems Using Simscape and SimPowerSystems

Verification and Validation of High-Integrity Systems

Model-Based Design: Design with Simulation in Simulink

Avnet Speedway Design Workshop

Standardkonforme Absicherung mit Model-Based Design

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

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

Connecting MATLAB & Simulink with your SystemVerilog Workflow for Functional Verification

2015 The MathWorks, Inc. 1

Design and Verify Embedded Signal Processing Systems Using MATLAB and Simulink

From Design to Production

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

Design and Verification of FPGA and ASIC Applications Graham Reith MathWorks

Generating Industry Standards Production C Code Using Embedded Coder

Model-Based Design for High Integrity Software Development Mike Anthony Senior Application Engineer The MathWorks, Inc.

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

Modeling and Verifying Mixed-Signal Designs with MATLAB and Simulink

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

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

2015 The MathWorks, Inc. 1

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

What s New in Simulink in R2015b and R2016a

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

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

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

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

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

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

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

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

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

Making the Most of your MATLAB Models to Improve Verification

International Journal of Advanced Research in Electrical, Electronics and Instrumentation Engineering

MATLAB/Simulink in der Mechatronik So einfach geht s!

Better than Hand Generating Highly Optimized Code using Simulink and Embedded Coder

COURSE LISTING. Courses Listed. with Governance, Risk and Compliance (GRC) SAP BusinessObjects. 19 February 2018 (15:13 GMT) GRC100 -

System Requirements & Platform Availability by Product for R2016b

II. LITERATURE SURVEY

Simulink for AUTOSAR: Best Practices

Design and Verify Embedded Signal Processing Systems Using MATLAB and Simulink

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

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

Automatic Code Generation Technology Adoption Lessons Learned from Commercial Vehicle Case Studies

Using Model-Based Design in conformance with safety standards

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

Floating-point Arithmetic. where you sum up the integer to the left of the decimal point and the fraction to the right.

Modeling HDL components for FPGAs in control applications

Automatización de Métodos y Procesos para Mejorar la Calidad del Diseño

An Efficient Constant Multiplier Architecture Based On Vertical- Horizontal Binary Common Sub-Expression Elimination Algorithm

Learning Activity Name Status Score Completion Date/Time Activity Type. 13 Oct :44 PM CDT. 12 Oct :30 PM CDT. 11 Oct :29 PM CDT

Chapter 03: Computer Arithmetic. Lesson 09: Arithmetic using floating point numbers

Real-Time Testing in a Modern, Agile Development Workflow

MathWorks Products and Prices Euro Academic September 2016

Automating Best Practices to Improve Design Quality

ARCHITECTURAL DESIGN OF 8 BIT FLOATING POINT MULTIPLICATION UNIT

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

Introduction to DSP/FPGA Programming Using MATLAB Simulink

Simulink 모델과 C/C++ 코드에대한매스웍스의정형검증툴소개 The MathWorks, Inc. 1

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

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

Model-Based Design for Safety Critical Automotive Applications

Motor Control with Embedded Coder and TI C2000

Production Code Generation Introduction and New Technologies

Production Code Generation and Verification for Industry Standards Sang-Ho Yoon Senior Application Engineer

Transcription:

Addressing Fixed Point Design Challenges Manohar Reddy M Application Engineer MathWorks India Manohar.Reddy@mathworks.in 2015 The MathWorks, Inc. 1

Fixed Point Design Challenges Consideration Floating Point Fixed Point Fixed Point with MathWorks Tools RAM Consumption Execution Speed Hardware Power Consumption Embedded Hardware Cost Development Time Implementation Complexity Error Prone 2

Fixed-Point Concepts What is Fixed-Point? Fixed-Point Arithmetic Fixed-Point Targets Introducing Fixed-Point Designer Fixed-Point Designer Tools Floating-Point to Fixed-Point Conversion Workflows Using the Fixed-Point Tool in Simulink Using the Fixed-Point Converter App in MATLAB Code Generation from Fixed-Point Design C/HDL 3

Fixed-Point Concepts What is Fixed-Point? Fixed-Point Arithmetic Fixed-Point Targets Introducing Fixed-Point Designer Fixed-Point Designer Tools Floating-Point to Fixed-Point Conversion Workflows Using the Fixed-Point Tool in Simulink Using the Fixed-Point Converter App in MATLAB Code Generation from Fixed-Point Design C/HDL 4

What is Fixed Point? Floating-point: Sign bit Exponent Width Range Mantissa / Fraction bits Precision Floating Radix / Decimal Point Same word size, we can increase both precision and range IEEE 754 single-precision binary floating-point format: binary32* Fixed-point: Sign bit Whole Number Part Range Fractional Part Precision Fixed Radix / Decimal Point Fixed size, Trade-off between Precision and Range *Picture from http://en.wikipedia.org/wiki/single_precision_floating-point_format 5

Fixed Point Arithmetic 6 6.8 x 10 = 68 9 + + + 3 3.4 x 10 = 34 102 10 = 10.2 6

Example: Fixed-Point C hand implementation void differentialeq( void ) { /* Implements a fixed point first order difference equation */ int Prod; long Accum; static short lastval=0; short a=0x7eb8; // 0.99 in s16,15 short oneminusa=0x0148; //.01 in s16,15 short temp; Convert variables to integer types Need lots of comments to understand code Prod = galg_in1 * galg_in1; temp = Prod >> 15; Accum = a*lastval + oneminusa*temp; Keep track of binary point location } galg_out1 = (short)(accum >> 15); lastval = galg_out1; 7

Weinmann Develops Life-Saving Transport Ventilator Using Model-Based Design Challenge Develop embedded software for an advanced emergency and hospital transport ventilator Solution Use MATLAB and Simulink for Model-Based Design to model and simulate the controller, generate production code, and streamline compliance certification Results Code development and reviews accelerated by 50% Dozens of design alternatives explored 60% of core design reused Link to user story Modeling, simulating, and implementing the ventilator s embedded software with Simulink greatly simplified compliance certification. The model helped ensure a structured development process and provided thorough documentation and a visual representation of the system for the certification review. The MEDUMAT Transport ventilator Image Weinmann Medical Technology Dr. Florian Dietz Weinmann 8

Fixed-Point Concepts What is Fixed-Point? Fixed-Point Arithmetic Fixed-Point Targets Introducing Fixed-Point Designer Fixed-Point Designer Tools Floating-Point to Fixed-Point Conversion Workflows Using the Fixed-Point Tool in Simulink Using the Fixed-Point Converter App in MATLAB Code Generation from Fixed-Point Design C/HDL 9

Fixed Point ECU Development Process with Model-Based Design System Requirements Simulation System Design Rapid Prototyping Hardware-in-the-Loop Testing Processor-in-the-Loop Testing Vehicle Integration & Calibration Hardware/Software Integration Software Design Software Integration On-Target Rapid Prototyping Software-in-the-Loop Testing Coding Production Code Generation Requirements Traceability Configuration Management Documentation 10

Fixed Point ECU Development Using MathWorks Tools MATLAB / SIMULINK Algorithm Design FIXED-POINT DESIGNER Fixed-Point Conversion MATLAB CODER SIMULINK CODER EMBEDDED CODER HDL CODER Gen Gen C/C++ VHDL/Verilog FPGA MCU ASIC DSP FPGA ASIC 11

Tools for Converting a Design to Fixed Point Fixed-Point Tool for Simulink Requires: Works on: Fixed-Point Designer Simulink Simulink Blocks Stateflow Charts Fixed-Point Converter App for MATLAB Requires: Works on: Fixed-Point Designer MATLAB MATLAB Code 12

Fixed-Point Concepts What is Fixed-Point? Fixed-Point Arithmetic Fixed-Point Targets Introducing Fixed-Point Designer Fixed-Point Designer Tools Floating-Point to Fixed-Point Conversion Workflows Using the Fixed-Point Tool in Simulink Using the Fixed-Point Converter App in MATLAB Code Generation from Fixed-Point Design C/HDL 13

Workflow using Fixed-Point Tool in Simulink: Prepare for Fixed-Point Conversion Collect Range Information Propose Data types Apply Data types Compare Results Generate Code 14

Workflow using Fixed-Point Converter App in MATLAB: Prepare for Fixed-Point Conversion Collect Range Information Propose Data types Generate Fixed-Point MATLAB Code Test Numerics Generate Code 15

Fixed-Point Concepts What is Fixed-Point? Fixed-Point Arithmetic Fixed-Point Targets Introducing Fixed-Point Designer Fixed-Point Designer Tools Floating-Point to Fixed-Point Conversion Workflows Using the Fixed-Point Tool in Simulink Using the Fixed-Point Converter App in MATLAB Code Generation from Fixed-Point Design C/HDL 16

Code Generation Automatically generate readable C/HDL code Automatically generate C/HDL code from MATLAB/Simulink/Stateflow 17

Summary Fixed-Point Designer Conversion Workflow MATLAB Simulink Code Generation C/HDL Gen MATLAB / SIMULINK Algorithm Design FIXED-POINT DESIGNER Fixed-Point Conversion SIMULINK CODER EMBEDDED CODER MATLAB CODER Gen HDL CODER Gen Gen C/C++ VHDL/Verilog FPGA MCU ASIC DSP FPGA ASIC 18

Key Takeaway Consideration Floating Point Fixed Point Fixed Point with MathWorks Tools RAM Consumption Execution Speed Hardware Power Consumption Embedded Hardware Cost Development Time Implementation Complexity Error Prone 19

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 30 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 20

Public Trainings in the next Few Months Guaranteed to run Course Dates Location MATLAB Fundamentals 8 th 10 th June Chennai Simulink for System and Algorithm Modeling 11 th 12th June Chennai Signal Processing with MATLAB 16 th 17 th June Bangalore Image Processing with MATLAB 18 th 19 th June Bangalore MATLAB Fundamentals Simulink for System and Algorithm Modeling 29 th Jun 01st July 31 st Aug 2 nd Sep 2 nd 3 rd July 3 rd Sep 4 th Sep Bangalore Pune Bangalore Pune Statistical Methods in MATLAB 20 th 21 st July Bangalore MATLAB based Optimization Techniques 22 nd Jul Bangalore Building Interactive Applications with MATLAB 23 rd July Bangalore MATLAB to C with MATLAB Coder 3 rd 4 th Aug Bangalore Embedded Coder for Production Code Generation 5 th 7 th Aug Bangalore Generating HDL Code from Simulink 7 th 8 th Sep Bangalore Programming Xilinx Zynq SoCs with MATLAB and Simulink 10 th 11 th Sep Bangalore Email: training@mathworks.in URL: http://www.mathworks.in/services/training Phone: 080-6632-6000 21

Training Certification Accelerate professional growth Validate proficiency with MATLAB Increase productivity and project success MathWorks Certified MATLAB Associate Examination Bangalore Pune 29 th July & 25 th Nov 3 rd June Recommended Courses MATLAB Fundamentals (MLBE) Email: training@mathworks.in URL: http://in.mathworks.com/#training Phone: 080-6632-6000 22