An Interactive Design Environment for C-Based High-Level Synthesis of RTL Processors

Much effort in register transfer level (RTL) design has been devoted to developing "push-button" types of tools. However, given the highly complex nature, and lack of control on RTL design, push-button type synthesis is not accepted by many designers. Interactive design with assistance of algorithms and tools can be more effective if it provides control to the steps of synthesis. In this paper, we propose an interactive RTL design environment which enables designers to control the design steps and to integrate hardware components into a system. Our design environment is targeting a generic RTL processor architecture and supporting pipelining, multicycling, and chaining. Tasks in the RTL design process include clock definition, component allocation, scheduling, binding, and validation. In our interactive environment, the user can control the design process at every stage, observe the effects of design decisions, and manually override synthesis decisions at will. We present a set of experimental results that demonstrate the benefits of our approach. Our combination of automated tools and interactive control by the designer results in quickly generated RTL designs with better performance than fully-automatic results, comparable to fully manually optimized designs.

[1]  Daniel D. Gajski,et al.  SpecC System-Level Design Methodology Applied to the Design of a GSM Vocoder , 2000 .

[2]  Daniel D. Gajski,et al.  SPECC: Specification Language and Methodology , 2000 .

[3]  Giovanni De Micheli,et al.  Synthesis and Optimization of Digital Circuits , 1994 .

[4]  Peter B. Denyer,et al.  Silicon Compilation , 1986, ESSCIRC '86: Twelfth European Solid-State Circuits Conference.

[5]  A.A. Jerraya,et al.  AMICAL: An interactive high level synthesis environment , 1993, 1993 European Conference on Design Automation with the European Event in ASIC Design.

[6]  Minh N. Do,et al.  Youn-Long Steve Lin , 1992 .

[7]  Miodrag Potkonjak,et al.  HYPER: an interactive synthesis environment for high performance real time applications , 1989, Proceedings 1989 IEEE International Conference on Computer Design: VLSI in Computers and Processors.

[8]  Giovanni De Micheli,et al.  High Level Synthesis of ASlCs un - der Timing and Synchronization Constraints , 1992 .

[9]  Daniel D. Gajski,et al.  System-On-Chip Component Models , 2003 .

[10]  D. Gajski,et al.  Scheduling in RTL Design Methodology , 2000 .

[11]  Daniel D. Gajski Principles of Digital Design , 1996 .

[12]  Andreas Gerstlauer,et al.  Cycle-accurate RTL Modeling with Multi-Cycled and Pipelined Components , 2006 .

[13]  Daniel D. Gajski,et al.  High ― Level Synthesis: Introduction to Chip and System Design , 1992 .

[14]  Andreas Gerstlauer,et al.  System Design - A Practical Guide with SpecC , 2001 .

[15]  Viraphol Chaiyakul,et al.  Clock-driven performance optimization in interactive behavioral synthesis , 1996, Proceedings of International Conference on Computer Aided Design.

[16]  G. De Micheli,et al.  SpC: synthesis of pointers in C application of pointer analysis to the behavioral synthesis from C , 1998, 1998 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (IEEE Cat. No.98CB36287).

[17]  Kazutoshi Wakabayashi,et al.  C-based SoC design flow and EDA tools: an ASIC and system vendorperspective , 2000, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[18]  Daniel Gajski,et al.  Defining an enhanced RTL semantics , 2005, Design, Automation and Test in Europe.

[19]  Nikil D. Dutt,et al.  SPARK: a high-level synthesis framework for applying parallelizing compiler transformations , 2003, 16th International Conference on VLSI Design, 2003. Proceedings..

[20]  Peter Marwedel,et al.  OSCAR: optimum simultaneous scheduling, allocation and resource binding based on integer programming , 1994, EURO-DAC '94.

[21]  Thorsten Grotker,et al.  System Design with SystemC , 2002 .