Digital hardware design based on metamodels and model transformations

Johannes Schreiner, Wolfgang Ecker

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

9 Scopus citations

Abstract

This contribution presents a Model-driven Architecture (MDA) inspired strategy for the automation of digital hardware design starting at specification level and targeting RT-level. This strategy defines a structured approach with is superior to code generation using scripts, print statements or template engines directly targeting ASCII files. As part of this strategy, we implemented intermediate models named Models-of-Things (MoTs) for formalizing specification data which have a dependency on the design objects specified. We further implemented a Model-of-Design (MoD) for hardware design related modeling, and a Model-of-View (MoV) for target view generation. For the transformations between our intermediate models, we use a template based approach. These templates are executed and generate more concrete models utilizing information from more abstract models. The term model here describes instances of Metamodels in the terminology of MDA and must not be mixed up with simulation and synthesis models such as VHDL RTL models. The template which guides MoD generation is called Template-of-Design. On one hand, the Template-of-Design (ToD) captures the (micro-)architecture and on the other hand, it retrieves MoT data to automate creation of the design that meets the specification. The Template-of-Design is Python code – as all our framework is implemented in Python – and uses generated APIs to simplify (micro-)architecture construction. In contrast templates for classical template engines, the Template-of-Design generates a model and not an ASCII File. To generate the final view, a so-called Template-of-View (ToV) is used. It is also encoded as Python code, traverses the Model-of-Design and creates the MoV. This Model-of-View is in many aspects similar to Abstract Syntax Trees utilized in language parsing. It is defined by a Metamodel, which is generated from our so-called View Language Description (VLD). This language is also used to generate an un-parse method, which automates the view generation task from MoV instances. This means that provided our VLD and a Model-of-View instance, we can generate an ASCII-File containing e.g. RTL VHDL code in a completely automated way. Our VLD format also includes formatting pragmas to guide view generation tasks such as indentation and alignment. Our strategy is supported by type and expression Metamodels that are used across different Models on different modeling layers (i.e. in MoTs or MoDs as well as in the Template-of-Design). This further simplifies implementation of the models as well as of the templates. First analysis of our approach shows that we can simplify building one generator up to a factor of 10×. This factor increases further when different target languages or target language styles are generated from one MoD.

Original languageEnglish
Title of host publicationVLSI-SoC
Subtitle of host publicationSystem-on-Chip in the Nanoscale Era – Design, Verification and Reliability - 24th IFIP WG 10.5/IEEE International Conference on Very Large Scale Integration, VLSI-SoC 2016
EditorsRicardo Reis, Thomas Hollstein, Jaan Raik, Sergei Kostin, Anton Tsertov, Ian O’Connor
PublisherSpringer New York LLC
Pages83-107
Number of pages25
ISBN (Print)9783319671031
DOIs
StatePublished - 2017
Event24th Annual IFIP/IEEE International Conference on Very Large Scale Integration, VLSI-SoC 2016 - Tallinn, Estonia
Duration: 26 Sep 201628 Sep 2016

Publication series

NameIFIP Advances in Information and Communication Technology
Volume508
ISSN (Print)1868-4238

Conference

Conference24th Annual IFIP/IEEE International Conference on Very Large Scale Integration, VLSI-SoC 2016
Country/TerritoryEstonia
CityTallinn
Period26/09/1628/09/16

Keywords

  • Hardware generation
  • Metamodeling
  • Model-driven architecture

Fingerprint

Dive into the research topics of 'Digital hardware design based on metamodels and model transformations'. Together they form a unique fingerprint.

Cite this