Synopsys, Inc. · NASDAQ:SNPS

Synopsys — Technical Presentation (June 2013)

19 slides from Synopsys's technical presentation, Jun 19, 2013

  1. Slide 1: Using Chip Simulation to Optimize Engine Control

    Using Chip Simulation to Optimize Engine Control Matthias Simons - Daimler AG Mihai Feier, Jakob Mauss - QTronic GmbH 7th Conference on Design of Experiments (DoE) in Engine Development Berlin, 18.–19.06.2013

  2. Slide 2: Outline of the talk

    Outline of the talk Using Chip Simulation to Optimize Engine Control 1. Motivation 2. Running ECU functions on PC via chip simulation 3. Coupling with least-squares optimization 4. Conclusion Using Chip Simulation to Optimize Engine Control - DoE in Engine Development - Berlin 19.06.2013

  3. Slide 3: Motivation

    Motivation number of engine control parameters Number of parameters doubles every few years and required memory budget for engine calibration does not Idea increase degree of automation move calibration tasks from test rigs to PC and apply mathematical optimization source: presentation of S. Ullmann

  4. Slide 4: Motivation: Model-based engine calibration

    Motivation: Model-based engine calibration vehicle model objective engine plant model optimization function algorithm f(maps) ecu code maps ECU source (C, Ascet, or Simulink model) typically not available for OEM Challenge: how to simulate the ECU on PC? Options: - reverse engineer the ECU function

  5. Slide 5: Simulating a hex file

    Simulating a hex file :020000040000FA :0200000480007A :200000003000000004FD00000000028000FD0080080200801C0200800507AFAFAFAFAFAF62 :20002000AFAFAFAFAFAFAFAFAFAFAFAF02000000D35A48223004020000000080FFFC0080C2 :20004000FECADEFAFEAFFECA0000000074FC008000100000310412007800008003020080C7 :20006000FECADEFAF

  6. Slide 6: TriCore Simulation in Silver 2.5

    TriCore Simulation in Silver 2.5 INCA or CANape for on-line calibration: measure and tune running simulation virtual ECU TriCore ECU functions emulation 40 MIPS RTOS emulation 4GB virtual memory TCP/IP A2L XCP conversion vehicle simulation or measurements Silver Using Chip Simulation to Optimize Eng

  7. Slide 7: Setting up a TriCore simulation

    Setting up a TriCore simulation 1. write spec.txt to specify what functions to run 2. step and debug the simulation in Silver debug mode 3. generate fast running SFunction or Silver module: runs without a2l and hex 01 # specification of sfunction or Silver module 02 hex_file(m12345.hex, TriCore_1.3.

  8. Slide 8: Virtual ECU running in Silver: MED17

    Virtual ECU running in Silver: MED17 Using Chip Simulation to Optimize Engine Control - DoE in Engine Development - Berlin 19.06.2013

  9. Slide 9: Generated SFunction in MATLAB/Simulink

    generated SFunction in MATLAB/Simulink spec.txt .hex .map characteristics turned into MATLAB workspace variables .a2l frame.s - read by S-function - may be modified by script tcbuild .mexw32 MATLAB/Simulink S-function 40 MIPS default values for characteristics from .mask.txt HEX file as m script, ma

  10. Slide 10: Performance and Limitations

    Performance and Limitations Run complex function for a measured scenario, 3.5 minutes target execution time MIPS Silver in debug mode 919.15 sec 0.41 generated Silver module or 9.30 sec 40.80 MATLAB/Simulink SFunction MED17 with TC1797, 180 Mhz 210.00 sec 270 Limitations - instruction accurate, but

  11. Slide 11: Optimization problem

    Optimization problem Engine controller contains steady-state model of the engine Objective Tune parameters of the engine model such that it fits given measurements Least-squares optimization Minimize goal function m g  x=∑ f  x 2 i i=1 where ● x is a vector of n real parameters ● f (x) = model(x

  12. Slide 12: A problem with chip simulation

    A problem with chip simulation goal function: Simulink model chip simulation Using Chip Simulation to Optimize Engine Control - DoE in Engine Development - Berlin 19.06.2013

  13. Slide 13: A problem with chip simulation

    A problem with chip simulation goal function: Simulink model chip simulation Using Chip Simulation to Optimize Engine Control - DoE in Engine Development - Berlin 19.06.2013

  14. Slide 14: A problem with chip simulation

    A problem with chip simulation Optimization methods often require gradients to guide search Engine control often implemented using fixed-point integer code → gradients of the goal function are zero (or undefined) → no guidance → optimization terminates early at local optimum Using Chip Simulation to

  15. Slide 15: Idea 1: construct a smooth goal function

    Idea 1: construct a smooth goal function gradient f(x) pass to optimization procedure is zero - discrete goal function f(x) gradient non-zero - gradient info, e.g. Jacobian Jij but noisy gradient is less noisy grid size h x f(x) goal function implemented using chip simulation: zero gradient f(x) use

  16. Slide 16: Idea 2: pre-compute grid sizes

    Idea 2: pre-compute grid sizes m time points, n parameter → m x n matrix Hij of grid sizes → must be computed at each step x0, x1, x2, ... expensive! x4 x3 Observation Hij does not change much solution during the solution process: compute only for x0 and reuse start x2 x0 x1 Using Chip Simulation to

  17. Slide 17: Idea 3: Stochastic model of grid sizes

    Idea 3: Stochastic model of grid sizes For large problems, do not compute all elements of matrix Hij Use stochastic model: for parameter xj - compute Hij for x0 and some (not all) time points ti - estimate average µj and standard deviation σj - use hj = 10 (µj +3σj) to compute gradient of xj to be u

  18. Slide 18: Numerical experiment

    Numerical experiment Example: Tune engine model used by engine controller ● m = 202 measurement time points ● n = 20 parameters ● solver: lsqnonlin from MATLAB optimization toolbox ● goal function implemented using chip simulation - gradient info passed using option FinDiffRelStep - stochastic model

  19. Slide 19: Conclusion

    Conclusion Using Chip Simulation to Optimize Engine Control - chip simulation can be used to port ECU functions to PC - the resulting model - runs much faster than real time - can be coupled with optimization procedures to automate engine calibration - derivative-free optimization: no problem - othe

Synopsys — Technical Presentation (June 2013) on 6ix