Automatic communication-driven virtual prototyping and design for networked embedded systems

This work presents a communication-driven virtual prototyping approach integrated in an existing ESL design methodology to automatically synthesize, evaluate, and optimize a data-flow application for mixed hardware/software and even networked MPSoCs. While existing synthesis tools are suitable for individual subsystems (e.g., software tasks for CPUs, hardware accelerators), the problem of establishing the communication between different subsystems that may even be simulated at different levels of abstraction is still challenging. As a remedy, we introduce the concept of bridge components in our architecture model that, during virtual prototyping, serve as integrators between subsystems that may have different communication protocols and be simulated at different levels of abstraction (e.g., TLM, behavioral level, RTL). We propose to consider bridges throughout the complete ESL design flow: Already during Design Space Exploration (DSE), the characteristics of bridge components such as implementation cost and additional latency on the application can be taken into account. Moreover, we extend the exploration model of the DSE to include required communication-related design decisions, i.e., the mapping of binary code for software tasks and the selection of different synchronization patterns for the communication. For virtual prototyping of implementation candidates derived by the DSE, the bridge components enable to automatically disassemble the system into subsystems and hand each subsystem over to an individual synthesis tool. When integrating the subsystems together, our methodology also synthesizes the interfaces for all bridges which significantly simplifies system integration. As a proof of concept, we present (I) a distributed control application that is transformed into a virtual prototype consisting of six subsystems and (II) a data-flow application from the video processing domain transformed into a virtual prototype consisting of three subsystems. The resulting subsystems can be concurrently simulated at TLM, behavioral level, and RTL. The experiments give evidence of the proposed technique's applicability, the achieved productivity gain, and the resulting simulation performance at the considered levels of abstraction.

[1]  Jürgen Teich,et al.  Rapid prototyping of dataflow programs on hardware/software architectures , 1998, Proceedings of the Thirty-First Hawaii International Conference on System Sciences.

[2]  Daniel Gajski,et al.  Interface synthesis for heterogeneous multi-core systems from transaction level models , 2007, LCTES '07.

[3]  Michael Glaß,et al.  A co-simulation approach for system-level analysis of embedded control systems , 2012, 2012 International Conference on Embedded Computer Systems (SAMOS).

[4]  Andreas Gerstlauer,et al.  Automatic Layer-Based Generation of System-On-Chip Bus Communication Models , 2007, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[5]  Christian Haubelt,et al.  Automatic generation of system-level virtual prototypes from streaming application models , 2011, 2011 22nd IEEE International Symposium on Rapid System Prototyping.

[6]  Andreas Gerstlauer,et al.  Synthesis of optimized hardware transactors from abstract communication specifications , 2012, CODES+ISSS '12.

[7]  Timo Hämäläinen,et al.  UML-based multiprocessor SoC design framework , 2006, TECS.

[8]  Jean-François Nezan,et al.  PiMM: Parameterized and Interfaced dataflow Meta-Model for MPSoCs runtime reconfiguration , 2013, 2013 International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS).

[9]  Martin Lukasiewycz,et al.  Concurrent topology and routing optimization in automotive network integration , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[10]  Ed F. Deprettere,et al.  An Approach for Quantitative Analysis of Application-Specific Dataflow Architectures , 1997, ASAP.

[11]  Edward A. Lee,et al.  Actor-Oriented Design of Embedded Hardware and Software Systems , 2003, J. Circuits Syst. Comput..

[12]  Martin Lukasiewycz,et al.  Combined system synthesis and communication architecture exploration for MPSoCs , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[13]  Christian Haubelt,et al.  A SystemC-Based Design Methodology for Digital Signal Processing Systems , 2007, EURASIP J. Embed. Syst..

[14]  Michael Glaß,et al.  Improving platform-based system synthesis by satisfiability modulo theories solving , 2010, 2010 IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[15]  Brian Bailey,et al.  ESL Design and Verification: A Prescription for Electronic System Level Methodology , 2007 .

[16]  Jürgen Teich,et al.  Interfacing Hardware and Software , 1998, FPL.

[17]  Thomas A. Henzinger,et al.  INTERFACE-BASED DESIGN , 2005 .

[18]  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).

[19]  Franco Fummi,et al.  Automatic synthesis of OSCI TLM-2.0 models into RTL bus-based IPs , 2010, 2010 IEEE International High Level Design Validation and Test Workshop (HLDVT).

[20]  Maxime Pelcat,et al.  Preesm: A dataflow-based rapid prototyping framework for simplifying multicore DSP programming , 2014, 2014 6th European Embedded Design in Education and Research Conference (EDERC).

[21]  Gilles Kahn,et al.  The Semantics of a Simple Language for Parallel Programming , 1974, IFIP Congress.

[22]  J. Feld,et al.  PROFINET - scalable factory communication for all applications , 2004, IEEE International Workshop on Factory Communication Systems, 2004. Proceedings..

[23]  Jürgen Teich,et al.  Hardware/Software Codesign: The Past, the Present, and Predicting the Future , 2012, Proceedings of the IEEE.

[24]  Christian Haubelt,et al.  SystemCoDesigner—an automatic ESL synthesis approach by design space exploration and behavioral synthesis for streaming applications , 2009, TODE.

[25]  Jürgen Teich,et al.  System-Level Synthesis Using Evolutionary Algorithms , 1998, Des. Autom. Embed. Syst..

[26]  Christian Haubelt,et al.  Improving Automatic Design Space Exploration by Integrating Symbolic Techniques into Multi-Objective Evolutionary Algorithms , 2006 .

[27]  Edward A. Lee,et al.  What's Ahead for Embedded Software? , 2000, Computer.

[28]  Ahmed Amine Jerraya,et al.  Flexible and abstract communication and interconnect modeling for MPSoC , 2009, 2009 Asia and South Pacific Design Automation Conference.

[29]  P. Prinetto,et al.  Hardware design methodology to synthesize communication interfaces from TLM to RTL , 2010, 2010 IEEE International Conference on Automation, Quality and Testing, Robotics (AQTR).

[30]  Andreas Gerstlauer,et al.  Specify-Explore-Refine (SER): From specification to implementation , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[31]  James Tanton Mathematics Galore!: The Tower of Hanoi , 2012 .

[32]  Erwin A. de Kock,et al.  YAPI: application modeling for signal processing systems , 2000, Proceedings 37th Design Automation Conference.