Redundant operator creation: a scheduling optimization technique

A method is proposed for optimizing a Control I Data Flow Graph (CDFG), to generate shorter schedules, given a fmed number of functional units. A counter-intuitive approach is taken of adding more operations to the CDFG to reduce the number of cycles in the final schedule. In this paper, this technique is applied to individual straight-line code sections (stateblocks) to reduce their execution times (as opposed to recently published methods for optimizations that transcend state block boundaries). In many cases this technique has produced schedules significantly better (up to 30%) than those previously published. The algorithm rearranges the CDFG, modifring the syntactical structure, while preserving the semantic meaning. The focus of attack is on the critical path, where most of the tramJormations are attempted to decrease the length of the critical path and hence the length of the resultant CDFG. The benchmark were run on a MIPS RC3240 Riscomputer (-18 MIPS) and each schedule was derived at in less than I CPU second!

[1]  Barry M. Pangre Splicer: a heuristic approach to connectivity binding , 1988, DAC '88.

[2]  Richard I. Hartley,et al.  Tree-height minimization in pipelined architectures , 1989, 1989 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[3]  Pierre G. Paulin,et al.  Scheduling and Binding Algorithms for High-Level Synthesis , 1989, 26th ACM/IEEE Design Automation Conference.

[4]  Youn-Long Lin,et al.  A new integer linear programming formulation for the scheduling problem in data path synthesis , 1989, 1989 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[5]  Martin Vetterli VLSI and modern signal processing: edited by S.Y. Kung, H.J. Whitehouse and T. Kailath, in: Information and System Sciences Series, published by: Prentice-Hall, Inc., Englewood Cliffs, NJ 07632, U.S.A., 1985, xiii+481 pp., ISBN 0-13-942699-X , 1987 .

[6]  Donald E. Thomas,et al.  Architectural Partitioning for System Level Design , 1989, 26th ACM/IEEE Design Automation Conference.

[7]  Alice C. Parker,et al.  Sehwa: a software package for synthesis of pipelines from behavioral specifications , 1988, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[8]  Daniel Gajski,et al.  Design Tools for Intelligent Silicon Compilation , 1987, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[9]  Barry M. Pangrle Splicer: a heuristic approach to connectivity binding , 1988, 25th ACM/IEEE, Design Automation Conference.Proceedings 1988..

[10]  Howard Trickey,et al.  Flamel: A High-Level Hardware Compiler , 1987, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[11]  Pierre G. Paulin,et al.  Force-Directed Scheduling in Automatic Data Path Synthesis , 1987, 24th ACM/IEEE Design Automation Conference.

[12]  Alexandru Nicolau,et al.  Percolation based synthesis , 1991, DAC '90.

[13]  Jayaram Bhasker,et al.  An optimizer for hardware synthesis , 1990, IEEE Design & Test of Computers.

[14]  S. Mitra,et al.  Interpolated finite impulse response filters , 1984 .

[15]  Daniel Gajski,et al.  Chippe: a system for constraint driven behavioral synthesis , 1990, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..