Skip to main content

Metamodeling and Code Generation in the Hardware/Software Interface Domain

  • Reference work entry
  • First Online:

Abstract

In the HW/SW interface domain, specification of memory architecture and software-accessible hardware registers are both relevant for the implementation of hardware and the firmware running on it. Automated code generation of both HW and SW artifacts from a shared data source is a well-established method to ensure consistency. Metamodeling is a key technology to ease such code generation and to formalize the data structures target code is generated from. While this can be utilized for a wide range of automation and generation tasks, it is particularly useful for bridging the HW/SW design gap.

Metamodeling is the basis for the construction of large model-driven automation solutions that go far beyond simple code generation solutions. Based on the formalization metamodels provide, models can be incrementally transformed and combined to create more refined models for particular design tasks. IP-XACT and UML /SysML can be utilized within the scope of metamodeling . The utilization of these standards and the development of custom metamodels – targeted to specific design tasks – have proven to be highly successful and promise large potential for further productivity increase.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   699.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD   949.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Abbreviations

AHB:

Advanced High-performance Bus

APB:

Advanced Peripheral Bus

API:

Application Programming Interface

AST:

Abstract Syntax Tree

AXI:

Advanced eXtensible Interface

BNF:

Backus-Naur Form

CIM:

Computation Independent Model

CPU:

Central Processing Unit

DMA:

Direct Memory Access

EBNF:

Extended Backus-Naur Form

EDA:

Electronic Design Automation

EMF:

Eclipse Modeling-Framework

GUI:

Graphical User Interface

HDL:

Hardware Description Language

HLS:

High-Level Synthesis

HTML:

Hypertext Markup Language

HW:

Hardware

IEEE:

Institute of Electrical and Electronics Engineers

IP:

Intellectual Property

JSON:

JavaScript Object Notation

MDA:

Model-Driven Architecture

MoC:

Model of Computation

MOF:

Meta Object Facility

OCL:

Object Constraint Language

OMG:

Object Management Group

PIM:

Platform Independent Model

PSM:

Program State Machine

RTL:

Register Transfer Level

SoC:

System-on-Chip

SPI:

Serial Peripheral Interface

SW:

Software

TLM:

Transaction-Level Model

UML:

Unified Modeling Language

VHDL:

VHSIC Hardware Description Language

VHSIC:

Very High Speed Integrated Circuit

XMI:

XML Metadata Interchange

XML:

Extensible Markup Language

XSD:

XML Schema

XSLT:

Extensible Stylesheet Language Transformations

References

  1. Bachrach J, Vo H, Richards B, Lee Y, Waterman A, Avizienis R, Wawrzynek J, Asanovic K (2012) Chisel: constructing hardware in a scala embedded language. In: DAC, pp 1216–1225

    Google Scholar 

  2. Bergé JM, Levia O, Rouillard J (eds) (1996) Meta-modeling – performance and information modeling. Kluwer Academic Publishers, Dordrecht

    MATH  Google Scholar 

  3. shan Chen PP (1976) The entity-relationship model: toward a unified view of data. ACM Trans Database Syst 1:9–36

    Google Scholar 

  4. Czarnecki K, Eisenecker U (eds) (2000) Generative programming: methods, tools, and applications. ACM Press/Addison-Wesley Publishing Co., New York

    Google Scholar 

  5. Ecker W (1998) Generative structural modeling using a VHDL pre-processor. In: Proceedings of the forum on design languages (FDL), Lausanne

    Google Scholar 

  6. Ecker W, Müller W, Domer R (eds) (2009) Hardware-dependent software: principles and practice. Springer, Berlin. http://opac.inria.fr/record=b1129256

    Google Scholar 

  7. Ecker W, Velten M, Zafari L, Goyal A (2014) The metamodeling approach to system level synthesis. In: Fettweis G, Nebel W (eds) DATE. European Design and Automation Association, pp 1–2

    Google Scholar 

  8. Ecker W, Velten M, Zafari L, Goyal A (2014) Metasynthesis for designing automotive SoCs. In: DAC. ACM, p 6. doi:10.1145/2593069.2602974

    Google Scholar 

  9. Eclipse Foundation (2016) Eclipse modeling framework. https://eclipse.org/modeling/emf

  10. Eclipse Foundation (2016) ECORE relations. http://download.eclipse.org/modeling/emf/emf/javadoc/2.9.0/org/eclipse/emf/ecore/doc-files/EcoreRelations.gif

  11. Eclipse Foundation (2016) Papyrus – modeling environment. https://eclipse.org/papyrus

  12. Eker J, Janneck JW, Lee EA, Liu J, Liu X, Ludvig J, Neuendorffer S, Sachs S, Xiong Y (2003) Taming heterogeneity – the ptolemy approach. In: Proceedings of the IEEE, pp 127–144

    Google Scholar 

  13. Geisler NL (ed) (1999) Baker encyclopedia of Christian apologetics. Baker Books, Grand Rapids

    Google Scholar 

  14. Guimale C, Kahn H (1995) Information models of VHDL. In: Proceedings of the 32nd annual ACM/IEEE design automation conference

    Google Scholar 

  15. Guiney M, Leavitt E (2006) An introduction to openaccess: an open source data model and API for ic design. In: Proceedings of the 2006 Asia and South Pacific design automation conference. IEEE Press, pp 434–436

    Google Scholar 

  16. IEEE standard for IP-XACT, standard structure for packaging, integrating, and reusing IP within tool flows. doi:10.1109/ieeestd.2014.6898803. http://standards.ieee.org/getieee/1685/download/1685-2014.pdf

  17. Infineon Technologies (2014) XMC1100 AA-step reference manual. http://www.infineon.com/dgdl/Infineon-xmc1100-AA_rm-UM-v01_01-EN.pdf?fileId=db3a30433cfb5caa013d1600856033eb

  18. Kahn H (ed) (1995) EDIF version 350/400 and information modelling. EDIF Technical Centre, Manchester University

    Google Scholar 

  19. Kruijtzer W, Van der Wolf P, De Kock E, Stuyt J, Ecker W, Mayer A, Hustin S, Amerijckx C, De Paoli S, Vaumorin E (2008) Industrial IP integration flows based on IP-XACT standards. In: Design, automation and test in Europe (DATE 2008). IEEE, pp 32–37

    Google Scholar 

  20. MetaCase (2016) MetaCase. https://www.metacase.com/de/

  21. Nikolic B (2015) Simpler, more efficient design. In: ESSCIRC conference 2015 – 41st European solid-state circuits conference, Graz, 14–18 Sept 2015, pp 20–25. doi:10.1109/ESSCIRC.2015.7313819

    Google Scholar 

  22. Object Management Group (2015) OMG meta object facility (MOF) core specification. http://www.omg.org/spec/MOF/2.5

  23. OMG (2016) MDA – the architecture of choice for a changing world. http://www.omg.org/mda

  24. Pagès B, de Freitas LG, Yeşilyurt H (2016) DoUML. https://github.com/DoUML/douml

  25. Preis V, Henftling R, Schütz M, März-Rössel S (1995) A reuse scenario for the VHDL-based hardware design flow. In: Proceedings EURO-DAC’95, European design automation conference with EURO-VHDL, Brighton, 18–22 Sept 1995, pp 464–469. doi:10.1109/EURDAC.1995.527445

    Google Scholar 

  26. Schenck DA, Wilson PR (eds) (1993) Information modeling the EXPRESS way. Oxford University Press, New York

    Google Scholar 

  27. Schneider C (1997) A parallel/serial trade-off methodology for look-up table based decoders. In: DAC, pp 498–503. doi:10.1145/266021.266213

    Google Scholar 

  28. Shacham O, Azizi O, Wachs M, Richardson S, Horowitz M (2010) Rethinking digital design: why design must change. IEEE Micro 30(6):9–24

    Article  Google Scholar 

  29. Smith J, Smith D (1977) Database abstractions: aggregation. ACM Trans Database Syst (TODS) 2(2):105–133

    Article  Google Scholar 

  30. Steinberg D, Budinsky F, Paternostro M, Merks E (eds) (2008) EMF: eclipse modeling framework. Pearson Education

    Google Scholar 

  31. Tampere University of Technology (2016) Kactus2. http://funbase.cs.tut.fi/

  32. Truyen F (2006) The fast guide to model driven architecture. http://www.omg.org/mda/mda_files/Cephas_MDA_Fast_Guide.pdf

  33. Warmer J, Kleppe A (eds) (2003) The object constraint language: getting your models ready for MDA 2. Addison-Wesley Longman Publishing Co., Inc., Boston

    Google Scholar 

  34. Wikipedia (2016) Backus-naur form – Wikipedia, the free encyclopedia. https://en.wikipedia.org/wiki/Backus-Naur_Form?oldid=717943564#Further_examples

  35. van der Wolf P (1994) Cad frameworks: principles and architecture. The Springer international series in engineering and computer science. Springer, Boston. https://books.google.de/books?id=R4BRAAAAMAAJ

    Book  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Wolfgang Ecker .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer Science+Business Media Dordrecht

About this entry

Cite this entry

Ecker, W., Schreiner, J. (2017). Metamodeling and Code Generation in the Hardware/Software Interface Domain. In: Ha, S., Teich, J. (eds) Handbook of Hardware/Software Codesign. Springer, Dordrecht. https://doi.org/10.1007/978-94-017-7267-9_32

Download citation

Publish with us

Policies and ethics