Abstract
Adaptivity is a key feature in embedded systems which requires explicit support in Electronic System-Level (ESL) design methodologies. Similarly, a higher level of abstraction during system specification is crucial for enabling ESL design activities such as Design Space Exploration. This has motivated the development of methodologies, such as A-HetSC, for enabling SystemC abstract specification of the adaptive parts of a system. However, in order to enable practical ESL design flows, it is essential to enable suitable implementation paths from the abstract adaptive specification. Otherwise, the cost of manual refinement of the abstract adaptive specification or simply the inability to systematically achieve an implementation will compromise the advantages obtained by the abstract model. This paper presents a system-level implementation methodology for tackling the implementation of the adaptive parts of an abstract SystemC specification. These adaptive parts are described as abstract adaptive processes, the basic constructs for specifying adaptivity in the A-HetSC methodology. The methodology proposes two main implementation paths. One path automatically targets an embedded SW implementation, for an immediate, flexible and cheap implementation of the adaptive processes. For the HW implementation path, a systematic SystemC-based refinement for targeting a refined model is proposed. Such a refined model is already supported by high-level synthesis tools, which automate the rest of the HW implementation path. It enables a cost efficient implementation of adaptive functionality in contexts where a software implementation does not fulfil time performance demands. The refinement of an adaptive inverse transform module, as part of an adaptive video decoder (AVD), is used as a demonstrative example.
Similar content being viewed by others
References
Amano N, Watanabe T (1998) LEAD++: an object-oriented reflective language for dynamically adaptable software model. Special Section of Papers Selected from ITC-CSCC ‘98
Black DC, Donovan J (2004) SystemC: from the ground up. Springer, Berlin
Catapult-C web site (2012) http://www.mentor.com/esl/catapult/overview. Available in Jan 2012
Chen W, Hiltunen MA, Schlichting RD (2001) Constructing adaptive software in distributed systems. In: 21st int conf on distributed computing system, Phoenix, AZ
Claus C, Stechele W, Herkersdorf A (2007) Autovision—a run-time reconfigurable MPSoC architecture for future driver assistance systems. Inf Technol J 49(3):181
Helmerich A, Koch N, Mandel L, Braun P, Dombush P, Gruller A, Keil P, Leisibach R, Romberg J, Schätz B, Wild T, Wimmel G (2005) Study of worldwide trends and R&D programmes in embedded systems in view of maximising of a technology platform in the area. Final report of FAST GmbH and the Technical University of Munich for the European Commission
Herrera F, Villar E (2007) A framework for heterogeneous specification and design of electronic embedded systems in SystemC. ACM Trans Des Autom Electron Syst 12(22). doi:10.1145/1255456.1255459
Herrera F, Fernandez V, Sanchez P, Villar E (2003) Embedded software generation from SystemC for platform based design. In: SystemC methodologies and applications. Kluwer Academic, Dordrecht
Herrera F, Villar E, Hartmann PA (2008) Specification of adaptive HW/SW systems in SystemC. In: Forum of design and specification languages FDL’2008, Sept 2008
Herrera F, Real S, Villar E (2009) Modelling of SW. Final library elements. Deliverable D1.2b of the ANDRES project. 2009. Available in http://bree.teisa.unican.es/gim/pub_files/file_347.pdf
Herrera F, Villar E, Hartmann PA (2011) SystemC refinement of abstract adaptive processes for implementation into dynamically reconfigurable hardware. In: Forum of design and specification languages 2011 (FDL 2011)
ISO/IEC Working Group WG21 of Subcommittee SC 22 (2006) Technical Report on C++ Performance. ISO/IEC TR 18015:2006(E). February 2006. Available in http://www.open-std.org/jtc1/sc22/wg21/docs/projects#18015
Jang ES, Ohm J, Mattavelli M (2008) Whitepaper on reconfigurable video coding (RVC). Available in http://www.chiariglione.org/mpeg/technologies/mpb-rvc/index.htm
Jantsch A (2010) Modelling embedded systems and SoCs: concurrency and time in models of computation. Morgan Kaufman, San Mateo
Keene S (1988) Object-oriented programming in common lisp: a programmer’s guide to CLOS. Addison-Wesley, Reading
Keinert J, Streubhr 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–23
Liao C, Hsiung P (2005) A SystemC-based performance evaluation framework for dynamically reconfigurable soc. In: VLSI design/CAD symposium
OFFIS (2009) Fossy: Predictable SystemC/C++ synthesis. The fossy manual
Parks PC, Schaufelberger W, Schmid C, Unbehauen H (2006) Methods and applications in adaptive control. Springer, Berlin, pp 161–198. Chap applications of adaptive control systems
Patel H, Shukla S (2004) SystemC kernel extensions for heterogeneous system modeling. Springer, Berlin. Available in https://ece.uwaterloo.ca/hdpatel/uwhtml/systemc-h/
Pelkonen A, Masselos K, Cupak M (2003) System-level modeling of dynamically reconfigurable hardware with SystemC. In: 10th reconfigurable architectures workshop, RAW2003
Ripoll I, Pisa P, Abeni L, Gai P, Lanuse A, Saez S, Privat B (2002) “RTOS Analysis”. Deliverable D1.1 of the open components for embedded real-time application (OCERA) project. November. Available in http://www.ocera.org/archive/deliverables/ms1-month6/WP1/D1.1.html
Sander I, Jantsch A (2008) Modelling adaptive systems in ForSyDe. In: Electronic notes in theoretical computer science (ENTCS), vol 200(2), pp 39–54. Also available in http://web.it.kth.se/~ingo/Papers/ENTCS2008.pdf
Schallenberg A, Nebel W, Herrholz A, Hartmann PA, Oppenheimer F (2009) OSSS+R: a framework for application level modelling and synthesis of reconfigurable systems. In: DATE, pp 970–975
SCLRM05 (2005) IEEE 1666—standard language reference manual
Shalit A (1996) The Dylan reference manual. The definitive guide to the new object-oriented dynamic language. Addison-Wesley, Reading
Staudt B, Cobleigh JM, Osterweil LJ, Wise A (2002) Using containment units for self adaption of software. In: Proc of the 10th ACM SIGSOFT symposium on foundations of software engineering
Streubuhr M, Riedel C, Haubelt C, Teich J (2007) System level modelling and performance simulation for dynamic reconfigurable computing systems in SystemC. In: Methoden und Beschreibungssprachen zur Modellierung und Verifikation von Schaltungen und Systemen, Aachen, Germany
Synthesis WG O (2009) SystemC synthesizeable subset. 1.3 draft
Synthesis working group members of open SystemC initiative. SystemC synthesizable subset (2009)
Trapp M (2005) Modeling the adaptation behavior of adaptive embedded systems. PhD thesis, Fraunhofer IESE
Trapp M, Adler R, Förster M, Junger J (2007) Runtime adaptation in safety-critical automotive systems. In: SE’07: proceedings of the 25th conference on IASTED international multi-conference. ACTA Press, Anaheim, pp 308–315
UC/GIM (2011) SWGen web site. In www.teisa.unican.es/SWGen. Available in Jan 2012
Zhu J, Sander I, Jantsch A (2010) HetMoC: heterogeneous modelling in SystemC. In: Proceedings of the forum of design and specification languages FDL’2010, Southampton, UK, Sept 2010
Acknowledgements
This work has been partially funded by the European project ANDRES IST-5-033511 and by the Spanish Government through the TEC2008-04107 project. The authors want also to thank OFFIS institute its support, specifically to P.A. Hartmann, from OFFIS, for his collaboration in previous work, and to professor V. Fernández (UC) for his support with CatapultC.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Herrera, F., Ugarte, I. & Villar, E. Towards automated implementation of adaptive systems from abstract SystemC specifications. Des Autom Embed Syst 16, 129–160 (2012). https://doi.org/10.1007/s10617-012-9099-5
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10617-012-9099-5