|
Disclaimer -- Permission to make digital/hard copy of all
or part of any of the following publications and technical
reports for personal or classroom use is granted without fee
provided that copies are not made or distributed for profit or
commercial advantage. To copy otherwise, to republish, to post on
servers, or to redistribute to lists requires prior specific
permission.
|
dac04_profiler
|
Lukai Cai, Andreas Gerstlauer, Daniel D. Gajski,
"Retargetable
Profiling for Rapid, Early System-Level Design Space Exploration,"
Proceedings of the Design Automation Conference,
San Diego, CA, June 2004.
Fast and accurate estimation is critical for exploration of any design
space in general. As we move to higher levels of abstraction, estimation of
complete system designs at each level of abstraction is needed. Estimation
should provide a variety of useful metrics relevant to design tasks in
different domains and at each stage in the design process.
In this paper, we
present such a system-level estimation approach based on a novel combination
of dynamic profiling and static retargeting. Co-estimation of complete
system implementations is fast while accurately reflecting even dynamic
effects. Furthermore, retargetable profiling is supported at multiple levels
of abstraction, providing multiple design quality metrics at each level.
Experimental results show the applicability of the approach for efficient
design space exploration.
|
aspdac04_codegen
|
Haobo Yu, Rainer Dömer, Daniel D. Gajski,
"Embedded
Software Generation from System Level Design Languages,"
Proceedings of the Asia and South Pacific Design Automation Conference,
Yokohama, Japan, January 2004.
To meet the challenge of increasing design complexity, designers are turning
to system level design languages (SLDLs) to model systems at a higher level
of abstraction. This paper presents a method of automatically generating
embedded software from system specification written in SLDL. Several
refinement steps and intermediate models are introduced in our software
generation flow. We demonstrate the effectiveness of the proposed method by
a tool which can generate efficient ANSI C code from system models written
in SLDL.
|
aspdac04_cr
|
Dongwan Shin, Samar Abdi, Daniel D. Gajski,
"Automatic
Generation of Bus Functional Models from Transaction level Models,"
Proceedings of the Asia and South Pacific Design Automation Conference,
Yokohama, Japan, January 2004.
This paper presents methodology and algorithms for generating bus
functional models from transaction level models in system level design.
Transaction level models are often used by designers for prototyping the bus
functional architecture of the system. Being at a higher level of
abstraction gives transaction level models the unique advantage of high
simulation speed. This means that the designer can explore several bus
functional architectures before choosing the optimal one. However, the
process of converting a transaction level model to a bus functional model is
not trivial. A manual conversion would not only be time consuming but also
error prone. A bus functional model should also accurately represent the
corresponding transaction level model. We present algorithms for automating
this refinement process. Experimantal results presented using a tool based
on these algorithms show their usefulness and feasibility.
|
aspdac04_mem
|
Lucai Cai, Haobo Yu, Daniel D. Gajski,
"A
Novel Memory Size Model for Variable-Mapping In System Level Design,"
Proceedings of the Asia and South Pacific Design Automation Conference,
Yokohama, Japan, January 2004.
It is predicted that 70% of the chip area will be occupied by memories in
future system-onchips. The minimization of on-chip memory hence becomes
increasingly important for cost, performance and energy consumption. This
paper proposes a novel memory size model for algorithms which map the
variables of a system behavior to memories of a system architecture. To our
knowledge, it is the first memory estimation approach that analyzes the
variable lifetime for the system behavior, which consists of
hierarchically-modelled and concurrently-executed processes and contains
variables with different sizes. Experimental results show that significant
improvements can be achieved.
|
codes03_RTOS
|
Haobo Yu, Andreas Gerstlauer, Daniel Gajski,
"RTOS
Scheduling in Transaction Level Models,"
Proceedings of the International Conference on Hardware/Software
Codesign & System Synthesis,
Newport Beach, CA, October 2003.
Raising the level of abstraction in system design promises to enable
faster exploration of the design space at early stages. While scheduling
decision for embedded software has great impact on system performance, it s
much desired that the designer can select the right scheduling algorithm at
high abstraction levels so as to save him from the error-prone and time
consuming task of tuning code delays or task priority assignments at the
final stage of system design. In this paper we tackle this problem by
introducing a RTOS model and an approach to refine any unscheduled
transaction level model (TLM) to a TLM with RTOS scheduling support. The
refinement process provides a useful tool to the system designer to quickly
evaluate different dynamic scheduling algorithms and make the optimal choice
at the early stage of system design.
|
codes03_tlm
|
Lucai Cai and Daniel Gajski,
"Transaction
Level Modeling: An Overview,"
Proceedings of the International Conference on Hardware/Software
Codesign & System Synthesis,
Newport Beach, CA, October 2003.
Recently, the transaction-level modeling has been widely referred to in
system-level design community. However, the transaction-level models (TLMs)
are not well defined and the usage of TLMs in the existing design domains,
namely modeling, validation, refinement, exploration, and synthesis, is not
well coordinated. This paper introduces a TLM taxonomy and compares the
benefits of TLMs use.
|
dac03_sccr
|
Samar Abdi, Dongwan Shin, Daniel D. Gajski,
"Automatic
Communication Refinement for System Level Design,"
Proceedings of the Design Automation Conference,
Anaheim, CA, June 2003.
This paper presents a methodology and algorithms for automatic communication
refinement. The communication refinement task in system-level synthesis transforms
abstract data-transfer between components to its actual bus level implementation.
The input model of the communication refinement is a set of concurrently executing
components, communicating with each other through abstract communication channels.
The refined model reflects the actual communication architecture. Choosing a good
communication architecture in system level designs requires sufficient exploration
through evaluation of various architectures. However, this would not be possible
with manually refining the system model for each communication architecture.
For one, manual refinement is tedious and error-prone. Secondly, it wastes
substantial amount of precious designer time. We solve this problem with
automatic model refinement. We also present a set of experimental results to
demonstrate how the proposed approach works on a typical system level design.
|
date03_rtos
|
Andreas Gerstlauer, Haobo Yu, Daniel D. Gajski,
"RTOS
Modeling for System-Level Design,"
Proceedings of Design, Automation & Test in Europe,
Munich, Germany, March 2003.
System level synthesis is widely seen as the solution for closing
the productivity gap in system design. High level system models
are used in system level design for early design exploration.
While real time operating systems (RTOS) are an increasingly
important component in system design, specific RTOS implementations
can not be used directly in high level models. On the other hand,
existing system level design languages (SLDL) lack support for
RTOS modeling.
In this paper we propose a RTOS model built on top
of existing SLDLs which, by providing the
key features typically available in any RTOS,
allows the designer to model the dynamic behavior of multi-tasking
systems at higher abstraction levels to be incorporated into
existing design flows. Experimental result shows that
our RTOS model is easy to use and efficient while being able to provide
accurate results.
|
isss02_semantics
|
Andreas Gerstlauer and Daniel D. Gajski,
"System-Level
Abstraction Semantics,"
Proceedings of International Symposium on System Synthesis,
Kyoto, Japan, October 2002.
Raising the level of abstraction is widely seen as the solution for
closing the productivity gap in system design.
They key for the success of this approach, however, are well-defined
abstraction levels and models.
In this paper, we present such system level semantics to cover the
system design process.
We define properties and features of each model. Formalization of
the flow enables design automation for synthesis and verification to
achieve the required productivity gains. Through customization,
the semantics allow creation of specific design methodologies.
We applied the concepts to system languages SystemC and SpecC.
Using the example of a JPEG encoder, we will demonstrate the
feasibility and effectiveness of the approach.
|
isss02_msg
|
Junyu Peng and Daniel D. Gajski,
"Optimal
Message-Passing for Data Coherency in Distributed Architecture,"
Proceedings of International Symposium on System Synthesis,
Kyoto, Japan, October 2002.
Message-passing mechanism is commonly used to preserve data coherency
in distributed systems. This paper presents an algorithm for
insertion of minimal message-passing in system-level design to
guarantee data coherency. The target architecture is a
multi-component heterogeneous system, where some components have local
memory (or they are memory components by themselves. The algorithm
enables
automatic insertion of message-passing during system-level design to
relieve designers from tedious and error-prone manual work. The
optimal solution given by the algorithm also ensures the quality of
automatic insertion. Experiments show that the
automatic approach achieves a productivity gain of 200x over manual
refinement.
|
isss02_SpecC
|
W. Mueller, R. Dömer, A. Gerstlauer,
"The
Formal Execution Semantics of SpecC,"
Proceedings of International Symposium on System Synthesis,
Kyoto, Japan, October 2002.
We present a rigorous but transparent semantics definition of the SpecC
language that covers the execution of SpecC behaviors and their
interaction with the kernel process. The semantics include
wait, waitfor, par, pipe,
and try statements
as they are introduced in SpecC. We present our definition in
form of distributed Abstract State Machine (ASM) rules strictly following
the lines of the SpecC Language Reference Manual.
We mainly see our formal semantics in three application areas.
First, it is a concise, unambiguous description
for documentation and standardization.
Second, it applies as a high-level, pseudo code-oriented specification
for the implementation of a SpecC simulator.
Finally, it is a first step for
SpecC synthesis in order to identify similar concepts with other languages
like VHDL and SystemC for the definition of common patterns and language
subsets.
|
iecon02
|
Slim Ben Saoud, Daniel D. Gajski, Andreas Gerstlauer,
"Co-design
of Emulators for Power electric Processes Using SpecC Methodology,"
Proceedings 28th Annual Conference of the IEEE Industrial Electronics Society,
Sevilla, Spain, November 2002.
Emulation of CMS systems is an interesting
approach to complete the validation of new digital control unit
and to perform the diagnosis tasks. However to be efficient, the
emulator have to run in real time in order to reproduce exactly
the physical process functioning.
This paper describes the design of an Autonomous Emulator
employing the system-level design methodology developed at
CECS-UC Irvine (SpecC methodology). Starting from the
abstract executable specification written in SpecC language, the
emulator is gradually refined and mapped to a final
communication model. This model can then be used with
backend tools for implementation and manufacturing.
|
isic02
|
Slim Ben Saoud, Daniel D. Gajski, Andreas Gerstlauer,
"Co-design
of Embedded Controllers for Power Electronics and Electric Systems,"
Proceedings International Symposium on Intelligent Control,
Vancouver, Canada, October 2002.
Today, control algorithms are being more and more sophisticated due to
the customer and governments demands. Then, their real-time implementation
becomes a difficult task and nedds more and more specific hardware systems
with dedicated processors and usually systems-on-chip (SOCs).
With the ever-increasing complexity and time-to-market pressures in the
design of these specific control systems, a well-defined design methodology
is more than even necessary.
In this paper, we present a seamless approach for the design of control
systems for power electronics and electric drivers. We discuss the case of
a DC system control and describe in detail different stages undergone.
Generalization to other systems can be done easily using the same steps
and transformations.
|
smc02_control
|
Slim Ben Saoud, Daniel D. Gajski, Andreas Gerstlauer,
"Seamless
approach for the design of control systems for Power Electronics and Electric Drives,"
Proceedings International Conference on Systems, Man and Cybernetics,
Hammamet, Tunisia, October 2002.
Today, the shortest time-to-market in the
electric drives industries is being a pressing
requirement, consequently development time of new
algorithms and new control systems and debugging them
must be minimized. This requirement can be satisfied
only by using a well-defined System-level design
methodology and by reducing the migration time
between the algorithm development language and the
hardware specification language.
In this paper, we propose to apply the SpecC
methodology to the the design of control systems for
power electronics and electric drives. We first begin
with an executable specification model of the control
device. Then, we describe the different steps and
transformations used to convert this model to a
communication model, which can be then transformed
to an implementation model ready for manufacturing.
|
smc02_ctrlalg
|
Slim Ben Saoud, Daniel D. Gajski, Rainer Dömer,
"Specification
and Validation of New Control Algorithms for Electric Drives Using SpecC Language,"
Proceedings International Conference on Systems, Man and Cybernetics,
Hammamet, Tunisia, October 2002.
In the traditional way, developers of new
control algorithms validate their studies by simulation
using standard language (C, C++, MATLAB, etc.).
Therefore, designers of the
control devices have to
translate this specification from the original language
(standard language) to the co-design methodology
language. This introduces a time/schedule delay.
In this work, we propose to use the SpecC language to
specify the whole motor drive system that includes
control algorithms, I/O modules and Process to control.
In contrast to other languages, the SpecC allows to
specify the system functionality in a clear and precise
manner and the obtained specification, used for
simulation, will serves, without the need for tedious
rewrites, as the input to the synthesis and exploration
stages in the SpecC design methodology.
|
edp02
|
R. Dömer, A. Gerstlauer, D. Gajski,
"SpecC Methodology for High-Level Modeling,"
9th IEEE/DATC Electronic Design Processes Workshop,
Monterey, April 2002.
The key for managing the complexity of embedded system design is a
well-defined methodology supported by a
clearly structured system-level design language. The SpecC methodology
described in this paper is based on the
SpecC language and consists of a set of well-defined and unambiguous design
models and a set of well-defined
transformations that refine one model to the next. Given these models and
transformations, the generic SpecC
methodology can be customized to produce a system design framework that can
be easily integrated with a given
design flow and environment.
This paper describes four SpecC models at different levels of abstraction,
namely at the specification, architecture,
communication and implementation level. It also defines the refinement
transformations between them, namely
architecture exploration, communication synthesis, and software and hardware
implementation. Both, the models
and the transformations, are sufficiently formalized to allow automatic
model refinement, synthesis, and verification.
|
esc02_309
|
Rainer Dömer,
"The SpecC System-Level Design Language and Methodology, Part 1,"
Embedded Systems Conference,
San Francisco, March 2002.
A well-defined design methodology supported by a system-level design
language (SLDL) is the key for
managing the complexity of the design flow, especially at the system level.
Only with well-defined and
unambiguous models and transformations can we achieve productivity gains
through synthesis, verification
and tool interoperability. This paper presents the SpecC system design
methodology. It shows how, through
gradual, stepwise refinement, a design is taken from specification down to
implementation. Finally, it
introduces a design example of industrial-strength that has been implemented
following the methodology,
including the results and productivity gains achieved.
This is the first paper in a two-part series. This part introduces the
SpecC model and the SpecC language.
|
esc02_349
|
R. Dömer, A. Gerstlauer, P. Kritzinger, M. Olivarez,
"The SpecC System-Level Design Language and Methodology, Part 2,"
Embedded Systems Conference,
San Francisco, March 2002.
A well-defined design methodology supported by a system-level design
language (SLDL) is the key for
managing the complexity of the design flow, especially at the system level.
Only with well-defined and
unambiguous models and transformations can we achieve productivity gains
through synthesis, verification
and tool interoperability. This paper presents the SpecC system design
methodology. It shows how, through
gradual, stepwise refinement, a design is taken from specification down to
implementation. Finally, it
introduces a design example of industrial-strength that has been implemented
following the methodology,
including the results and productivity gains achieved.
This is the second paper in a two-part series. This part covers the SpecC
methodology and its application to
an industrial design example, a GSM vocoder.
|
sasimi00
|
A. Gerstlauer, S. Zhao, D. Gajski, A. Horak,
"SpecC System-Level Design Methodology Applied to the Design of a GSM Vocoder,"
Proceedings of the Ninth Workshop on Synthesis and System Integration
of Mixed Technologies,
Kyoto, Japan, April 2000.
In this paper we describe the steps and transformations of the
SpecC system-level design methodology applied to the example of
designing and implementing a voice
encoding/decoding system with
the purpose of demonstrating this
design methodology on an industrial size example.
Starting with the system specification, the design is gradually
refined down to an optimal hardware/software implementation.
The results show
that the well-defined models, steps and transformations of the SpecC
methodology lead to a significant productivity gain.
|
aspdac00_IP
|
Rainer Dömer and Daniel D. Gajski,
"Reuse and Protection of Intellectual Property in the SpecC System,"
Proceedings of the Asia and South Pacific Design Automation Conference,
Yokohama, Japan, January 2000.
In system-level design, the key to cope with the complexities involved with
System-on-Chip (SOC) designs, is the reuse of Intellectual Property (IP).
With the increasing demand for IP, the mechanism to protect an IP component
from being copied, modified, or reverse-engineered, becomes very important.
This paper describes how reuse and protection of IP is supported
by the SpecC language and the SpecC design environment.
|
aspdac00_reuse
|
Nong Fang, Viraphol Chaiyakul, Daniel D. Gajski,
"Usage-Based Characterization of Complex Functional Blocks for Reuse
in Behavioral Synthesis,"
Proceedings of the Asia and South Pacific Design Automation Conference,
Yokohama, Japan, January 2000.
This paper presents a novel usage-based characterization method to capture
pre-designed complex functional blocks for automatic reuse in behavioral
synthesis. We identify attributes necessary for reuse of such complex
components and illustrate how the attributes are
captured into a design database. A complex component MTX_MULT8X8, which
computes product of two 8x8 matrices, is captured with the
proposed method, and its reuse in behavioral synthesis is demonstrated with
design of a DCT example. Feasibility of the method for capturing various
components is demonstrated as well.
|
|