MATLAB and Simulink for Embedded System Design

Similar documents
Product Development Flow Including Model- Based Design and System-Level Functional Verification

Echtzeittesten mit MathWorks leicht gemacht Simulink Real-Time Tobias Kuschmider Applikationsingenieur

Integrating MATLAB into your C/C++ Product Development Workflow Andy Thé Product Marketing Image Processing Applications

Schnell und effizient durch Automatische Codegenerierung

Eli Levi Eli Levi holds B.Sc.EE from the Technion.Working as field application engineer for Systematics, Specializing in HDL design with MATLAB and

Embedded Vision on FPGAs The MathWorks, Inc. 1

Fastest Path to Your Design. Quartus Prime Software Key Benefits

Converting Models from Floating Point to Fixed Point for Production Code Generation

Entwicklung und Testen von Robotischen Anwendungen mit MATLAB und Simulink Maximilian Apfelbeck, MathWorks

Model-based system-on-chip design on Altera and Xilinx platforms

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

Software Development with Real- Time Workshop Embedded Coder Nigel Holliday Thales Missile Electronics. Missile Electronics

Quartus II Software Design Series : Foundation. Digitale Signalverarbeitung mit FPGA. Digitale Signalverarbeitung mit FPGA (DSF) Quartus II 1

Digital Systems Design! Lecture 1 - Introduction!!

MAJORS: Computer Engineering, Computer Science, Electrical Engineering

7a. System-on-chip design and prototyping platforms

High-Level Synthesis for FPGA Designs

Introduction to MATLAB Gergely Somlay Application Engineer

Tensilica Software Development Toolkit (SDK)

Agenda. Michele Taliercio, Il circuito Integrato, Novembre 2001

Incorporating System-Level Design Tools into Upper-Level Electrical Engineering Courses

Software Development Principles Applied to Graphical Model Development

Making model-based development a reality: The development of NEC Electronics' automotive system development environment in conjunction with MATLAB

AN EVALUATION OF MODEL-BASED SOFTWARE SYNTHESIS FROM SIMULINK MODELS FOR EMBEDDED VIDEO APPLICATIONS

Best Practices for Verification, Validation, and Test in Model- Based Design

Data Analysis with MATLAB The MathWorks, Inc. 1

EE289 Lab Fall LAB 4. Ambient Noise Reduction. 1 Introduction. 2 Simulation in Matlab Simulink

9 REASONS WHY THE VIVADO DESIGN SUITE ACCELERATES DESIGN PRODUCTIVITY

Extending the Power of FPGAs. Salil Raje, Xilinx

9/14/ :38

Design Data Management in Model-Based Design

VHDL-Testbench as Executable Specification

ModelSim-Altera Software Simulation User Guide

MathWorks Products and Prices North America Academic March 2013

Linux. Reverse Debugging. Target Communication Framework. Nexus. Intel Trace Hub GDB. PIL Simulation CONTENTS

White Paper Increase Bandwidth in Medical & Industrial Applications With FPGA Co-Processors

Attention. restricted to Avnet s X-Fest program and Avnet employees. Any use

Chapter 12. Development Tools for Microcontroller Applications

3D Position Tracking of Instruments in Laparoscopic Surgery Training

A Verilog HDL Test Bench Primer Application Note

Best Practices for Adopting Model-Based Design in Electronic System Development

Float to Fix conversion

Vivado Design Suite Tutorial

Using DAVE with MDK Version 5

How To Design An Image Processing System On A Chip

Using ModelSim, Matlab/Simulink and NS for Simulation of Distributed Systems

System Generator for DSP

AES1. Ultra-Compact Advanced Encryption Standard Core. General Description. Base Core Features. Symbol. Applications

Electronic system-level development: Finding the right mix of solutions for the right mix of engineers.

Embedded Software development Process and Tools: Lesson-3 Host and Target Machines

Embedded Linux RADAR device

ARM Webinar series. ARM Based SoC. Abey Thomas

Altera Error Message Register Unloader IP Core User Guide

The Advanced JTAG Bridge. Nathan Yawn 05/12/09

Building an Embedded Processor System on a Xilinx Zync FPGA (Profiling): A Tutorial

Lecture 3 - Model-based Control Engineering

EDK Concepts, Tools, and Techniques

Codesign: The World Of Practice

HDL Simulation Framework

LMS is a simple but powerful algorithm and can be implemented to take advantage of the Lattice FPGA architecture.

Quartus II Handbook Volume 3: Verification

Using Nios II Floating-Point Custom Instructions Tutorial

Lecture 9 Modeling, Simulation, and Systems Engineering

Model Based System Engineering (MBSE) For Accelerating Software Development Cycle

Eingebettete Systeme. 4: Entwurfsmethodik, HW/SW Co-Design. Technische Informatik T T T

Quartus Prime Standard Edition Handbook Volume 3: Verification

Development of AUTOSAR Software Components within Model-Based Design

Die wichtigsten Use Cases für MISRA, HIS, SQO, IEC, ISO und Co. - Warum Polyspace DIE Embedded Code-Verifikationslösung ist.

MATLAB/Simulink Based Hardware/Software Co-Simulation for Designing Using FPGA Configured Soft Processors

SDLC Controller. Documentation. Design File Formats. Verification

Embedded Systems Engineering Certificate Program

Chapter 13: Verification

High-Level Synthesis Tools for Xilinx FPGAs

Custom design services

Serial port interface for microcontroller embedded into integrated power meter

Von der Hardware zur Software in FPGAs mit Embedded Prozessoren. Alexander Hahn Senior Field Application Engineer Lattice Semiconductor

Introduction to Functional Verification. Niels Burkhardt

Demo: Real-time Tracking of Round Object

Aims and Objectives. E 3.05 Digital System Design. Course Syllabus. Course Syllabus (1) Programmable Logic

DAQ in MATLAB HANS-PETTER HALVORSEN,

Setting up a Local Interconnect Network (LIN) using dspace MicroAutoBox 1401/1501 Simulink Blocks

Embedded Development Tools

Parallel Computing with MATLAB

Analog Devices RadioVerse technology: Simpler wireless system design

AUTOSAR Seminar WS2008/ Assignment: Simulation of Automotive Systems in the Context of AUTOSAR

Efficient and Faster PLC Software Development Process for Automotive industry. Demetrio Cortese IVECO Embedded Software Design

Nutaq. PicoDigitizer 125-Series 16 or 32 Channels, 125 MSPS, FPGA-Based DAQ Solution PRODUCT SHEET. nutaq.com MONTREAL QUEBEC

Image Processing Application Development: From Rapid Prototyping to SW/HW Co-simulation and Automated Code Generation

BY STEVE BROWN, CADENCE DESIGN SYSTEMS AND MICHEL GENARD, VIRTUTECH

Introduction to Xilinx System Generator Part II. Evan Everett and Michael Wu ELEC Spring 2013

Simulink Modeling Guidelines for High-Integrity Systems

Code Composer Studio Development Tools v3.3. Getting Started Guide

FSMD and Gezel. Jan Madsen

System Design Issues in Embedded Processing

LogiCORE IP AXI Performance Monitor v2.00.a

A New, High-Performance, Low-Power, Floating-Point Embedded Processor for Scientific Computing and DSP Applications

Embedded Software development Process and Tools:

PowerPlay Power Analysis & Optimization Technology

Development With ARM DS-5. Mervyn Liu FAE Aug. 2015

OPC COMMUNICATION IN REAL TIME

Transcription:

Pieter J. Mosterman pieter.mosterman@mathworks.com 591 592 593 594 595 596 597 598 599 600 /* Logic: '<S3>/either' */ rtb_either = power_window_con_b.passenger_control_b power_window_con_b.passenger_control_a; /* Logic: '<S13>/allow_action' incorporates: * Inport: '<Root>/driver_up' * Logic: '<S13>/overrule' */ rtb_temp34 = power_window_con_u.driver_up && (!(rtb_either)); Senior Research Scientist The MathWorks, Inc. 2007 The MathWorks, Inc. MATLAB and Simulink for Embedded System Design

Introduction Increasing complexity of embedded systems Complexity Intricacy Size Raising the Level of Abstraction Compilers to handle the complexity because of size 2

Agenda The System Design Challenge Software Design Flow Hardware Design Flow Summary 3

The System Design Challenge We design, simulate, and validate system models and algorithms in MATLAB and/or Simulink How can we implement and verify designs on DSPs and GPPs? How can we implement and verify designs on FPGAs and ASICs? MATLAB and Simulink Algorithm and System Design HDL C MCU DSP FPGA ASIC 4

Integrated Design Flow for Embedded Software and Hardware Verify hardware and software implementations against the system and algorithm models HDL C MCU Simulink HDL Coder Link for ModelSim Link for Cadence Incisive Generate Automatically generate C and HDL Real-Time Workshop Embedded Coder, Targets, Links Generate MATLAB and Simulink Algorithm and System Design Verify Design, simulate, and validate system models and algorithms in MATLAB and Simulink Verify DSP FPGA ASIC 5

Agenda The System Design Challenge Software Design Flow Hardware Design Flow Summary 6

Integrated Design Flow for Embedded Software Implementation HDL C MCU Simulink HDL Coder Link for ModelSim Link for Cadence Incisive Generate Real-Time Workshop Embedded Coder, Targets, Links Generate Floating- and fixed-point code Integration with downstream IDEs and tools Links to verification Device drivers Optimization options MATLAB and Simulink Algorithm and System Design Verify Implementation with automatic C code generation Verify DSP FPGA ASIC 7

Representative Application Video Video system design and implementation Encapsulates challenges: complexity, convergence, time-to-market Sophisticated algorithms Floating- and fixed-point issues DSP or FPGA/ASIC implementations Embedded Software Case Study: Video Edge Detection on a DSP Design flows and steps shown directly applicable to other signal processing applications Live MATLAB Demo 8

Example: Video Edge Detection Floating point video edge detection system based on Prewitt algorithm Compositing original image with detected edges Utilizes blocks from Video and Image Processing Blockset 9

Converting to Fixed-Point Polymorphic blocks capable of floating- and fixed-point operation 8-bit input datatype blocks inherit fixed-point data Simulink Accelerator provides fast fixed-point simulation 8-bit fixed-point input 10

Automatic Code Generation for Implementation on GPPs and DSPs Fixed-point model Code generation options and preferences Select target or flavor of generated code 11

Code Generation Report HTML report Links to code files from HTML report Links to Simulink model from generated code Readable, commented code 12

Video Edge Detection Embedded Software System on TI 6000TM TCP/IP Blocks 13

Target Code Generation Options High-Speed RTDX Inline Signal Processing Blockset functions Incorporate DSP/BIOS 14

Code Execution on Target and Profiling Build and execute Auto-generate C and ASM Integrate RTOS and scheduler Create full CCS project Invoke compiler, linker, and download code Run on target Profile code performance System profiling includes entire DSP application code Subsystem profiling 15

Code Optimization Options Utilize target-specific blocks C-callable assembler libraries Simulate bit-true in Simulink Generate calls to hand-optimized assembler libraries Highly optimized implementation of core functionality C62x and C64x fixed-point DSPs Manual optimization by user 16

Design Verification and Visualization: MATLAB as software test bench Visualize and debug embedded software with MATLAB Input video MATLAB script (test bench) Captured video 17

Design Verification and Visualization: Simulink as software test bench Processor and hardware-in-theloop testing, simulation, visualization, and verification of embedded software with Simulink Simulink test bench Device or design under test (DUT) Simulink system design embedded on DSP 18

Review: Integrated Design Flow for Embedded Software Use code profiles to identify and optimize bottlenecks Verify code with Links to IDEs and processors HDL C MCU Simulink HDL Coder Link for ModelSim Link for Cadence Incisive Generate Quickly create complete working code base Real-Time Workshop Embedded Coder, Targets, Links Generate MATLAB and Simulink Algorithm and System Design Verify Drive system development with an executable specification Verify DSP FPGA ASIC 19

Agenda The System Design Challenge Software Design Flow Hardware Design Flow Summary 20

Integrated Design Flow for Hardware (FPGA and ASIC) Implementation HDL C MCU Simulink HDL Coder Link for ModelSim Link for Cadence Incisive Generate Real-Time Workshop Embedded Coder, Targets, Links Generate HDL code generation (VHDL and Verilog) test bench generation Links to verification Integration with synthesis tools MATLAB and Simulink Algorithm and System Design Verify Design elaboration Verify DSP FPGA ASIC 21

What We Will Show In This Case Study Behavioral modeling and simulation Fixed-point modeling and simulation Design elaboration HDL generation Co-simulation using Link for ModelSim Hardware Case Study: Video Edge Detection on an FPGA Live MATLAB Demo 22

Executable Specification 23

Design Elaboration Automatically generate Verilog or VHDL code from elaborated models 24

HDL Code Generation Using GUI Select subsystem, target language, directory Select output options Check model for errors Generate HDL Code 25

More Code Generation Options Select reset and clock options Set language-specific options: input/output datatypes, timescale directives, 26

Automatically Generate Test Bench Self-checking HDL test bench compares Simulink results to HDL results 27

Co-simulate Generated HDL Link for ModelSim HDL code executing on ModelSim simulator 28

Review: Integrated Design Flow for Hardware Verify code with Links to RTL simulators and synthesis tools HDL C MCU Simulink HDL Coder Link for ModelSim Link for Cadence Incisive Generate Quickly create complete working HDL code base and test benches Real-Time Workshop Embedded Coder, Targets, Links Generate MATLAB and Simulink Algorithm and System Design Verify Drive system development with an executable specification Verify DSP FPGA ASIC 29

Agenda The System Design Challenge Software Design Flow Hardware Design Flow Summary 30

Summary HDL C MCU Simulink HDL Coder Link for ModelSim Link for Cadence Incisive Verify Real-Time Workshop Embedded Coder, Targets, Links Generate Design and verify software and hardware from MATLAB and Simulink MATLAB and Simulink Algorithm and System Design Generate Accelerate development using Model-Based Design Generate Real-Time Workshop Simulink HDL Coder Verify Link for Cadence Incisive Verify DSP FPGA ASIC 31