New methods for coloring and clique partitioning in data path allocation

Abstract The EGAD data path allocation system is investigating the use of coloring of conflict graphs and clique partitioning of compatibility graphs to allocate operations onto functional units, values into registers, and data transfes onto interconnect. This work is a part of the high-level synthesis effort at Carnegie Mellon University, called the System Architect's Workbench. The least cost clique partitioning and coloring problems have been widely used for data path allocation in high-level synthesis. This paper describes research areas important to writing good data path allocation heuristics. A new approach to modeling cost based on set inclusion, and a technique for estimating the quality of solutions based on the duality theorem of linear programming are presented.

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

[2]  Pierre G. Paulin,et al.  Force-directed scheduling for the behavioral synthesis of ASICs , 1989, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

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

[4]  Giovanni De Micheli High-Level Synthesis of Digital Circuits , 1993, Adv. Comput..

[5]  Robert A. Walker,et al.  A Survey of high-level synthesis systems , 1991 .

[6]  Donald E. Thomas,et al.  The combination of scheduling, allocation, and mapping in a single algorithm , 1991, DAC '90.

[7]  M. Golumbic Algorithmic graph theory and perfect graphs , 1980 .

[8]  Mohamed I. Elmasry,et al.  Automatic synthesis of a multi-bus architecture for DSP , 1988, [1988] IEEE International Conference on Computer-Aided Design (ICCAD-89) Digest of Technical Papers.

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

[10]  Donald E. Thomas,et al.  Exploiting the special structure of conflict and compatibility graphs in high-level synthesis , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[11]  Barry M. Pangrle,et al.  SCHALLOC: an algorithm for simultaneous scheduling & connectivity binding in a datapath synthesis system , 1990, Proceedings of the European Design Automation Conference, 1990., EDAC..

[12]  Mohamed I. Elmasry,et al.  A global optimization approach for architectural synthesis , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[13]  R. Camposano,et al.  Synthesis using path-based scheduling: algorithms and exercises , 1990, 27th ACM/IEEE Design Automation Conference.

[14]  Srinivas Devadas,et al.  Algorithms for hardware allocation in data path synthesis , 1989, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[15]  Thaddeus Julius Kowalski The VLSI design automation assistant : a knowledge-based expert system , 1986 .

[16]  Raul Camposano Design process model in the Yorktown silicon compiler , 1988, 25th ACM/IEEE, Design Automation Conference.Proceedings 1988..

[17]  Pierre Gaston Paulin High-level synthesis of digital circuits using global scheduling and binding algorithms , 1988 .

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

[19]  Fadi J. Kurdahi,et al.  REAL: A Program for REgister ALlocation , 1987, 24th ACM/IEEE Design Automation Conference.

[20]  Yu-Chin Hsu,et al.  Data path allocation based on bipartite weighted matching , 1990, 27th ACM/IEEE Design Automation Conference.

[21]  Daniel P. Siewiorek,et al.  Automated Synthesis of Data Paths in Digital Systems , 1986, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.