A solution methodology for exact design space exploration in a three-dimensional design space

This paper describes an exact solution methodology, implemented in Rensselaer's Voyager design space exploration system, for solving the scheduling problem in a three-dimensional (3-D) design space: the usual two-dimensional (2-D) design space (which trades off area and schedule length), plus a third dimension representing clock length. Unlike design space exploration methodologies which rely on bounds or estimates, this methodology is guaranteed to find the globally optimal solution to a 3-D scheduling problem. Furthermore, this methodology efficiently prunes the search space, eliminating provably inferior design points through the following: 1) a careful selection of candidate clock lengths and 2) tight bounds on the number of functional units or on the schedule length. Both chaining and multicycle operations are supported.

[1]  Eduardo B. Fernández,et al.  Bounds on the Number of Processors and Time for Multiprocessor Optimal Schedules , 1973, IEEE Transactions on Computers.

[2]  Rajiv Jain,et al.  Module selection for pipelined synthesis , 1988, 25th ACM/IEEE, Design Automation Conference.Proceedings 1988..

[3]  Robert A. Walker,et al.  Toward a practical methodology for completely characterizing the optimal design space , 1996, Proceedings of 9th International Symposium on Systems Synthesis.

[4]  Minh N. Do,et al.  Youn-Long Steve Lin , 1992 .

[5]  Donald E. Thomas,et al.  Algorithmic and Register-Transfer Level Synthesis: The System Architect's Workbench , 1989 .

[6]  Alice C. Parker,et al.  Synthesis of Optimal Clocking Schemes , 1985, 22nd ACM/IEEE Design Automation Conference.

[7]  Miodrag Potkonjak,et al.  Optimizing resource utilization using transformations , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

[8]  J. E. Mitchell,et al.  Analyzing and exploiting the structure of the constraints in the ILP approach to the scheduling problem , 1994, IEEE Trans. Very Large Scale Integr. Syst..

[9]  Miodrag Potkonjak,et al.  Instruction set mapping for performance optimization , 1993, ICCAD.

[10]  Dorothy E. Setliff,et al.  Deriving Efficient Area and Delay Estimates by Modeling Layout Tools , 1995, 32nd Design Automation Conference.

[11]  Catherine H. Gebotys Optimal scheduling and allocation of embedded VLSI chips , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[12]  Nikil D. Dutt,et al.  Reclocking for high-level synthesis , 1995, ASP-DAC '95.

[13]  Marios C. Papaefthymiou,et al.  DelaY: An Efficient Tool for Retiming with Realistic Delay Modeling , 1995, 32nd Design Automation Conference.

[14]  Miodrag Potkonjak,et al.  Instruction set mapping for performance optimization , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

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

[16]  Nikil D. Dutt,et al.  Comprehensive Lower Bound Estimation From Behavioral Descriptions , 1994, IEEE/ACM International Conference on Computer-Aided Design.

[17]  Peter Marwedel,et al.  OSCAR: optimum simultaneous scheduling, allocation and resource binding based on integer programming , 1994, EURO-DAC '94.

[18]  Jacek Blazewicz,et al.  Simple Algorithms for Multiprocessor Scheduling to Meet Deadlines , 1977, Inf. Process. Lett..

[19]  John A. Nestor,et al.  SALSA: a new approach to scheduling with timing constraints , 1993, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[20]  Minjoong Rim,et al.  Estimating lower-bound performance of schedules using a relaxation technique , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

[21]  Liang-Gee Chen,et al.  Optimal module set and clock cycle selection for DSP synthesis , 1991, 1991., IEEE International Sympoisum on Circuits and Systems.

[22]  Bruno Rouzeyre,et al.  Component selection, scheduling and control schemes for high level synthesis , 1994, Proceedings of European Design and Test Conference EDAC-ETC-EUROASIC.

[23]  Viraphol Chaiyakul,et al.  Accurate layout area and delay modeling for system level design , 1992, ICCAD.

[24]  Daniel Gajski,et al.  System clock estimation based on clock slack minimization , 1992, Proceedings EURO-DAC '92: European Design Automation Conference.

[25]  Sachin S. Sapatnekar,et al.  A fresh look at retiming via clock skew optimization , 1995, DAC '95.

[26]  Daniel D. Gajski,et al.  High ― Level Synthesis: Introduction to Chip and System Design , 1992 .

[27]  Giovanni De Micheli,et al.  Synthesis and Optimization of Digital Circuits , 1994 .

[28]  Minjoong Rim,et al.  Lower-bound performance estimation for the high-level synthesis scheduling problem , 1994, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[29]  Yuan Hu,et al.  Improved lower bounds for the scheduling optimization problem , 1994, Proceedings of IEEE International Symposium on Circuits and Systems - ISCAS '94.

[30]  Richard M. Russell,et al.  The CRAY-1 computer system , 1978, CACM.

[31]  Don MacMillen,et al.  ISIS: a system for performance driven resource sharing , 1992, [1992] Proceedings 29th ACM/IEEE Design Automation Conference.

[32]  Eduard Cerny,et al.  A recursive technique for computing lower-bound performance of schedules , 1996, TODE.

[33]  Alice C. Parker,et al.  Predicting system-level area and delay for pipelined and nonpipelined designs , 1992, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[34]  Doron Mintz,et al.  Timing estimation for behavioral descriptions , 1994, Proceedings of 7th International Symposium on High-Level Synthesis.

[35]  H. B. Bakoglu,et al.  Circuits, interconnections, and packaging for VLSI , 1990 .

[36]  Miodrag Potkonjak,et al.  Estimating implementation bounds for real time DSP application specific circuits , 1994, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[37]  Yuan Hu,et al.  Lower bounds on the iteration time and the number of resources for functional pipelined data flow graphs , 1993, Proceedings of 1993 IEEE International Conference on Computer Design ICCD'93.

[38]  Alok Sharma,et al.  Estimating Architectural Resources and Performance for High-Level Synthesis Applications , 1993, 30th ACM/IEEE Design Automation Conference.

[39]  V. Chaiyakul,et al.  Accurate layout area and delay modeling for system level design , 1992, 1992 IEEE/ACM International Conference on Computer-Aided Design.

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

[41]  Viraphol Chaiyakul,et al.  Timing models for high-level synthesis , 1992, Proceedings EURO-DAC '92: European Design Automation Conference.

[42]  Fadi J. Kurdahi,et al.  Incorporating the controller effects during register transfer level synthesis , 1994, Proceedings of European Design and Test Conference EDAC-ETC-EUROASIC.

[43]  Robert A. Walker,et al.  Computing lower bounds on functional units before scheduling , 1994, ISSS '94.