Constraint analysis for DSP code generation

Code generation methods for digital signal processing (DSP) applications are hampered by the combination of tight timing constraints imposed by the performance requirements of DSP algorithms and resource constraints imposed by a hardware architecture. In this paper, we present a method for register binding and instruction scheduling based on the exploitation and analysis of the combination of resource and timing constraints. The analysis identifies implicit sequencing relations between operations in addition to the preceding constraints. Without the explicit modeling of these sequencing constraints, a scheduler is often not capable of finding a solution that satisfies the timing and resource constraints. The presented approach results in an efficient method to obtain high-quality instruction schedules with low register requirements.

[1]  T. C. May,et al.  Instruction-set matching and selection for DSP and ASIP code generation , 1994, Proceedings of European Design and Test Conference EDAC-ETC-EUROASIC.

[2]  B. Ramakrishna Rau,et al.  Register allocation for software pipelined loops , 1992, PLDI '92.

[3]  Joos Vandewalle,et al.  Loop Optimization in Register-Transfer Scheduling for DSP-Systems , 1989, 26th ACM/IEEE Design Automation Conference.

[4]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[5]  Alexandre E. Eichenberger,et al.  Optimum modulo schedules for minimum register requirements , 1995 .

[6]  Alice C. Parker,et al.  Tutorial on high-level synthesis , 1988, DAC '88.

[7]  Jochen A. G. Jess,et al.  Conflict Modelling and Instruction Scheduling in Code Generation for In-House DSP Cores , 1995, 32nd Design Automation Conference.

[8]  Jochen A. G. Jess,et al.  Efficient code generation for in-house DSP-cores , 1995, Proceedings the European Design and Test Conference. ED&TC 1995.

[9]  J.L. van Meerbergen,et al.  Constraint analysis for DSP code generation , 1997, Proceedings. Tenth International Symposium on System Synthesis (Cat. No.97TB100114).

[10]  Bart Mesman,et al.  A constraint driven approach to loop pipelining and register binding , 1998, Proceedings Design, Automation and Test in Europe.

[11]  Yu-Chin Hsu,et al.  A formal approach to the scheduling problem in high level synthesis , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

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

[13]  Guang R. Gao,et al.  Minimizing register requirements under resource-constrained rate-optimal software pipelining , 1994, Proceedings of MICRO-27. The 27th Annual IEEE/ACM International Symposium on Microarchitecture.

[14]  Raymond Reiter,et al.  Scheduling Parallel Computations , 1968, J. ACM.

[15]  Alexander Aiken,et al.  Resource-Constrained Software Pipelining , 1995, IEEE Trans. Parallel Distributed Syst..

[16]  Gert Goossens,et al.  Code Generation for Embedded Processors , 1995 .

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

[18]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[19]  B. Ramakrishna Rau,et al.  Some scheduling techniques and an easily schedulable horizontal architecture for high performance scientific computing , 1981, MICRO 14.

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

[21]  Pierre G. Paulin,et al.  Flexware: A flexible firmware development environment for embedded systems , 1994, Code Generation for Embedded Processors.