Advertisement

Design Automation for Embedded Systems

, Volume 19, Issue 4, pp 389–419 | Cite as

Towards closing the specification gap by integrating algorithm-level and system-level design

  • Jiaxing ZhangEmail author
  • Gunar Schirner
Article

Abstract

Modern multiprocessor system-on-chip (MPSoC) designs face challenges in tremendous complexity imposed by the wide range of functional and architectural requirements. Design automation methodologies address some of the complexity through design abstractions from two different angles, namely functionality and architecture. Algorithm-level design (ALD), such as Simulink, focuses on managing the functional complexity through algorithm modeling. Meanwhile, system-level design (SLD) addresses the platform complexity by exploring and synthesizing architecture models from specifications captured in a system-level design language (SLDL). However, these two design methodologies are inherently disjoint as they focus on different design domains at separate abstraction levels. As a result, transition from algorithm models to system-level explorations often requires re-authoring of the functional SLDL specification to expose hierarchy and parallelism. This thus forms the Specification Gap causing a loss of productivity and stalling the overall design cycle. This paper proposes to join ALD and SLD to close the specification gap through a Specification Synthesis approach. We introduce Algo2Spec, which synthesizes an SLDL specification out of an algorithm model in Simulink. Algo2Spec enables a rapid heterogeneous Design Space Exploration while still tuning the algorithm according to functional needs. With Algo2Spec, system level design principles propagate up to higher abstraction levels and a new joint algorithm/architecture co-design flow is created. The joint flow seamlessly spans from algorithm modeling down to heterogeneous implementations crossing multiple abstractions. Our approach empowers designers to create, simulate, and explore models in a rapid design cycle. Utilizing the joint flow, we demonstrate opportunities for algorithm and architecture co-design on a set of real-world benchmark applications ranging from 57 to 5733 Simulink blocks. The automatic synthesis avoids the tedious and error-prone manual conversion of Simulink algorithm models into SLDL specifications. Algo2Spec executes in 4.5 s on average to synthesize a single Simulink block to a fully functional SLDL behavior. Compared to an estimated 5.18 h of manual editing, Algo2Spec improves productivity by three orders of magnitude for obtaining the system-level specifications from Simulink models.

Keywords

Specification synthesis Simulink MPSoC design methodology  Design space exploration Algorithm-Architecture co-design 

Notes

Acknowledgments

The work presented in this paper is partially supported by the National Science Foundation under Grant No. 1136027.

References

  1. 1.
    Abdi S, Gajski D (2006) Verification of system level model transformations. Int J Parallel Program 34(1):29–59zbMATHCrossRefGoogle Scholar
  2. 2.
    Altintas I, Berkley C, Jaeger E, Jones M, Ludascher B, Mock S (2004) Kepler: an extensible system for design and execution of scientific workflows. In: Proceedings of the 16th international conference on scientific and statistical database management, pp 423–424Google Scholar
  3. 3.
    Baleani M, Ferrari A, Mangeruca L, Sangiovanni-vincentelli AL, Freund U, Schlenker E, J. Wolff H (2005) Correct-by-construction transformations across design environments for modelbased embedded software development. In: Proceedings of the conference on design, automation and test in Europe (DATE)Google Scholar
  4. 4.
    Boland JF, Thibeault C, Zilic Z (2005) Using MATLAB and simulink in a SystemC verification environment. In: Proceedings of design and verification conference, DVConGoogle Scholar
  5. 5.
    Cai L, Gerstlauer A, Gajski DD (2004) Retargetable profiling for rapid, early system-level design space exploration. In: Proceedings of the design automation conference (DAC). San Diego, CAGoogle Scholar
  6. 6.
    Cai L, Gerstlauer A, Gajski DD (2005) Multi-metric and multi-entity characterization of applications for early system design exploration. In: Proceedings of the Asia and South Pacific design automation conference (ASPDAC). Shanghai, ChinaGoogle Scholar
  7. 7.
    Cain J, McCrindle R (2002) An investigation into the effects of code coupling on team dynamics and productivity. In: Proceedings of the 26th annual international computer software and applications conference (COMPSAC 2002). pp 907–913Google Scholar
  8. 8.
    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. In: Proceedings of the 2003 ACM SIGPLAN conference on language, compiler, and tool for embedded systems, LCTES ’03. ACM, New York, NY, USA, pp 153–162Google Scholar
  9. 9.
    Chandraiah P, Dömer R (2005) Specification and design of a MP3 audio decoder. Technical Report CECS-TR-05-04, University of California, IrvineGoogle Scholar
  10. 10.
    Chandraiah P, Dömer R (2008) Code and data structure partitioning for parallel and flexible MPSoC specification using designer-controlled recoding. IEEE Trans Comput-Aided Des Integr Circuits Syst 27(6):1078–1090CrossRefGoogle Scholar
  11. 11.
    Chaturvedi DK (2009) Modeling and simulation of systems using Matlab/Simulink, pp 1–733Google Scholar
  12. 12.
    Dassault (2013) Dymola dynamic modeling laboratory, dymola release notesGoogle Scholar
  13. 13.
    Dmer R, Gerstlauer A, Peng J, Shin D, Cai L, Yu H, Abdi S, Gajski DD (2008) System-on-chip environment: a SpecC-based framework for heterogeneous MPSoC design 2008, 5, 15: 13Google Scholar
  14. 14.
    Dömer R (1999) The SpecC internal representation. Technical report, Information and Computer Science, University of California, Irvine. SpecC V 2.0.3Google Scholar
  15. 15.
    Dömer R (2010) Computer-aided recoding for multi-core systems. In: Design automation conference (ASP-DAC), 2010 15th Asia and South Pacific, pp 713–716Google Scholar
  16. 16.
    Dömer R, Zhu J, Gajski DD (1998) The SpecC language reference manual. Technical report, SpecC Technology Open ConsortiumGoogle Scholar
  17. 17.
    GmbH DsPaCe (2004) Guide. TargetLink Production Code Generation. V2.0Google Scholar
  18. 18.
    Eker J, Janneck J, Lee E, Liu J, Liu X, Ludvig J, Neuendorffer S, Sachs S, Xiong Y (2003) Taming heterogeneity-the ptolemy approach. Proc IEEE 91(1):127–144CrossRefGoogle Scholar
  19. 19.
    Ellsberger J, Hogrefe D, Sarma A (1997) SDL: formal object-oriented language for communicating systems. Prentice Hall, New JerseyGoogle Scholar
  20. 20.
    ETAS: Ascet. http://www.etas.de. In: online
  21. 21.
    Gajski D, Vahid F, Narayan S, Gong J (1998) SpecSyn: an environment supporting the specify-explore-refine paradigm for Hardware/Software system design. IEEE Trans VLSI Syst 6:84–100CrossRefGoogle Scholar
  22. 22.
    Gajski DD (1997) Principles of digital design. Prentice Hall, New JerseyGoogle Scholar
  23. 23.
    Gajski DD, Zhu J, Dömer R, Gerstlauer A, Zhao S (2000) SpecC: specification language and design methodology. Kluwer Academic Publishers, BaselCrossRefGoogle Scholar
  24. 24.
    Gall DL (1991) MPEG: a video compression standard for multimedia applications. Commun ACM 34:46–58CrossRefGoogle Scholar
  25. 25.
    Gerstlauer A, Dömer R, Peng J, Gajski DD (2001) System design: a practical guide with SpecC. Kluwer Academic Publishers, BaselCrossRefGoogle Scholar
  26. 26.
    Gerstlauer A, Zhao S, Gajski D, Horak A (2000) SpecC system-level design methodology applied to the design of a GSM vocoder. In: Proceedings of the workshop of synthesis and system integration of mixed information technologiesGoogle Scholar
  27. 27.
    Ghosh A, Ratasuk R, Mondal B, Mangalvedhe N, Thomas T (2010) Lte-advanced: next-generation wireless broadband technology [invited paper]. Wireless Commun IEEE 17(3):10–22CrossRefGoogle Scholar
  28. 28.
    Gruttner K, Hylla K, Rosinger S, Nebel W (2010) Towards an esl framework for timing and power aware rapid prototyping of hw/sw systems. In: Proceedings of the specification design languages (FDL 2010), 2010 Forum on, pp 1–6Google Scholar
  29. 29.
    Ha S, Lee C, Yi Y, Kwon S, Joo YP (2006) Hardware-software codesign of multimedia embedded systems: the peace. In: Proceedings of the 12th IEEE international conference, embedded and real-time computing systems and applications, 2006, pp 207–214Google Scholar
  30. 30.
    Han SI, Chae SI, Brisolara L, Carro L, Popovici K, Guerin X, Jerraya AA, Huang K, Li L, Yan X (2009) Simulink-based heterogeneous multiprocessor SoC design flow for mixed hardware/software refinement and simulation. Integration, the VLSI Journal 42(2):227–245CrossRefGoogle Scholar
  31. 31.
    Hochstein L, Carver J, Shull F, Asgari S, Basili V, Hollingsworth J, Zelkowitz M (2005). Parallel programmer productivity: a case study of novice parallel programmers. In: Supercomputing, 2005. Proceedings of the ACM/IEEE SC 2005 conference, pp 35–35Google Scholar
  32. 32.
    Johnson GW (1997) LabVIEW Graphical Programming: Practical Applications in Instrumentation and Control, 2nd edn. McGraw-Hill, McGraw-Hill School Education GroupGoogle Scholar
  33. 33.
    Kienhuis B, Rijpkema E, Deprettere E (2000) Compaan: deriving process networks from matlab for embedded signal processing architectures. In: Proceedings of the eighth international workshop on hardware/software codesign, 2000. CODES 2000, pp 13–17Google Scholar
  34. 34.
    Marchioro G, Daveau JM, Jerraya A (1997) Transformational partitioning for co-design of multiprocessor systems. In: 1997 IEEE/ACM International Conference on Computer-Aided Design, 1997. Digest of Technical Papers, pp 508–515Google Scholar
  35. 35.
    Martin G, Mueller W (2005) UML for SOC Design. Springer, DordrechtCrossRefGoogle Scholar
  36. 36.
    The MathWorks Inc (1993) Natick. MATLAB and Simulink, MAGoogle Scholar
  37. 37.
    The MathWorks Inc: Simulink embedded coder reference R2011b (2011)Google Scholar
  38. 38.
    The Mathworks Inc: Untimed SystemC/TLM Simulation (2012b)Google Scholar
  39. 39.
    Mellor SJ, Balcer MJ (2002) Executable UML: a foundation for model-driven architecture, 1st edn. Addison-Wesley Professional, New YorkGoogle Scholar
  40. 40.
    Mueller W, Dömer R, Gerstlauer A (2002) The formal execution semantics of SpecC. In: Proceedings of the international symposium on system synthesis. Kyoto, JapanGoogle Scholar
  41. 41.
    Nacci AA, Rana V, Bruschi F, Sciuto D, Beretta I, Atienza D (2013) A high-level synthesis flow for the implementation of iterative stencil loop algorithms on fpga devices. In: Proceedings of the 50th annual design automation conference, DAC ’13, pp. 52:1–52:6. ACM, New York, NY, USAGoogle Scholar
  42. 42.
    Open SystemC Initiative (2000) Functional specification for systemC 2.0Google Scholar
  43. 43.
    Popinchalk S, Glass J, Shenoy R, Aberg R (2007) Working in teams: Modeling and control design within a single software environmentGoogle Scholar
  44. 44.
    Popovici K (2008) Multilevel programming environment for heterogeneous MPSoC architectures. PhD, Institut National Polytechnique de Grenoble, GrenobleGoogle Scholar
  45. 45.
    Posadas H, Herrera F, Sanchez P, Villar E, Blasco F (2004) System-level performance analysis in systemc. In: Proceedings of the design, automation and test in Europe conference and exhibition, 2004. vol. 1, pp 378–383Google Scholar
  46. 46.
    Riccobene E, Scandurra P, Rosti A, Bocchio S (2005) A SoC design methodology involving a UML 2.0 profile for SystemC. In: Design, automation, and test in Europe, pp 704–709Google Scholar
  47. 47.
    Sangiovanni-Vincentelli A, Martin G Platform-based design and software design methodology for embedded systems 18(6), 23–33Google Scholar
  48. 48.
    Schirrmeister F, Sangiovanni-Vincentelli A (2001) Virtual component co-design-applying function architecture co-design to automotive applications. In: Proceedings of the IEEE international vehicle electronics conference, 2001. IVEC 2001. pp 221–226Google Scholar
  49. 49.
    Shin D, Gerstlauer A, Domer R, Gajski D (2008) An interactive design environment for c-based high-level synthesis of rtl processors. Very Large Scale Integr (VLSI) Syst IEEE Trans 16(4):466–475CrossRefGoogle Scholar
  50. 50.
    Sullivan C, Wilson A, Chappell S (2004) Using c based logic synthesis to bridge the productivity gap. In: Proceedings of the 2004 Asia and South Pacific design automation conference, ASP-DAC ’04, p 349354. IEEE Press, Piscataway, NJ, USAGoogle Scholar
  51. 51.
    Thompson M, Nikolov H, Stefanov T, Pimentel A, Erbas C, Polstra S, Deprettere E (2007) A framework for rapid system-level exploration, synthesis, and programming of multimedia mp-socs. In: Proceedings of the 5th IEEE/ACM/IFIP International Conference Hardware/Software codesign and system synthesis (CODES+ISSS), 2007, pp. 9–14Google Scholar
  52. 52.
    Tripakis S, Sofronis C, Caspi P, Curic A (2005) Translating discrete-time simulink to lustre. ACM Trans Embed Comput Syst 4(4):779–818CrossRefGoogle Scholar
  53. 53.
    Vanderperren Y, Dehaene W (2006) From UML/SysML to Matlab/Simulink: current state and future perspectives. In: Proceedings of the design, automation and test in Europe, 2006. DATE ’06. vol. 1, pp 1–1Google Scholar
  54. 54.
    Viskic I, Dömer R (2006) A flexible, syntax independent representation (SIR) for system level design models. In: Proceedings of the 9th EUROMICRO Conference on, digital system design: architectures, methods and tools, 2006. DSD 2006. p 288294Google Scholar
  55. 55.
    Wakabayashi K, Okamoto T (2000) C-based SoC design flow and EDA tools: an ASIC and system vendor perspective. IEEE Trans Comput Aided Des Integr Circuits Syst 19(12):1507–1522CrossRefGoogle Scholar
  56. 56.
    Wiegand T, Sullivan GJ, Bjontegaard G, Luthra A (2003) Overview of the h. 264/avc video coding standard. Circuits and systems for video technology. IEEE Trans 13(7):560–576Google Scholar
  57. 57.
    Wood W, Kleb W (2003) Exploring xp for scientific research. Software, IEEE 20(3):30–36CrossRefGoogle Scholar
  58. 58.
    Yu H, Dömer R, Gajski D (2004) Embedded software generation from system level design languages. In: Proceedings of the Asia and South pacific design automation conference (ASPDAC). Yokohama, JapanGoogle Scholar
  59. 59.
    Zeigler BP, Praehofer H, Kim TG (2000) Theory of modeling and simulation: integrating discrete event and continuous complex dynamic systems. Academic press, CypressGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2015

Authors and Affiliations

  1. 1.Department of Electrical and Computer EngineeringNortheastern UniversityBostonUSA

Personalised recommendations