Modeling Flow for Automated System Design and Exploration

by Andreas Gerstlauer

Raising the level of abstraction is widely seen as the solution for closing the productivity gap in the design of embedded computer systems and systems-on-chip (SoCs). However, system design thus far suffers from a lack of rigorous, structured, and comprehensive design processes from abstract specification down to cycle-accurate implementation.

In order to provide an automated design process, a well-defined design flow with clear and unambiguous abstraction levels, models, and transformations is required. The key to the success of this approach are properly defined design models. Arbitrary models without clear semantics do not enable synthesis and verification. In addition, synthesis requires clear definitions of the target architecture and the set of synthesis steps to transform the input model into the target model. In this dissertation, we define such input and target models, a set of design steps, design decisions, model transformation, and intermediate models that are necessary for an automated system design flow.

The design flow has been implemented in the form of an interactive system-on-chip design environment (SCE). Automating tedious and error-prone tasks while reaping human expertise and insight results in a flow with the necessary transparency, controllability, observability and productivity. As part of this work, architecture, organization, tool flow, design model management, interfaces, and databases of the design framework have been established. Models in the flow have been defined such that they can be automatically generated and model refinement tools have been integrated into the design environment. Finally, a graphical user interface (GUI) has been developed that aids and steers the designer in the decision making process, provides visualization of design models, and supports interactive, graphical decision entry for each design step.

Experiments using the design environment prove the feasibility and effectiveness of a seamless, comprehensive, and automated design flow supporting rapid, early design space exploration. Results obtained by applying the design flow to several industrial-strength examples show the tradeoffs and benefits of intermediate models at each step and demonstrate that required productivity gains can be achieved while supporting a wide range of realistic target implementations.