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

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.

[1]  Wim Dehaene,et al.  From UML/SysML to Matlab/Simulink: Current State and Future Perspectives , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[2]  William L. Kleb,et al.  Exploring XP for Scientific Research , 2003, IEEE Softw..

[3]  Timothy A. Thomas,et al.  LTE-advanced: next-generation wireless broadband technology [Invited Paper] , 2010, IEEE Wireless Communications.

[4]  Andreas Gerstlauer,et al.  Multi-metric and multi-entity characterization of applications for early system design exploration , 2005, ASP-DAC.

[5]  Wolfgang Müller,et al.  UML for SOC Design , 2005 .

[6]  Frank Vahid,et al.  SpecSyn: an environment supporting the specify-explore-refine paradigm for hardware/software system design , 1998, IEEE Trans. Very Large Scale Integr. Syst..

[7]  Stephen J. Mellor,et al.  Executable UML - A Foundation for Model-Driven Architecture , 2002, Addison Wesley object technology series.

[8]  Bertram Ludäscher,et al.  Kepler: an extensible system for design and execution of scientific workflows , 2004, Proceedings. 16th International Conference on Scientific and Statistical Database Management, 2004..

[9]  Ajay Luthra,et al.  Overview of the H.264/AVC video coding standard , 2003, SPIE Optics + Photonics.

[10]  Alberto L. Sangiovanni-Vincentelli,et al.  Correct-by-construction transformations across design environments for model-based embedded software development , 2005, Design, Automation and Test in Europe.

[11]  Soonhoi Ha,et al.  Hardware-Software Codesign of Multimedia Embedded Systems: the PeaCE , 2006, 12th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA'06).

[12]  Daniel D. Gajski,et al.  SpecC System-Level Design Methodology Applied to the Design of a GSM Vocoder , 2000 .

[13]  Alberto L. Sangiovanni-Vincentelli,et al.  Platform-Based Design and Software Design Methodology for Embedded Systems , 2001, IEEE Des. Test Comput..

[14]  Bernard P. Zeigler,et al.  Theory of modeling and simulation , 1976 .

[15]  Ahmed Amine Jerraya,et al.  Transformational partitioning for co-design of multiprocessor systems , 1997, ICCAD 1997.

[16]  Ed F. Deprettere,et al.  A framework for rapid system-level exploration, synthesis, and programming of multimedia MP-SoCs , 2007, 2007 5th IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[17]  Ines Viskic,et al.  A Flexible, Syntax Independent Representation (SIR) for System Level Design Models , 2006, 9th EUROMICRO Conference on Digital System Design (DSD'06).

[18]  Rainer Dömer,et al.  Center for Embedded Computer Systems University of California , Irvine Specification and Design of a MP 3 Audio Decoder , .

[19]  Gary W. Johnson,et al.  LabVIEW Graphical Programming , 1994 .

[20]  Wolfgang Nebel,et al.  Towards an ESL Framework for Timing and Power Aware Rapid Prototyping of HW/SW Systems , 2010, FDL.

[21]  Rainer Dömer,et al.  Code and Data Structure Partitioning for Parallel and Flexible MPSoC Specification Using Designer-Controlled Recoding , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[22]  Fernando Herrera,et al.  System-level performance analysis in SystemC , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[23]  Bernard P. Zeigler,et al.  Theory of Modeling and Simulation: Integrating Discrete Event and Continuous Complex Dynamic Systems , 2000 .

[24]  Stavros Tripakis,et al.  Translating discrete-time simulink to lustre , 2003, TECS.

[25]  Andreas Gerstlauer,et al.  The formal execution semantics of SpecC , 2002, 15th International Symposium on System Synthesis, 2002..

[26]  Ajay Luthra,et al.  Overview of the H.264/AVC video coding standard , 2003, IEEE Trans. Circuits Syst. Video Technol..

[27]  Edward A. Lee,et al.  Taming heterogeneity - the Ptolemy approach , 2003, Proc. IEEE.

[28]  Kazutoshi Wakabayashi,et al.  C-based SoC design flow and EDA tools: an ASIC and system vendorperspective , 2000, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[29]  Daniel Gajski,et al.  Verification of System Level Model Transformations , 2006, International Journal of Parallel Programming.

[30]  M. Abid,et al.  Notice of Violation of IEEE Publication PrinciplesThe co-simulation interface SystemC/Matlab applied in JPEG algorithm , 2011, 6th International Workshop on Reconfigurable Communication-Centric Systems-on-Chip (ReCoSoC).

[31]  Elvinia Riccobene,et al.  A SoC design methodology involving a UML 2.0 profile for SystemC , 2005, Design, Automation and Test in Europe.

[32]  John Glass,et al.  Working in Teams: Modeling and Control Design within a Single Software Environment , 2007 .

[33]  David Atienza,et al.  A high-level synthesis flow for the implementation of iterative stencil loop algorithms on FPGA devices , 2013, 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC).

[34]  Gary W. Johnson,et al.  LabVIEW Graphical Programming: Practical Applications in Instrumentation and Control , 1997 .

[35]  Daniel D. Gajski Principles of Digital Design , 1996 .

[36]  Daniel Gajski,et al.  Embedded software generation from system level design languages , 2004, ASP-DAC 2004: Asia and South Pacific Design Automation Conference 2004 (IEEE Cat. No.04EX753).

[37]  Andreas Gerstlauer,et al.  System-on-Chip Environment: A SpecC-Based Framework for Heterogeneous MPSoC Design , 2008, EURASIP J. Embed. Syst..

[38]  A. Sangiovanni-Vincentelli,et al.  Virtual component co-design-applying function architecture co-design to automotive applications , 2001, IVEC2001. Proceedings of the IEEE International Vehicle Electronics Conference 2001. IVEC 2001 (Cat. No.01EX522).

[39]  Daniel D. Gajski,et al.  The SpecC Language Reference Manual , 1998 .

[40]  Rachel Jane McCrindle,et al.  An investigation into the effects of code coupling on team dynamics and productivity , 2002, Proceedings 26th Annual International Computer Software and Applications.

[41]  Andreas Gerstlauer,et al.  An Interactive Design Environment for C-Based High-Level Synthesis of RTL Processors , 2008, IEEE Trans. Very Large Scale Integr. Syst..

[42]  Stavros Tripakis,et al.  From simulink to SCADE/lustre to TTA: a layered approach for distributed embedded applications , 2003 .

[43]  E. Rijpkema,et al.  Compaan: deriving process networks from Matlab for embedded signal processing architectures , 2000, Proceedings of the Eighth International Workshop on Hardware/Software Codesign. CODES 2000 (IEEE Cat. No.00TH8518).

[44]  Dieter Hogrefe,et al.  SDL : formal object-oriented language for communicating systems , 1997 .

[45]  Devendra K. Chaturvedi,et al.  Modeling and Simulation of Systems Using MATLAB and Simulink , 2009 .

[46]  Jeffrey C. Carver,et al.  Parallel Programmer Productivity: A Case Study of Novice Parallel Programmers , 2005, ACM/IEEE SC 2005 Conference (SC'05).

[47]  Ute Hoffmann System Design A Practical Guide With Specc , 2016 .

[48]  Andreas Gerstlauer,et al.  Retargetable profiling for rapid, early system-level design space exploration , 2004, Proceedings. 41st Design Automation Conference, 2004..

[49]  Didier Le Gall,et al.  MPEG: a video compression standard for multimedia applications , 1991, CACM.

[50]  Andreas Gerstlauer,et al.  An Interactive Design Environment for C-Based High-Level Synthesis of RTL Processors , 2007, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[51]  Luigi Carro,et al.  Simulink®-based heterogeneous multiprocessor SoC design flow for mixed hardware/software refinement and simulation , 2009, Integr..

[52]  Rainer Dömer Computer-aided recoding for multi-core systems , 2010, 2010 15th Asia and South Pacific Design Automation Conference (ASP-DAC).

[53]  Chris Sullivan,et al.  Using C based logic synthesis to bridge the productivity gap , 2004, ASP-DAC 2004: Asia and South Pacific Design Automation Conference 2004 (IEEE Cat. No.04EX753).