Instruction-set matching and selection for DSP and ASIP code generation

The increasing use of digital signal processors (DSPs) and application specific instruction-set processors (ASIPs) has put a strain on the perceived mature state of compiler technology. The presence of custom hardware for application-specific needs has introduced instruction types which are unfamiliar to the capabilities of traditional compilers. Thus, these traditional techniques can lead to inefficient and sparsely compacted machine microcode. In this paper, we introduce a novel instruction-set matching and selection methodology, based upon a rich representation useful for DSP and mixed control-oriented applications. This representation shows explicit behaviour that references architecture resource classes. This allows a wide range of instructions types to be captured in a pattern set. The pattern set has been organized in a manner such that matching is extremely efficient and retargeting to architectures with new instruction sets is well defined. The matching and selection algorithms have been implemented in a retargetable code generation system called CodeSyn.<<ETX>>

[1]  Jan M. Rabaey,et al.  An integrated CAD system for algorithm-specific IC design , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[2]  Alfred V. Aho,et al.  Code generation using tree matching and dynamic programming , 1989, ACM Trans. Program. Lang. Syst..

[3]  Alfred V. Aho,et al.  Optimal Code Generation for Expression Trees , 1976, J. ACM.

[4]  Charles N. Fischer,et al.  Affix grammar driven code generation , 1985, TOPL.

[5]  P. Marwedel,et al.  Cooperation of synthesis, retargetable code generation and test generation in the MSS , 1993, 1993 European Conference on Design Automation with the European Event in ASIC Design.

[6]  Pierre G. Paulin,et al.  Insulin: An Instruction Set Simulation Environment , 1993, CHDL.

[7]  Alvin M. Despain,et al.  Viewing instruction set design as an optimization problem , 1991, MICRO 24.

[8]  Pierre G. Paulin,et al.  DSP design tool requirements for embedded systems: A telecommunications industrial perspective , 1995, J. VLSI Signal Process..

[9]  Alfred V. Aho,et al.  Efficient string matching , 1975, Commun. ACM.

[10]  Hugo De Man,et al.  Integration of medium-throughput signal processing algorithms on flexible instruction-set architectures , 1995, J. VLSI Signal Process..

[11]  James H. McClellan,et al.  Code generation for the AT&T DSP32 , 1990, International Conference on Acoustics, Speech, and Signal Processing.

[12]  Paul Hilfinger,et al.  A Compiler for Application-Specific Signal Processors , 1989 .

[13]  Christopher W. Fraser,et al.  Engineering a simple, efficient code-generator generator , 1992, LOPL.