ID 024C: Auto Code Generation: The Shortest Distance From Idea to Implementation Christopher Myers Director of Software Development 12 October 2010 Version:

Slides:



Advertisements
Similar presentations
Renesas Electronics America Inc. ID A19C: Soup to Nuts with Free Software Innovation:New business models mean new opportunities DJ Delorie Senior Engineer,
Advertisements

ID 610C: Introduction to BLDC Motor Control
ID 311C:Utilizing JTAG / boundary scan and JTAG emulation for board and system level test and design verification Get the total Coverage ! GOEPEL Electronics.
ID 216L: Go Wireless with Redpine Signals' n starter kit on the RX62N MCU Rohan Joginpalli Product Manager Redpine Signals, Inc. 13 October 2010.
Renesas Electronics America Inc. © 2012 Renesas Electronics America Inc. All rights reserved. Using a Renesas Code Generation Tool for RL78 Devices.
ID 210C: Introduction to CAN/LIN Solutions
ID 020C: Hardware-in-Loop: System Testing Without the System Marcella Haghgooie Sr. Field Applications Engineer Version: 1.2 Applied Dynamics International.
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. A13C: Performing Digital Filtering on an MCU Kevin P King.
ID 911C: Case studies for Embedded Security
ID 413C: Can Touch This: Designing Capacitive-Based Touch Solutions Mark F Rodriguez Senior Engineering 13 October 2010 Version: 1.0 Xaplos Inc.
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. ID B32L: Graphical Application Development under Linux/Implementing.
Renesas Electronics America Inc. ID 311L: PIC to R8C Converter David Hedley Staff AE, Applications Engineering 14 Oct 2010 Version: 1.1.
Renesas Electronics America Inc. © 2012 Renesas Electronics America Inc. All rights reserved. Increase the Dynamic Range and Precision of Digital Filters.
422L:Introduction to the.NET Micro Framework Julie Trygstad Vice President and Principal Engineer Version: 1.1 TrygTech 13 October 2010.
Renesas Electronics America Inc. © 2012 Renesas Electronics America Inc. All rights reserved. Know your Precise Position with RX600 MCU.
Renesas Electronics America Inc. “© 2010 Renesas Electronics America Inc. All rights reserved.” ID 720L: Software Development with an Open Source Real-Time.
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. ID A15C: Application Code Reprogramming Using Different Serial.
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. ID 320L: Rapid RX600 System Development Using the RPDL and.
Renesas Electronics America Inc. © 2012 Renesas Electronics America Inc. All rights reserved. Class ID: 3L13B David Hedley, Applications Engineer Advanced.
Renesas Electronics America Inc. “© 2010 Renesas Electronics America Inc. All rights reserved ID 220L: Hands-on Embedded Ethernet Design with an Open Source.
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. 431L: Using a Graphics API to Create User Interface Components—Advanced.
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. 020L: Superior SH2A Design Process using Model Based Design.
An Introduction to OSEK l JRD l ETAS-STV/PRM-E l 2010 © ETAS GmbH All rights reserved. The names and designations used in this document are trademarks.
© 2010 Renesas Electronics America Inc. All rights reserved. ID 411C: Capacitive Touch User Interfaces and Hardware- based Solutions Renesas Electronics.
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. ID 115C: Low Pin Count V850: Small but Powerful MCU for portable.
Renesas Electronics America Inc. ID 322C:Using HEW's Many Capabilities to Boost Software Development Productivity Axel Wolf Marketing Manager, Development.
© 2010 Renesas Electronics America Inc. All rights reserved. 131L: Optimizing RX Performance John Breitenbach President, Atlantex Corp. 14 October 2010.
ID 310C:Run-Time Visualization on Renesas MCUs Matt Gordon Sr. Applications Engineer Version: 1.2 Micriµm 12 October 2010.
Renesas Electronics America Inc. Jeremy Brodt
Renesas Electronics America Inc. © 2012 Renesas Electronics America Inc. All rights reserved. Migrating from CubeSuite+ to Eclipse.
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. ID A12C:Noise Fundamentals and Techniques for Minimizing.
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. ID 930L: Board ID Embedded Security Lab Shotaro Saito Application.
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. ID 410L: Low cost audio in 8/16 bit applications using ADPCM.
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. A11L: 78K0R Low Power MCU Hands-On Lab Bob Proctor Staff.
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. A30L: Increase the Dynamic Range and Precision of Digital.
ID A16C: Outfitting Embedded Devices with Low Power Wireless Communications Design considerations for adding wireless communications to low power embedded.
Renesas Electronics America Inc. © 2012 Renesas Electronics America Inc. All rights reserved. Class ID: Know your Precise Position with RX600 MCU Huangsheng.
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. ID A11C: Hardware Design Fundamentals for MCU-based Embedded.
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. 113C: Migration to the RX600 Made Easy Life in the fast lane.
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. ID630L: Becoming Familiar with Sensorless Vector Control.
Class ID: Renesas Electronics America Inc. © 2012 Renesas Electronics America Inc. All rights reserved. Class ID: Using Virtual EEPROM and Flash API for.
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. ID 011C: VELOCITY LAB TM Embedded Development Ecosystem Amrit.
Renesas Electronics America Inc. © 2012 Renesas Electronics America Inc. All rights reserved. QuantiPhi for RH850 and RL78 - The Fastest Path from Idea.
IAR Systems, Inc. ID 323C:A High Performance Compiler Solution for the RX Platform Shawn A. Prestridge Senior Field Applications Engineer 12 October 2010.
Class ID: Renesas Electronics America Inc. © 2012 Renesas Electronics America Inc. All rights reserved. Implementing Bootloaders on Renesas MCUs.
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. ID 434L: Incorporating a Capacitive Touch Interface into.
ID 415:Drive a Color TFT-LCD panel with Low-cost Flash MCUs Sridhar Lingam Product Marketing Manager 12 October 2010 Version: 06.
Renesas Electronics America Inc. © 2012 Renesas Electronics America Inc. All rights reserved. Advanced Debugging on the RX600.
Renesas Electronics America Inc. © 2012 Renesas Electronics America Inc. All rights reserved. Advanced E 2 Studio Topics.
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. ID 411L:A Direct Drive LCD Software Solution for Driving.
Renesas Electronics America Inc. © 2012 Renesas Electronics America Inc. All rights reserved. Class ID: Low Power Design Michael Thomas, Applications Engineer.
ID 222L: Get Connected with USB on RX62N
Global Edge Ian Carvalho Architect 14 October 2010 Copyright © 2010, Global Edge Software Ltd., Bangalore, India Version 1.0 ID 730L: Getting Started with.
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. ID 230L: Simplify your Networked Application with CAN and.
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. ID 416C:SH-2A Graphics for Low- to Mid-level Graphics Applications.
Renesas Electronics America Inc. © 2012 Renesas Electronics America Inc. All rights reserved. Class ID: 3L05I Advanced Debugging on the RX600 Fatih Peksenar.
Renesas Electronics America Inc. © 2012 Renesas Electronics America Inc. All rights reserved. Class ID: 5L08I Using the Renesas Graphics API to Create.
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. ID 322L:Advanced Debugging on the RX600 Brandon Hussey Applications.
IAR Systems, Inc. ID 324C:Introducing the Embedded Workbench for the Renesas SH Shawn A. Prestridge Senior Field Applications Engineer 12 October 2010.
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. ID 421L: R8C Segment-LCD API Lab Bob Proctor Staff Engineer.
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. ID A10L:A Flexible Flash Rewrite Application Brandon Hussey.
ID 721C: Using an RTOS in SH Based Product Development John Carbone VP, Marketing 13 October 2010 Version: 3.2 Express Logic, Inc.
Renesas Electronics America Inc. © 2012 Renesas Electronics America Inc. All rights reserved. Class ID: QuantiPhi for RH850 and RL78 - The Fastest Path.
ID 021L: Model Based Control Design and Auto-Code Generation using the R8C Christopher Myers Director of Software Development 12 October 2010 Version:
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. ID 130L: Optimizing your SH2A Application Kevin P King Senior.
Class ID: Renesas Electronics America Inc. © 2012 Renesas Electronics America Inc. All rights reserved. Class ID: Using Software Building Blocks for Faster.
David Hedley Staff AE, Applications Engineering 12 Oct 2010
ID 023C: Model-Based Control Design
David Hedley Staff AE, Applications Engineering 13 October 2010
ID 325L: Getting Started with CubeSuite
Presentation transcript:

ID 024C: Auto Code Generation: The Shortest Distance From Idea to Implementation Christopher Myers Director of Software Development 12 October 2010 Version: 1.1

2 Christopher Myers Director of Software Development Responsible for designing and managing development of SimuQuest product lines Lead Developer of QuantiPhi, a line of code generation tools that bring a hardware interface into the Simulink modeling environment. PREVIOUS EXPERIENCE: Working in the area of model-based development using MATLAB / Simulink since Production automotive and consumer electronics experience at Motorola since Designed high-performance network appliances designed to provide unparalleled visibility into network usage while at Arbor Networks, Inc. MS, BS from the University of Michigan

3 Renesas Technology and Solution Portfolio Microcontrollers & Microprocessors #1 Market share worldwide * Analog and Power Devices #1 Market share in low-voltage MOSFET** Solutions for Innovation ASIC, ASSP & Memory Advanced and proven technologies * MCU: 31% revenue basis from Gartner "Semiconductor Applications Worldwide Annual Market Share: Database" 25 March 2010 **Power MOSFET: 17.1% on unit basis from Marketing Eye 2009 (17.1% on unit basis).

44 Renesas Technology and Solution Portfolio Microcontrollers & Microprocessors #1 Market share worldwide * Analog and Power Devices #1 Market share in low-voltage MOSFET** ASIC, ASSP & Memory Advanced and proven technologies * MCU: 31% revenue basis from Gartner "Semiconductor Applications Worldwide Annual Market Share: Database" 25 March 2010 **Power MOSFET: 17.1% on unit basis from Marketing Eye 2009 (17.1% on unit basis). Solutions for Innovation

55 Microcontroller and Microprocessor Line-up Superscalar, MMU, Multimedia  Up to 1200 DMIPS, 45, 65 & 90nm process  Video and audio processing on Linux  Server, Industrial & Automotive  Up to 500 DMIPS, 150 & 90nm process  600uA/MHz, 1.5 uA standby  Medical, Automotive & Industrial  Legacy Cores  Next-generation migration to RX High Performance CPU, FPU, DSC Embedded Security  Up to 10 DMIPS, 130nm process  350 uA/MHz, 1uA standby  Capacitive touch  Up to 25 DMIPS, 150nm process  190 uA/MHz, 0.3uA standby  Application-specific integration  Up to 25 DMIPS, 180, 90nm process  1mA/MHz, 100uA standby  Crypto engine, Hardware security  Up to 165 DMIPS, 90nm process  500uA/MHz, 2.5 uA standby  Ethernet, CAN, USB, Motor Control, TFT Display High Performance CPU, Low Power Ultra Low Power General Purpose

66 Microcontroller and Microprocessor Line-up Superscalar, MMU, Multimedia  Up to 1200 DMIPS, 45, 65 & 90nm process  Video and audio processing on Linux  Server, Industrial & Automotive  Up to 500 DMIPS, 150 & 90nm process  600uA/MHz, 1.5 uA standby  Medical, Automotive & Industrial  Legacy Cores  Next-generation migration to RX High Performance CPU, FPU, DSC Embedded Security  Up to 10 DMIPS, 130nm process  350 uA/MHz, 1uA standby  Capacitive touch  Up to 25 DMIPS, 150nm process  190 uA/MHz, 0.3uA standby  Application-specific integration  Up to 25 DMIPS, 180, 90nm process  1mA/MHz, 100uA standby  Crypto engine, Hardware security  Up to 165 DMIPS, 90nm process  500uA/MHz, 2.5 uA standby  Ethernet, CAN, USB, Motor Control, TFT Display High Performance CPU, Low Power Ultra Low Power General Purpose

7 Innovation: Innovate Faster

8 Model-Based Design Model-Based Design and Automatic Code Generation is the future of embedded controls. SimuQuest believes that as companies across all industries realize the innovation advantage that it provides, it will play a part in the design of nearly all embedded systems worldwide.

9 Agenda Introduction to modeling and auto-code Examples of Simulink / Stateflow Exploration of design concerns Fixed-point vs. floating point Integrating hand code with auto-code Modeling an entire application: One-Touch code generation Q&A

10 Agenda (in other words) Make the case for modeling and auto-code Show you what modeling and auto-code is all about Show you just how far it can be taken Answer questions

11 Key Takeaways Models helps define requirements Models can be auto-coded You can use that C code flexibly Auto-coding is powerful Auto-coding saves you time

12 Auto-Code Generation: Why Software Perspective Controls Perspective

13 Modeling: A Software Perspective Software Perspective Controls Perspective

14 Typical Project Kick-Off Delivery Effort Time

15 Ideal Project Kick-Off Delivery Effort Time

16 Dollars and Cents Advantage SOFTWARE DEFECT COSTS

17 Why Typical Approaches Don’t Work! Req Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ut orci nulla. Aenean nulla metus, blandit eget blandit vitae, commodo sit amet metus. Mauris lacinia varius dui, quis dictum nisi aliquet vitae. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nisi nunc, blandit vitae porta vitae, faucibus sit amet neque… Use Case 1 Use Case n Or…

18 A Model-Based Approach Understand the system we’ll be interacting with. Model it. Develop executable models of system requirements Integrate early and often Bring pre-tested hardware drivers into the modeling environment Auto-generate code

19 Modeling: A Controls Perspective Software Perspective Controls Perspective

20 Why Auto-Code Generation: R&D

21 Modeling: Auto-Coding Software Perspective Controls Perspective

22 Our Auto-Coding Toolbox MATLAB QuantiPhi RTW Embedded Coder Simulink & Stateflow Base computing platform Modeling platform Auto-code generation Provides MCU configuration and device drivers.

23 Building Block: The Feature Feature Determine a set point Condition a user input Detect a fault Compute value for an actuator inputs outputs triggers

24 An Example Feature Model [In Simulink]

25 What About Integrating the Code? Feature Data Types Variables File Naming Legacy Code Target New Concerns!

26 What About Integrating the Code? Feature Data Types Variables File Naming Legacy Code Target

27 C to Simulink Mappings C Types unsigned char char unsigned short int short int unsigned long int long int float double Simulink Types boolean uint8 int8 uint16 int16 uint32 int32 single double + additional fixed- point types available

28 Data Types: Floating and Fixed Point float my_var = 3.57; FPUNo FPU

29 Data Types: Floating and Fixed Point *IEEE754 1 float* uint Artificial binary point ufix16_En Value to represent: 3.57 uint Artificial decimal point (understood that number is 100x higher than real value) ufix16_Sp01 3. ( )

30 Data Types (+Fixed Point) in Simulink [In Simulink]

31 Auto-Coding for Different-Sized Targets Feature Data Types Variables File Naming Legacy Code Target

32 More Control Over Generated Code Feature Data Types Variables File Naming Legacy Code Target

33 More Control Over Generated Code Simple: Can control variable’s: Placement in RAM / ROM Class (const, volatile, etc) Naming Scope (global vs. local) Advanced: Can control variable’s: Declaration Definition Code needed to read Code needed to write

34 More Control Over Generated Code (Cont’d) Simple: Can control subsystem’s: Name of the file containing its code Name of the generated function Advanced: Can control subsystem’s: Placement in memory (near vs. far for example) RAM / ROM variable placement in memory

35 Legacy Code Feature Data Types Variables File Naming Legacy Code Target

36 Legacy Code Feature Backed By Legacy Code inputs outputs triggers [Go to Simulink] Step 1: Simulation Behavior Step 2: Code Generation Behavior

37 Typical Auto-Coding Methodologies Feature Effort =

38 Typical Auto-Coding Methodologies Feature 1Feature n “Application Layer” Effort =

39 Typical Auto-Coding Methodologies Feature 1Feature n Hardware Interface Effort =

40 Convinced?

41 The Next Step Feature 1Feature n Hardware Interface

42 A B C Interfacing With Hardware

43 Interfacing With Hardware A B C PA0 RPM pwm0 QuantiPhi

44 Hardware Abstraction Layer Example of a digital debounce:

45 Another Hardware Abstraction Layer Example Example of analog counts to engineering units:

46 A “One Touch” Example Using QuantiPhi [In Simulink]

47 Innovation: Innovate Faster

48 Related Lab [In Simulink] 021L: Model Based Control Design and Auto Code Generation using the R8C

49 Questions?

50 Thank You!