Compiler-in-loop Architecture Exploration for Efficient Application Specific Embedded Processor Design

Retargetable C compilers are key tools for efficient architecture exploration for embedded processors. In this paper we describe a novel approach to retargetable compilation based on LISA, an industrial processor modeling language for efficient application-specific instruction set processor (ASIP) design. In order to circumvent the well-known trade-off between flexibility and code quality in retargetable compilation, we propose a user-guided, semi-automatic methodology that in turn builds on a powerful existing C compiler design platform. Our approach allows to include generated C compilers into the ASIP architecture exploration loop at an early stage, thereby allowing for a more efficient design process and avoiding application/architecture mismatches. We present the corresponding methodology and tool suite and provide experimental data for two real-life embedded processors that prove the feasibility of the approach.

[1]  Rainer Leupers,et al.  A universal technique for fast and flexible instruction-set architecture simulation , 2002, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[2]  G. Braun,et al.  A universal technique for fast and flexible instruction-set architecture simulation , 2002, Proceedings 2002 Design Automation Conference (IEEE Cat. No.02CH37324).

[3]  Ahmed Amine Jerraya,et al.  Industrial experience using rule-driven retargetable code generation for multimedia applications , 1995, Proceedings of the Eighth International Symposium on System Synthesis.

[4]  Rainer Leupers,et al.  Time-constrained code compaction for DSPs , 1995 .

[5]  Guido Araujo,et al.  Code generation algorithms for digital signal processors , 1997 .

[6]  Rainer Leupers,et al.  Retargetable compiler technology for embedded systems - tools and applications , 2001 .

[7]  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).

[8]  Clifford Liem,et al.  Industrial experience using rule-driven retargetable code generation for multimedia applications , 1995 .

[9]  Markus Freericks,et al.  Describing instruction set processors using nML , 1995, Proceedings the European Design and Test Conference. ED&TC 1995.

[10]  Rainer Leupers,et al.  Instruction scheduler generation for retargetable compilation , 2003, IEEE Design & Test of Computers.

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

[12]  Rainer Leupers,et al.  Architecture exploration for embedded processors with LISA , 2002 .

[13]  Srinivas Devadas,et al.  Instruction selection, resource allocation, and scheduling in the AVIV retargetable code generator , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[14]  Gerhard Fettweis,et al.  A new network processor architecture for high-speed communications , 1999, 1999 IEEE Workshop on Signal Processing Systems. SiPS 99. Design and Implementation (Cat. No.99TH8461).

[15]  Dr. Rainer Leupers Code Optimization Techniques for Embedded Processors , 2000, Springer US.

[16]  Christopher W. Fraser,et al.  A Retargetable C Compiler: Design and Implementation , 1995 .

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