Functional abstraction driven design space exploration of heterogeneous programmable architectures

Rapid design space exploration (DSE) of a programmable architecture is feasible using an automatic toolkit (compiler, simulator, assembler) generation methodology driven by an architecture description language (ADL). While many contemporary ADLs can effectively capture one class of architecture, they are typically unable to capture a wide spectrum of processor and memory features present in DSP, VLIW, EPIC and Superscalar processors. The main bottleneck has been the lack of an abstraction underlying the ADL that permits reuse of the abstraction primitives to compose the heterogeneous architectures. We present the functional abstraction needed to capture such wide variety of programmable architectures. We illustrate the usefulness of this approach by specifying two very different architectures using functional abstraction. Our DSE results demonstrate the power of reuse in composing heterogeneous architectures using functional abstraction primitives allowing for a reduction in the time for specification and exploration by at least an order of magnitude.

[1]  Heinrich Meyr,et al.  A framework for fast hardware-software co-simulation , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[2]  References , 1971 .

[3]  Richard Hersemeule,et al.  Fast prototyping: a system design flow for fast design, prototyping and efficient IP reuse , 1999, Proceedings of the Seventh International Workshop on Hardware/Software Codesign (CODES'99) (IEEE Cat. No.99TH8450).

[4]  Nikil D. Dutt,et al.  EXPRESSION: a language for architecture exploration through compiler/simulator retargetability , 1999, Design, Automation and Test in Europe Conference and Exhibition, 1999. Proceedings (Cat. No. PR00078).

[5]  Rajat Moona,et al.  Processor modeling for hardware software codesign , 1999, Proceedings Twelfth International Conference on VLSI Design. (Cat. No.PR00013).

[6]  Manfred Koegst,et al.  A systematic analysis of reuse strategies for design of electronic circuits , 1998, Proceedings Design, Automation and Test in Europe.

[7]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[8]  Srinivas Devadas,et al.  ISDL: an instruction set description language for retargetability , 1997, DAC.

[9]  Nikil D. Dutt,et al.  Processor-memory co-exploration driven by a Memory-Aware Architecture Description Language , 2001, VLSI Design 2001. Fourteenth International Conference on VLSI Design.

[10]  W. Glauert,et al.  Linking codesign and reuse in embedded systems design , 2000, Proceedings of the Eighth International Workshop on Hardware/Software Codesign. CODES 2000 (IEEE Cat. No.00TH8518).

[11]  Wolfgang Rosenstiel,et al.  An efficient reuse system for digital circuit design , 1999, DATE '99.

[12]  Axel Jantsch,et al.  On the roles of functions and objects in system specification , 2000, Proceedings of the Eighth International Workshop on Hardware/Software Codesign. CODES 2000 (IEEE Cat. No.00TH8518).

[13]  Chuck Siska,et al.  A processor description language supporting retargetable multi-pipeline DSP program development tools , 1998, Proceedings. 11th International Symposium on System Synthesis (Cat. No.98EX210).

[14]  Nikil Dutt,et al.  A Study of Out-of-Order Completion for the MIPS R10K Superscalar Processor , 2001 .

[15]  Rainer Leupers,et al.  Retargetable Code Generation Based on Structural Processor Description , 1998, Des. Autom. Embed. Syst..

[16]  Nikil Dutt,et al.  Memory Subsystem Description in EXPRESSION , 2000 .

[17]  Heinrich Meyr,et al.  LISA-machine description language and generic machine model for HW/SW co-design , 1996, VLSI Signal Processing, IX.

[18]  Gert Goossens,et al.  Chess: retargetable code generation for embedded DSP processors , 1994, Code Generation for Embedded Processors.

[19]  W. Rosenstiel,et al.  An efficient reuse system for digital circuit design , 1999, Design, Automation and Test in Europe Conference and Exhibition, 1999. Proceedings (Cat. No. PR00078).

[20]  Frank Vahid,et al.  Parameterized system design , 2000, Proceedings of the Eighth International Workshop on Hardware/Software Codesign. CODES 2000 (IEEE Cat. No.00TH8518).

[21]  Nikil Dutt,et al.  Coprocessor Codesign for Programmable Architectures , 2001 .

[22]  Maria Freericks,et al.  The nml machine description formalism , 1991 .