Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

1 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 2 Christopher Myers cmyers@simuquest.com 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 2003. Production automotive and consumer electronics experience at Motorola since 2000. 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 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).

4 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

5 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

6 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 7 Innovation: Innovate Faster

8 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 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 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 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 12 Auto-Code Generation: Why Software Perspective Controls Perspective

13 13 Modeling: A Software Perspective Software Perspective Controls Perspective

14 14 Typical Project Kick-Off Delivery Effort Time

15 15 Ideal Project Kick-Off Delivery Effort Time

16 16 Dollars and Cents Advantage SOFTWARE DEFECT COSTS

17 17 Why Typical Approaches Don’t Work! Req 1.6.5.9.1.2.3 - 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 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 19 Modeling: A Controls Perspective Software Perspective Controls Perspective

20 20 Why Auto-Code Generation: R&D

21 21 Modeling: Auto-Coding Software Perspective Controls Perspective

22 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 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 24 An Example Feature Model [In Simulink]

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

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

27 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 28 Data Types: Floating and Fixed Point float my_var = 3.57; FPUNo FPU

29 29 Data Types: Floating and Fixed Point *IEEE754 1 float* uint16 001110000000000 Artificial binary point ufix16_En4 1100101011110001110010 00000001 0 0 Value to represent: 3.57 uint16 3 57 Artificial decimal point (understood that number is 100x higher than real value) ufix16_Sp01 3. (0.5 + 0.0625)

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

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

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

33 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 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 35 Legacy Code Feature Data Types Variables File Naming Legacy Code Target

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

37 37 Typical Auto-Coding Methodologies Feature Effort =

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

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

40 40 Convinced?

41 41 The Next Step Feature 1Feature n Hardware Interface

42 42 A B C Interfacing With Hardware

43 43 Interfacing With Hardware A B C PA0 RPM pwm0 QuantiPhi

44 44 Hardware Abstraction Layer Example of a digital debounce:

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

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

47 47 Innovation: Innovate Faster

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

49 49 Questions?

50 50 Thank You!

51


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

Similar presentations


Ads by Google