|
|
 |
Research
In general, I am fascinated by the tremendous possibilities
offered by technological advancements in the area of
embedded systems and systems-on-chip (SoCs). Think about
all the neat little gadgets we will be able to build in the
very near future!
However, it is well known that we are facing a growing productivity
problem of designing systems that make use of all the available
silicon estate. I am therefore interested in trying to
close this gap by developing new methodologies and EDA/CAD tools to
increase productivity on the designer's side. Technological advances
and market pressures for higher integration make traditional design
methods infeasible. Consequently, my research interests are focused on
novel concepts and techniques for automation of the system design
process at high levels of abstraction.
In general, my research is concerned with the development of
electronic system-level (ESL) design methodologies, methods,
technologies and corresponding design automation tools for embedded
systems and SoCs. Results of this work have been going into the
development of the SoC
Design Enviroment (SCE), which integrates the resulting tools
under a common GUI in order to implement a
user-driven, interactive design flow from specification down to
implementation. Furthermore, under the leadership of the Japanese Aerospace Exploration
Agency (JAXA), a commercial derivative of SCE, called the
Specify-Explore-Refine (SER) Studio, has been successfully deployed
for use in JAXA's suppliers of space-electronic components.
In the future, I want to continue working on the design and synthesis
of embedded systems. This should lead to a complete electronic
system-level synthesis solution with support for advanced applications
and target architectures, including embedded hardware and software
synthesis, communication synthesis for network-on-chip architectures
and hardware/software co-estimation.
With ever increasing software content, a critical challenge is the
programming of multi-core and multi-processor systems. Building on the
work on system design and synthesis, there is a unique opportunity to
evolve system design tools into an embedded software development
environment with automatic compilation of a high-level, abstract
system programming model into distributed software, middleware and
firmware running on a target platform consisting of multiple
processors, cores and hardware IPs.
In the long term, I am especially interested in exploring the
application of modeling, refinement, synthesis and estimation
techniques to new classes of technologies and applications at the
frontiers of embedded computing. In that aspect, I am looking
forward to collaborations with researchers in other areas of
computer science and engineering or other disciplines like the life
sciences, physical sciences or other engineering fields.
- R. Dömer, A. Gerstlauer, J. Peng, D. Shin, L. Cai, H. Yu, S. Abdi, D. Gajski,
"System-on-Chip Environment: A SpecC-Based Framework for Heterogeneous MPSoC Design,"
JES, 2008.
- A. Gerstlauer, J. Peng, D. Shin, D. Gajski, A. Nakamura, D. Araki, Y. Nishihara,
"Specify-Explore-Refine (SER): From Specification to Implementation,"
DAC, 2008.
System-Level Modeling and Languages
The basis of any automated design process is a well-defined design
flow with semantically sound and unambiguous abstraction levels and
design models. We originally developed and defined a novel,
comprehensive set of system models for automatic, stepwise system
design, refinement and synthesis. Formalized model definitions support
the design process for complete multi-processor systems-on-chip
(MPSoC) from abstract specification down to implementation, cumulating
in a new generation of system-level design and synthesis tools.
I am also part of the SpecC
project, an effort to develop a standardized system-level design
language and methodology organized by the SpecC Technology Open Consortium (STOC)
with members from industry and academia. Both SpecC language and
methodology have been cited as major reference and inspiration for the
development of SystemC, the
leading, industry-standard system-level design and modeling language.
With system communication becoming increasingly important,
transaction-level models (TLMs) have been proposed as a vehicle for
abstraction and acceleration of communication design and
validation. As part of the work on modeling, we developed, defined and
analyzed one of the first applications of TLMs at various levels of
abstraction. By adapting the separation of concerns outlined in
the ISO/OSI layered model to the specifics of system-on-chip (SoC) and
network-on-chip (NoC) communication, the approach supports automated
design of communication architectures beyond a single shared
bus. Resulting TLM definitions have been successfully adopted for
modeling and synthesis of complete multiprocessor platforms. In
general, all models have been developed to support further synthesis
down to an actual implementation. We are currently in the process of
investigating targeted synthesis of both software and hardware from
our models down to the RTL or instruction-set level using a
combination of existing and novel approaches for high-level synthesis
and code generation.
- A. Gerstlauer, R. Dömer, J. Peng, D. D. Gajski,
System
Design: A Practical Guide with SpecC,
Kluwer, 2001.
- D. Gajski, J. Zhu, R. Dömer, A. Gerstlauer, S. Zhao,
SpecC:
Specification Language and Methodology,
Kluwer, 2000.
- A. Gerstlauer, D. Gajski,
"System-Level Abstraction Semantics,"
ISSS, 2002.
- A. Gerstlauer, D. Shin, R. Dömer, D. Gajski,
"System-Level Communication Modeling for Network-On-Chip Synthesis,"
ASPDAC, 2005.
Automatic Model Generation and System Synthesis
Traditionally, system models are manually written, which is a tedious,
error-prone and time-consuming process. In attempts to supersede the
need for dealing with coding details, based on research on model
semantics, tools have been developed for automatic generation of
network, transaction-level or pin-accurate system models. Given an
abstract specification of the system together with system design
decisions, tools automatically create customized and optimized
protocol stack implementations inside the drivers and interfaces of
software and hardware processors, respectively.
Model generation tools have been integrated under a common graphical
user interface in the System-On-Chip Design Environment (SCE).
Results obtained with SCE show that productivity gains of up to 1000x
are possible.
SCE is continually being upgraded with additional input features and
implementation options to support advanced, state-of-the-art
applications and target platforms. For example, we plan to add support
for extended channel semantics in the input application and for
buffered communication network implementations including
re-transmission and flow control in the presence of unreliable,
long-latency communication media.
I intend to support SCE with the long-term goal of realizing a fully
automated system synthesis solution. In combination with automatic
model generation, this will incite research for the addition of
decision making algorithms for automatic and optimized allocation,
partitioning, scheduling and selection of communication parameters.
- A. Gerstlauer, D. Shin, J. Peng, R. Dömer, D. Gajski,
"Automatic,
Layer-based Generation of System-On-Chip Bus Communication Models,"
TCAD, 9/2007.
- D. Shin, A. Gerstlauer, J. Peng, R. Dömer, D. Gajski,
"Automatic Generation of Transaction-Level Models for Rapid Design Space Exploration,"
CODES+ISSS, 2006.
- D. Shin, A. Gerstlauer, R. Dömer, D. Gajski,
"Automatic Network Generation for System-On-Chip Communication Design,"
CODES+ISSS, 2005.
Embedded Processors and Hardware-dependent Software
An important goal of my work is support of the complete system design
process for both hardware and software. To that effect, we developed
for the first time a high-level, abstract model of real-time operating
systems for integration of embedded software into standard system
design flows. Abstract OS models are shown to be fast and accurate,
enabling rapid, early validation of embedded real-time software. In
the near future, we plan to continue work on RTOS modeling by
extending the approach to include OS-internal timing and to support
models of centralized or distributed operating systems in a symmetric
or asymmetric multi-processing context.
Combining the approaches for abstraction of communication and
computation, a complete model of the application software execution
environment emerges. Such an abstract modeling of
processors includes accurate representations of processor
hardware, bus interfaces, firmware, drivers and operating systems.
Results showed that depending on the feature level,
speedups of up to 3 orders of magnitude with up to 97% accuracy can be
achieved when compared to a traditional ISS-based software simulation.
Basic processor models are currently being augmented to support
embedded software development in heterogeneous multi-processor and
homogeneous multi-core environments. Furthermore, we are investigating
methods for synthesis of high-level embedded software descriptions
into final binary executables for each processor, targeting an
off-the-shelf or custom RTOS in the process.
- A. Gerstlauer, H. Yu, D. Gajski,
"RTOS Modeling for System-Level Design,"
DATE, 2003.
- G. Schirner, A. Gerstlauer, R. Dömer,
"Abstract, Multifaceted Modeling of Embedded Processors for
System Level Design,"
ASPDAC, 2007.
- G. Schirner, A. Gerstlauer, R. Dömer,
"Automatic
Generation of Hardware dependent Software for MPSoCs from Abstract System Specifications,"
ASPDAC, 2008.
System-Level Estimation and Profiling
An essential aspect of efficient design space exploration is the
availability of reliable and relevant design quality metrics at early
stages in the design flow. We developed an approach for obtaining such
metrics through a novel combination of dynamic profiling and static
analysis of design models. Our approach to profiling is versatile in
that it can deliver results for a variety of metrics at varying levels
of abstraction. Results show that the profiler enables
exhaustive exploration of large design spaces in a short amount of
time while preserving 100% relative accuracy.
Future directions of this approach include true estimation by
combining profiling results with an accurate model of the target
processor microarchitecture, retargetable system-level co-estimation
across hardware and software at varying levels of abstraction, and use
of statistical methods in estimation to increase confidence in and
reliability of results.
- L. Cai, A. Gerstlauer, D. Gajski,
"Retargetable Profiling for Rapid, Early System-Level Design Space Exploration,"
DAC, 2004.
- L. Cai, A. Gerstlauer, D. Gajski,
"Multi-Metric and Multi-Entity Characterization of Applications for
Early System Design Exploration,"
ASPDAC, 2005.
|