VLSI cell placement techniques

VLSI cell placement problem is known to be NP complete. A wide repertoire of heuristic algorithms exists in the literature for efficiently arranging the logic cells on a VLSI chip. The objective of this paper is to present a comprehensive survey of the various cell placement techniques, with emphasis on standard cell and macro placement. Five major algorithms for placement are discussed: simulated annealing, force-directed placement, min-cut placement, placement by numerical optimization, and evolution-based placement. The first two classes of algorithms owe their origin to physical laws, the third and fourth are analytical techniques, and the fifth class of algorithms is derived from biological phenomena. In each category, the basic algorithm is explained with appropriate examples. Also discussed are the different implementations done by researchers.

[1]  Huang,et al.  AN EFFICIENT GENERAL COOLING SCHEDULE FOR SIMULATED ANNEALING , 1986 .

[2]  Shigeki Goto,et al.  Suboptimum solution of the back-board ordering with channel capacity constraint , 1977 .

[3]  Melvin A. Breuer,et al.  A Placement Algorithm for Array Processors , 1983, 20th Design Automation Conference Proceedings.

[4]  Wilm E. Donath Complexity Theory and Design Automation , 1980, 17th Design Automation Conference.

[5]  Mark Howard Jones,et al.  A parallel simulated annealing algorithm for standard cell placement on a hypercube computer , 1987 .

[6]  Emile H. L. Aarts,et al.  Parallel implementations of the statistical cooling algorithm , 1986, Integr..

[7]  Carl Sechen Chip-planning, placement, and global routing of macro/custom cell integrated circuits using simulated annealing , 1988, 25th ACM/IEEE, Design Automation Conference.Proceedings 1988..

[8]  Sartaj Sahni,et al.  The Complexity of Design Automation Problems , 1980, 17th Design Automation Conference.

[9]  Maurice Hanan,et al.  A review of the placement and quadratic assignment problems , 1972 .

[10]  Jr. James Edward Stevens Fast heuristic techniques for placing and wiring printed circuit boards , 1972 .

[11]  B. Gidas Nonstationary Markov chains and convergence of the annealing algorithm , 1985 .

[12]  Carl Sechen,et al.  VLSI Placement and Global Routing Using Simulated Annealing , 1988 .

[13]  Leon Steinberg,et al.  The Backboard Wiring Problem: A Placement Algorithm , 1961 .

[14]  Bryan Preas,et al.  Automatic Placement A Review of Current Techniques , 1986, 23rd ACM/IEEE Design Automation Conference.

[15]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[16]  Saburo Muroga,et al.  VLSI system design , 1982 .

[17]  C. L. Liu,et al.  MULTIPLE PLA FOLDING BY THE METHOD OF SIMULATED ANNEALING. , 1986 .

[18]  R. Dutton,et al.  An Analytical Algorithm for Placement of Arbitrarily Sized Rectangular Blocks , 1985, DAC 1985.

[19]  D. J. Smith,et al.  A Study of Permutation Crossover Operators on the Traveling Salesman Problem , 1987, ICGA.

[20]  W. G. Magnuson A Comparison Of Constructive Placement Algorithms , 1977 .

[21]  Fumiyasu Hirose,et al.  Efficient Placement and Routing Techniques for Master Slice LSI , 1980, 17th Design Automation Conference.

[22]  Clifford J. Fisk,et al.  “ACCEL” automated circuit card etching layout , 1965, DAC.

[23]  Shi-Kuo Chang,et al.  The Generation of Minimal Trees with a Steiner Topology , 1972, JACM.

[24]  Sungho Kang,et al.  Linear Ordering and Application to Placement , 1983, 20th Design Automation Conference Proceedings.

[25]  Ralph Michael Kling,et al.  Placement by Simulated Evolution , 1987 .

[26]  Hidekazu Terai,et al.  Combine and Top Down Block Placement Algorithm for Hierarchical Logic VLSI Layout , 1984, 21st Design Automation Conference Proceedings.

[27]  R. M. Mattheyses,et al.  A Linear-Time Heuristic for Improving Network Partitions , 1982, 19th Design Automation Conference.

[28]  Jeffrey R. Fox,et al.  Optimization Techniques for Two-Dimensional Placement , 1984, 21st Design Automation Conference Proceedings.

[29]  Hidekazu Terai,et al.  Automatic Placement Algorithms for High Packing density VLSI , 1983, 20th Design Automation Conference Proceedings.

[30]  Jean-Marc Delosme,et al.  Performance of a new annealing schedule , 1988, 25th ACM/IEEE, Design Automation Conference.Proceedings 1988..

[31]  G. Persky,et al.  LTX-A system for the directed automatic design of LSI circuits , 1988, 25 years of DAC.

[32]  Alberto Sangiovanni-Vincentelli,et al.  Automatic Layout of Integrated Circuits , 1987 .

[33]  Ulrich Lauther A Min-Cut Placement Algorithm for General Cell Assemblies Based on a Graph Representation , 1979, 16th Design Automation Conference.

[34]  David E. Goldberg,et al.  AllelesLociand the Traveling Salesman Problem , 1985, ICGA.

[35]  Satoshi Goto,et al.  An efficient algorithm for the two-dimensional placement problem in electrical circuit layout , 1981 .

[36]  Lawrence Davis,et al.  Applying Adaptive Algorithms to Epistatic Domains , 1985, IJCAI.

[37]  N-city traveling salesman problem: Optimization by simulated annealings , 1986 .

[38]  Harold S. Stone,et al.  Placement of Circuit Modules Using a Graph Space Approach , 1983, 20th Design Automation Conference Proceedings.

[39]  Lars V. Ahlfors Classical and Contemporary Analysis , 1961 .

[40]  Sartaj Sahni,et al.  Experiments with Simulated Annealing , 1985, 22nd ACM/IEEE Design Automation Conference.

[41]  David E. Goldberg,et al.  Alleles, loci and the traveling salesman problem , 1985 .

[42]  B. M. Fulk MATH , 1992 .

[43]  Toru Chiba,et al.  A Placement Algorithm for Polycell LSI and its Evaluation , 1982, DAC 1982.

[44]  G. J. Wipfler,et al.  A Combined Force and Cut Algorithm for Hierarchical VLSI Layout , 1982, 19th Design Automation Conference.

[45]  F. Hwang On Steiner Minimal Trees with Rectilinear Distance , 1976 .

[46]  John P. Blanks Near-Optimal Placement Using a Quadratic Objective Function , 1985, 22nd ACM/IEEE Design Automation Conference.

[47]  Sheldon B. Akers On the Use of the Linear Assignment Algorithm in Module Placement , 1981, 18th Design Automation Conference.

[48]  Scott Kirkpatrick,et al.  Global Wiring by Simulated Annealing , 1983, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[49]  Lov K. Grover Standard Cell Placement Using Simulated Sintering , 1987, 24th ACM/IEEE Design Automation Conference.

[50]  Alberto Sangiovanni-Vincentelli,et al.  TimberWolf3.2: A New Standard Cell Placement and Global Routing Package , 1986, DAC 1986.

[51]  Sivanarayana Mallela,et al.  Clustering based simulated annealing for standard cell placement , 1988, 25th ACM/IEEE, Design Automation Conference.Proceedings 1988..

[52]  Alberto L. Sangiovanni-Vincentelli,et al.  A Parallel Simulated Annealing Algorithm for the Placement of Macro-Cells , 1987, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[53]  D. J. A. Welsh SIMULATED ANNEALING: THEORY AND APPLICATIONS , 1989 .

[54]  Bruce E. Hajek,et al.  Cooling Schedules for Optimal Annealing , 1988, Math. Oper. Res..

[55]  Toru Chiba,et al.  A Placement Algorithm for Polycell LSI and its Evaluation , 1982, 19th Design Automation Conference.

[56]  Prithviraj Banerjee,et al.  ESP: A New Standard Cell Placement Package Using Simulated Evolution , 1987, 24th ACM/IEEE Design Automation Conference.

[57]  J. Soukup Circuit layout , 1981, Proceedings of the IEEE.

[58]  Carl Sechen,et al.  IMPROVED SIMULATED ANNEALING ALGORIHM FOR ROW-BASED PLACEMENT. , 1987 .

[59]  Neil R. Quinn The placement problem as viewed from the physics of classical mechanics , 1975, DAC '75.

[60]  Hilbert J. Kappen,et al.  An efficient placement method for large standard-cell and sea-of-gates designs , 1990, Proceedings of the European Design Automation Conference, 1990., EDAC..

[61]  Wolfgang Fichtner,et al.  An Analytic Optimization Technique for Placement of Macro-Cells , 1989, 26th ACM/IEEE Design Automation Conference.

[62]  Robert W. Dutton,et al.  An Analytical Algorithm for Placement of Arbitrarily Sized Rectangular Blocks , 1985, 22nd ACM/IEEE Design Automation Conference.

[63]  Kenneth M. Hall An r-Dimensional Quadratic Placement Algorithm , 1970 .

[64]  Brian W. Kernighan,et al.  A Procedure for Placement of Standard-Cell VLSI Circuits , 1985, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[65]  James P. Cohoon,et al.  Genetic Placement , 1987, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[66]  Chung-Kuan Cheng,et al.  Linear placement algorithms and applications to VLSI design , 1987, Networks.

[67]  Kenneth J. Supowit,et al.  Simulated Annealing Without Rejected Moves , 1986, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[68]  Brian W. Kernighan,et al.  An efficient heuristic procedure for partitioning graphs , 1970, Bell Syst. Tech. J..

[69]  Henrik Esbensen,et al.  A genetic algorithm for macro cell placement , 1992, Proceedings EURO-DAC '92: European Design Automation Conference.

[70]  J. F. Benders Partitioning procedures for solving mixed-variables programming problems , 1962 .

[71]  Michael Palczewski,et al.  Performance of Algorithms for Initial Placement , 1984, 21st Design Automation Conference Proceedings.

[72]  S. Goto,et al.  All approach to the two-dimensional placement problem in circuit layout , 1978 .

[73]  Melvin A. Breuer,et al.  A class of min-cut placement algorithms , 1988, DAC '77.

[74]  Lorretta I. Corrigan A Placement Capability Based on Partitioning , 1979, 16th Design Automation Conference.

[75]  P. K. Wolff,et al.  Some experimental results on placement techniques , 1976, DAC '76.

[76]  N. Quinn,et al.  A forced directed component placement procedure for printed circuit boards , 1979 .

[77]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

[78]  Alberto L. Sangiovanni-Vincentelli,et al.  TimberWolf3.2: A New Standard Cell Placement and Global Routing Package , 1986, 23rd ACM/IEEE Design Automation Conference.

[79]  John P. Blanks Use of a quadratic objective function for the placement problem in vlsi design (eigenvector, cad(computer-aided design, optimization, automation) , 1985 .

[80]  Bryan Thomas Preas Placement and routing algorithms for hierarchical integrated circuit layout , 1979 .

[81]  D. Mitra,et al.  Convergence and finite-time behavior of simulated annealing , 1985, 1985 24th IEEE Conference on Decision and Control.

[82]  Ernest S. Kuh,et al.  Module placement for large chips based on sparse linear equations , 1988 .

[83]  Thomas Lengauer Placement, Assignment, and Floorplanning , 1990 .

[84]  Pinaki Mazumder,et al.  A genetic approach to standard cell placement using meta-genetic parameter optimization , 1990, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[85]  John P. Blanks Initial Placement of Gate Arrays Using Least-Squares Methods , 1984, 21st Design Automation Conference Proceedings.

[86]  G. R. Walsh,et al.  Methods Of Optimization , 1976 .

[87]  J. Kruskal On the shortest spanning subtree of a graph and the traveling salesman problem , 1956 .

[88]  Chung-Kuan Cheng,et al.  Module Placement Based on Resistive Network Optimization , 1984, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[89]  Daniel G. Schweikert A 2-dimensional placement algorithm for the layout of electrical circuits. , 1976, DAC '76.

[90]  Brian W. Kernighan,et al.  A proper model for the partitioning of electrical circuits , 1972, DAC '72.

[91]  Ehl Emile Aarts,et al.  Statistical cooling : a general approach to combinatorial optimization problems , 1985 .

[92]  F. Hwang,et al.  An o(nlogn) algorithm for suboptimal rectilinear steiner trees , 1979 .

[93]  Sartaj Sahni,et al.  Heuristics for the Circuit Realization Problem , 1983, 20th Design Automation Conference Proceedings.