Bridging Algorithm and ESL Design: MATLAB/Simulink Model Transformation and Validation

  • Liyuan Zhang
  • Michael Glaß
  • Nils Ballmann
  • Jürgen Teich


MATLAB/Simulink is today’s de-facto standard for model-based design in domains such as control engineering and signal processing. Particular strengths of Simulink are rapid design and algorithm exploration. Moreover, commercial tools are available to generate embedded C or HDL code directly from a Simulink model. On the other hand, Simulink models are purely functional models and, hence,designers cannot seamlessly consider the architecture that a Simulink model is later implemented on. In particular, it is not possible to explore the different architectural alternatives and investigate the arising interactions and side-effects directly within Simulink. To benefit from MATLAB/Simulink’s algorithm exploration capabilities and overcome the outlined drawbacks, this work introduces a model transformation framework that converts a Simulink model to an executable specification, written in an actor-oriented modeling language. This specification then serves as the input of a well-established Electronic System Level (ESL) design flow, enabling Design Space Exploration (DSE) and automatic code generation for both hardware and software. We also present a validation technique that considers the functional correctness by comparing the original Simulink model with the generated specification in a co-simulation environment. The co-simulation can also be used to evaluate different quality numbers of implementation candidates during DSE. As a case study, we present and investigate a torque vectoring application from an electric automotive vehicle.


Electronic System Level (ESL) MATLAB/Simulink Model transformation Model validation Design Space Exploration (DSE) SystemC Model-Based Design (MBD) Code generation SysteMoC Torque vectoring 


  1. 1.
    Atat Y, Zergainoh NE (2008) Automatic code generation for MPSOC platform starting from SIMULINK/MATLAB: new approach to bridge the gap between algorithm and architecture design. In: Proceedings on the international conference on information and communication technologies: from theory to applications (ICTTA) 2008, IEEE, pp 1–6Google Scholar
  2. 2.
    Baleani M, Ferrari A, Mangeruca L, Sangiovanni-Vincentelli AL, Freund U, Schlenker E, Wolff HJ (2005) Correct-by-construction transformations across design environments for model-based embedded software development. In: Proceedings of the design, automation and test in Europe conference (DATE) 2005, IEEE, pp 1044–1049Google Scholar
  3. 3.
    Barnasconi M, Einwich K, Grimm C, Maehne T, Vachoux A (2011) Advancing the SystemC analog/mixed-signal AMS extensions. Open SystemC Initiative (OSCI)Google Scholar
  4. 4.
    Boland JF, Thibeault C, Zilic Z (2005) Using MATLAB and Simulink in a SystemC verification environment. In: Proceedings of the design and verification conference (DVCon) 2005Google Scholar
  5. 5.
    Caspi P, Curic A, Maignan A, Sofronis C, Tripakis S, Niebert P (2003) From Simulink to SCADE/Lustre to TTA: a layered approach for distributed embedded applications. ACM Sigplan Not ACM 38:153–162CrossRefGoogle Scholar
  6. 6.
    Czerner F, Zellmann J (2002) Modeling cycle-accurate hardware with Matlab/Simulink using SystemC. In: The European SystemC users group meeting (ESCUG) 2002Google Scholar
  7. 7.
    dSPACE (2013) Automotive simulation models (ASM). dSPACE.
  8. 8.
    ESTEREL (2013) SCADE suite™: control and logic application development. ESTEREL technologies.
  9. 9.
    ETAS (2013) ASCET. ETAS.
  10. 10.
    Falk J, Haubelt C, Teich J (2006) Efficient representation and simulation of model-based designs in SystemC. In: Proceedings of the forum on specification and design languages (FDL) 2006, pp 129–134Google Scholar
  11. 11.
    Gerstlauer A, Haubelt C, Pimentel AD, Stefanov TP, Gajski DD, Teich J (2009) Electronic system-level synthesis methodologies. IEEE Trans Comput Aided Des Integr Circ Syst 28(10):1517–1530CrossRefGoogle Scholar
  12. 12.
    Grötker T, Liao S, Martin G, Swan S (2002) System design with SystemC. Kluwer Academic Publisher, BostonGoogle Scholar
  13. 13.
    Jersak M, Cai Y, Ziegenbein D, Ernst R (2000) A transformational approach to constraint relaxation of a time-driven simulation model. In: Proceedings of the international symposium on system synthesis (ISSS) 2000, IEEE Computer Society, Washington DC, pp 137–142. doi:10.1145/501790.501820
  14. 14.
    Kai H, Sang-il H, Popovici K, Brisolara L, Guerin X, Li L, Yan X, Chae SI, Carro L, Jerraya A (2007) Simulink-based MPSoC design flow: case study of motion-JPEG and H.264. In: Proceedings of the ACM/IEEE design automation conference (DAC) 2007, pp 39–42Google Scholar
  15. 15.
    Keinert J, Streubühr M, Schlichter T, Falk J, Gladigau J, Haubelt C, Teich J, Meredith M (2009) SYSTEMCODESIGNER—an automatic ESL synthesis approach by design space exploration and behavioral synthesis for streaming applications. ACM Trans Des Autom Electron Syst 14(1):1–23CrossRefGoogle Scholar
  16. 16.
    Kienhuis B, Deprettere E, Vissers K, van der Wolf P (1997) An approach for quantitative analysis of application-specific dataflow architectures. In: Proceedings of the IEEE international conference on application-specific systems, architectures and processors (ASAP) 1997, pp 338–349. doi:10.1109/ASAP.1997.606839
  17. 17.
    Kopetz H (2011) Real-time systems: design principles for distributed embedded applications. Springer, HermannCrossRefGoogle Scholar
  18. 18.
    Lee EA (2000) What’s ahead for embedded software? Computer 33(9):18–26CrossRefGoogle Scholar
  19. 19.
    Lee EA, Neuendorffer S (2004) Actor-oriented models for codesign. Formal methods and models for system design. Kluwer Academic Publishers, Norwell, pp 33–56CrossRefGoogle Scholar
  20. 20.
    Lukasiewycz M, Streubühr M, Glaß M, Haubelt C, Teich J (2009) Combined system synthesis and communication architecture exploration for MPSoCs. In: Proceedings of the design, automation and test in Europe Conference (DATE) 2009. IEEE Computer Society, Nice, pp 472–477Google Scholar
  21. 21.
    Martin G, Bailey B, Piziali A (2010) ESL design and verification, a prescription for electronic system level methodology. Morgan Kaufmann, San FranciscoGoogle Scholar
  22. 22.
    MathWorks T (2013) S-Function.
  23. 23.
    The MathWorks (2013) HDL Verifier™: Verify HDL and Verilog using HDL simulators and FPGA-in-the-loop test. The MathWorks.
  24. 24.
    The Mathworks (2013) Simulink Coder: Generate C and C\({+}{+}\) code from Simulink and Stateflow models. The MathWorksGoogle Scholar
  25. 25.
    The Mathworks (2013) Simulink: Simulation and model-based design. The MathWorksGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Liyuan Zhang
    • 1
  • Michael Glaß
    • 1
  • Nils Ballmann
    • 1
  • Jürgen Teich
    • 1
  1. 1.Hardware/Software Co-Design, Department of Computer ScienceFriedrich-Alexander-Universität Erlangen-Nürnberg (FAU)ErlangenGermany

Personalised recommendations