VLSI Placement and Routing: The PI Project

This book provides a superb introduction to and overview of the MIT PI System for custom VLSI placement and routing. Alan Sher man has done an excellent job of collecting and clearly presenting material that was previously available only in various theses, confer ence papers, and memoranda. He has provided here a balanced and comprehensive presentation of the key ideas and techniques used in PI, discussing part of his own Ph. D. work (primarily on the place ment problem) in the context of the overall design of PI and the contributions of the many other PI team members. I began the PI Project in 1981 after learning first-hand how dif ficult it is to manually place modules and route interconnections in a custom VLSI chip. In 1980 Adi Shamir, Leonard Adleman, and I designed a custom VLSI chip for performing RSA encryp tion/decryption [226]. I became fascinated with the combinatorial and algorithmic questions arising in placement and routing, and be gan active research in these areas. The PI Project was started in the belief that many of the most interesting research issues would arise during an actual implementation effort, and secondarily in the hope that a practically useful tool might result. The belief was well-founded, but I had underestimated the difficulty of building a large easily-used software tool for a complex domain; the PI soft ware should be considered as a prototype implementation validating the design choices made."

[1]  Alberto Sangiovanni-Vincentelli,et al.  THUNDERBIRD: A COMPLETE STANDARD CELL LAYOUT SYSTEM. , 1986 .

[2]  David S. Johnson,et al.  The NP-Completeness Column: An Ongoing Guide , 1982, J. Algorithms.

[3]  Dieter A. Mlynski,et al.  Computation of Power Supply Nets in VLSI Layout , 1981, 18th Design Automation Conference.

[4]  Alfred E. Dunlop SLIP: symbolic layout of integrated circuits with compaction , 1978 .

[5]  Joseph Y.-T. Leung,et al.  An Optimal Solution for the Channel-Assignment Problem , 1979, IEEE Transactions on Computers.

[6]  Franco P. Preparata,et al.  Three layers are enough , 1982, 23rd Annual Symposium on Foundations of Computer Science (sfcs 1982).

[7]  Kenneth J. Supowit,et al.  Placement Algorithms for Custom VLSI , 1983, 20th Design Automation Conference Proceedings.

[8]  Robert E. Tarjan,et al.  Efficient Planarity Testing , 1974, JACM.

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

[10]  D. F. Wong,et al.  Simulated Annealing for VLSI Design , 1988 .

[11]  Michael L. Bushnell,et al.  Design Automation: Automated Full-Custom VLSI Layout Using the ULYSSES Design Environment , 1988 .

[12]  John P. Gray Introduction to Silicon Compilation , 1979, 16th Design Automation Conference.

[13]  Paul M. B. Vitányi Area penalty for sublinear signal propagation delay on chip , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[14]  Rob A. Rutenbar,et al.  Placement by Simulated Annealing on a Multiprocessor , 1987, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[15]  Alfred V. Aho,et al.  Rectilinear steiner trees: Efficient special-case algorithms , 1977, Networks.

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

[17]  Stephen A. Cook,et al.  The complexity of theorem-proving procedures , 1971, STOC.

[18]  Frank Harary,et al.  Graph Theory , 2016 .

[19]  Brian W. Kernighan,et al.  PLACEMENT PROCEDURE FOR POLYCELL VLSI CIRCUITS. , 1983 .

[20]  Gérard M. Baudet On the Area Required by VLSI Circuits , 1981 .

[21]  Jacob Katzenelson Introduction to enhanced C (EC) , 1983, Softw. Pract. Exp..

[22]  Charles E. Leiserson,et al.  Area-Efficient Graph Layouts (for VLSI) , 1980, FOCS.

[23]  David N. Deutsch,et al.  A “DOGLEG” channel router , 1976, DAC '76.

[24]  Robert Alan Eustace Intra region routing , 1986 .

[25]  L. Goddard,et al.  Operations Research (OR) , 2007 .

[26]  Anderew S. Moulton Laying the Power and Ground Wires on a VLSI Chip , 1983, 20th Design Automation Conference Proceedings.

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

[28]  A. S. LaPaugh,et al.  ALGORITHMS FOR INTEGRATED CIRCUIT LAYOUT: AN ANALYTIC APPROACH , 1980 .

[29]  Catherine A. Schevon,et al.  Optimization by simulated annealing: An experimental evaluation , 1984 .

[30]  Jean Vuillemin,et al.  A Combinatorial Limit to the Computing Power of VLSI Circuits , 1983, IEEE Transactions on Computers.

[31]  David Gries Programming Methodology: A Collection of Articles by Members of IFIP WG 2.3 , 1978 .

[32]  Michael Burstein,et al.  Hierarchical Wire Routing , 1983, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[33]  R. Rivest,et al.  New Lower Bounds for Channel Width , 1981 .

[34]  Jeffrey D Ullma Computational Aspects of VLSI , 1984 .

[35]  Alberto Sangiovanni-Vincentelli,et al.  Design systems for VLSI circuits : logic synthesis and silicon compilation , 1987 .

[36]  Cecilia R. Aragon,et al.  Optimization by Simulated Annealing: An Experimental Evaluation; Part I, Graph Partitioning , 1989, Oper. Res..

[37]  Henry Minsky,et al.  Symbolics ivory processor: a 40 bit tagged architecture lisp microprocessor. , 1987 .

[38]  Ernest E. Hollis,et al.  Design Of VLSI Gate Array Ics , 1987 .

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

[40]  Alan T. Sherman,et al.  Cryptology and VLSI ( a two-part dissertation ) , 1987 .

[41]  Gary L. Miller,et al.  Provably Good Channel Routing Algorithms , 1981 .

[42]  Thomas W. Reps,et al.  The Synthesizer Generator Reference Manual , 1989, Texts and Monographs in Computer Science.

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

[44]  T. N. Bui ON BISECTING RANDOM GRAPHS , 1983 .

[45]  Charles E. Leiserson,et al.  A Mixed-Integer Linear Programming Problem which is Efficiently Solvable , 1988, J. Algorithms.

[46]  Fred P. Brooks,et al.  The Mythical Man-Month , 1975, Reliable Software.

[47]  Whitfield Diffie,et al.  New Directions in Cryptography , 1976, IEEE Trans. Inf. Theory.

[48]  Daniel P. Siewiorek,et al.  WEAVER: A Knowledge-Based Routing Expert , 1985, IEEE Design & Test of Computers.

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

[50]  Robert B. Hitchcock Cellular wiring and the cellular modeling technique , 1969, DAC '69.

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

[52]  H. T. Kung,et al.  Systolic Arrays for (VLSI). , 1978 .

[53]  Leonidas J. Guibas,et al.  Primitives for the manipulation of general subdivisions and the computation of Voronoi diagrams , 1983, STOC.

[54]  Daniel W. Dobberpuhl,et al.  The design and analysis of VLSI circuits , 1985 .

[55]  Derick Wood,et al.  An Optimal Worst Case Algorithm for Reporting Intersections of Rectangles , 1980, IEEE Transactions on Computers.

[56]  David S. Johnson,et al.  The Rectilinear Steiner Tree Problem is NP Complete , 1977, SIAM Journal of Applied Mathematics.

[57]  Brian Randell,et al.  The origins of digital computers: Selected papers , 1975 .

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

[59]  E. V. Krishnamurthy,et al.  Methods and Applications of Error-Free Computation , 1984, Texts and Monographs in Computer Science.

[60]  Charles E. Leiserson,et al.  Optimal Placement for River Routing , 1983, SIAM J. Comput..

[61]  Richard Cole,et al.  On information flow and sorting : New upper and lower bounds for VLSI circuits , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[62]  C G Clark,et al.  Schema: An Architecture for Knowledge Based CAD, , 1985 .

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

[64]  F. Miller Maley,et al.  Single-layer wire routing , 1987 .

[65]  M.E. Hellman,et al.  Privacy and authentication: An introduction to cryptography , 1979, Proceedings of the IEEE.

[66]  Michael Burstein,et al.  Hierarchical Channel Router , 1983, 20th Design Automation Conference Proceedings.

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

[68]  A. Richard Newton,et al.  KIC2: A Low-Cost, Interactive Editor for Integrated Circuit Design , 1982, COMPCON.

[69]  C.F. Fey,et al.  A techno-economic assessment of application-specific integrated circuits: Current status and future trends , 1987, Proceedings of the IEEE.

[70]  Thomas Lengauer,et al.  The complexity of compacting hierarchically specified layouts of integrated circuits , 1982, 23rd Annual Symposium on Foundations of Computer Science (sfcs 1982).

[71]  F. Miller Maley An Observation Concerning Constraint-Based Compaction , 1987, Inf. Process. Lett..

[72]  John K. Ousterhout,et al.  Caesar: An Interactive Editor for VLSI Layout , 1982, COMPCON.

[73]  Harold W. Carter Computer-Aided Design of Integrated Circuits , 1986, Computer.

[74]  F. M. Maley COMPACTION WITH AUTOMATIC JOG INTRODUCTION , 1986 .

[75]  Franco P. Preparata,et al.  A Critique and an Appraisal of VLSI Models of Computation. , 1981 .

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

[77]  Victor O. K. Li,et al.  Finding minimum rectilinear distance paths in the presence of barriers , 1981, Networks.

[78]  Ron Y. Pinter,et al.  An algorithm for the optimal placement and routing of a circuit within a ring of pads , 1983, 24th Annual Symposium on Foundations of Computer Science (sfcs 1983).

[79]  Alan Siegel,et al.  Optimal wiring between rectangles , 1981, STOC '81.

[80]  András Frank,et al.  Disjoint paths in a rectilinear grid , 1982, Comb..

[81]  Kamran Eshraghian,et al.  Principles of CMOS VLSI Design: A Systems Perspective , 1985 .

[82]  Harold Abelson,et al.  Information transfer and area-time tradeoffs for VLSI multiplication , 1980, CACM.

[83]  W. M. VanCleemput,et al.  Computer aided design of digital systems : a bibliography , 1976 .

[84]  Alok Aggarwal,et al.  Multi-layer grid embeddings , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[85]  R. Tarjan,et al.  A Separator Theorem for Planar Graphs , 1977 .

[86]  Lars-Ake Levin,et al.  Problems of Information Transmission , 1973 .

[87]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[88]  R. Y. Pinter,et al.  THE IMPACT OF LAYER ASSIGNMENT METHODS ON LAYOUT ALGORITHM FOR INTEGRATED CIRCUITS , 1983 .

[89]  Prithviraj Banerjee,et al.  An improved simulated annealing algorithm for standard cell placement , 1988 .

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

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

[92]  Roland L. Mattison A high quality, low cost router for MOS/LSI , 1972, DAC '72.

[93]  R.L. Rivest,et al.  A "Greedy" Channel Router , 1982, 19th Design Automation Conference.

[94]  A. Sangiovanni-Vincentelli,et al.  The TimberWolf placement and routing package , 1985, IEEE Journal of Solid-State Circuits.

[95]  Charles E. Leiserson,et al.  Area-Efficient VLSI Computation , 1983 .

[96]  Peter B. Denyer,et al.  Silicon Compilation , 1986, ESSCIRC '86: Twelfth European Solid-State Circuits Conference.

[97]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[98]  Thomas Ottmann,et al.  The Complexity of Manipulating Hierarchically Defined Sets of Rectangles , 1981, MFCS.

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

[100]  E.E. Swartzlander The origins of digital computers: Selected papers, 2nd edition , 1977, Proceedings of the IEEE.

[101]  Frank Thomson Leighton,et al.  Wafer-scale integration of systolic arrays , 1982, 23rd Annual Symposium on Foundations of Computer Science (sfcs 1982).

[102]  L. Lovász Combinatorial problems and exercises , 1979 .

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

[104]  Richard M. Karp,et al.  Reducibility among combinatorial problems" in complexity of computer computations , 1972 .

[105]  Charles E. Leiserson,et al.  Algorithms for routing and testing routability of planar VLSI layouts , 1985, STOC '85.

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

[107]  F. Harary,et al.  The theory of graphs and its applications , 1963 .

[108]  M. Y. Hsueh,et al.  Symbolic layout and compaction of integrated circuits , 1980 .

[109]  Alan Siegel,et al.  Some Geometry for General River Routing , 1988, SIAM J. Comput..

[110]  Thomas Lengauer Efficient Algorithms for the Constraint Generation for Integrated Circuit Layout Compaction , 1983, WG.

[111]  Gernot Minke,et al.  Survey of works , 1972 .

[112]  Hiroyuki Watanabe,et al.  Optimization Techniques for IC Layout and Compaction , 1982 .

[113]  P.P.G. Kramer,et al.  Wire routing in NP-complete , 1982 .

[114]  Walter S. Scott,et al.  A Collection of Papers on Magic , 1983 .

[115]  John K. Ousterhout,et al.  A Switchbox Router with Obstacle Avoidance , 1984, 21st Design Automation Conference Proceedings.

[116]  Walter S. Scott,et al.  Magic: A VLSI Layout System , 1984, 21st Design Automation Conference Proceedings.

[117]  Martin Tompa An Optimal Solution to a Wire-Routing Problem , 1981, J. Comput. Syst. Sci..

[118]  Thomas Lengauer,et al.  On the Solution of Inequality Systems Relevant to IC-Layout , 1984, J. Algorithms.

[119]  A. Kolmogorov Three approaches to the quantitative definition of information , 1968 .

[120]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[121]  Leslie G. Valiant,et al.  Universality considerations in VLSI circuits , 1981, IEEE Transactions on Computers.

[122]  Takahiro Watanabe,et al.  FLOOR-PLAN DESIGN SYSTEM FOR LSI LAYOUT. , 1985 .

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

[124]  Harold S. Stone,et al.  Parallel Processing with the Perfect Shuffle , 1971, IEEE Transactions on Computers.

[125]  Melvin A. Breuer,et al.  On Routing for Custom Integrated Circuits , 1982, 19th Design Automation Conference.

[126]  C. Goldie,et al.  Optimization Techniques , 1971, Nature.

[127]  Lynn Conway,et al.  Introduction to VLSI systems , 1978 .

[128]  Walter S. Scott,et al.  Plowing: Interactive Stretching and Compaction in Magic , 1984, 21st Design Automation Conference Proceedings.

[129]  Sandeep N. Bhatt The Complexity of Graph Layout and Channel Routing for VLSI. , 1984 .

[130]  Charles E. Leiserson,et al.  A Space-Efficient Algorithm for Finding the Connected Components of Rectangles in the Plane. , 1987 .

[131]  Charles E. Leiserson,et al.  Fat-trees: Universal networks for hardware-efficient supercomputing , 1985, IEEE Transactions on Computers.

[132]  Martin Tompa An optimal solution to a wire-routing problem (preliminary version) , 1980, STOC '80.

[133]  H. T. Kung,et al.  A Regular Layout for Parallel Adders , 1982, IEEE Transactions on Computers.

[134]  Frank Thomson Leighton,et al.  A Framework for Solving VLSI Graph Layout Problems , 1983, J. Comput. Syst. Sci..

[135]  David Pager On the Efficiency of Algorithms , 1970, JACM.

[136]  Frank Thomson Leighton,et al.  An approximation algorithm for manhattan routing , 1983, STOC '83.

[137]  Adi Shamir,et al.  On Digital Signatures and Public-Key Cryptosystems. , 1977 .

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

[139]  Ronald L. Rivest,et al.  A Short Report on the RSA Chip , 1982, CRYPTO.

[140]  Michael A. Arbib,et al.  The Design of Well-Structured and Correct Programs , 1978, Texts and Monographs in Computer Science.

[141]  James Joseph Koschella A placement/interconnect channel router : cutting your PI into slices , 1981 .

[142]  B. A. Dalio DECO: a hierarchical device compilation system , 1987 .

[143]  F. Frances Yao,et al.  Efficient dynamic programming using quadrangle inequalities , 1980, STOC '80.

[144]  Leonid A. Levin Problems, complete in “average” instance , 1984, STOC '84.

[145]  A. Hashimoto,et al.  Wire routing by optimizing channel assignment within large apertures , 1971, DAC '71.

[146]  Bryan Preas,et al.  Placement Algorithms for Arbitrarily Shaped Blocks , 1979, 16th Design Automation Conference.

[147]  Chee-Seng Chow Phoenix : an interactive hierarchical topological floorplanning placer , 1985 .

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

[149]  Frank Thomson Leighton A layout strategy for VLSI which is provably good (Extended Abstract) , 1982, STOC '82.