UCI Cadlab
Conference Papers 2000-2004
---------------------------

dac04_profiler
aspdac04_codegen
aspdac04_cr
aspdac04_mem
codes03_RTOS
codes03_tlm
dac03_sccr
date03_rtos
isss02_semantics
isss02_msg
isss02_SpecC
iecon02
isic02
smc02_control
smc02_ctrlalg
edp02
esc02_309
esc02_349
sasimi00
aspdac00_IP
aspdac00_reuse

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.

 

PDF 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.

 

PDF 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.

 

PDF 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.

 

PDF 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.

 

PDF 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.

 

PDF 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.

 

PDF 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.

 

PDF Postscript 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.

 

PDF Postscript 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.

 

PDF 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.

 

PDF Postscript 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.

 

PDF 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.

 

PDF 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.

 

PDF 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.

 

PDF 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.

 

PDF 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.

 

PDF 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.

 

PDF 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.

 

PDF Postscript 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.

 

PDF Postscript 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.

 

Postscript 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.

 


Last update: March 11 2003 by A. Gerstlauer (gerstl@cecs.uci.edu).