Mighty: a rip-up and reroute detailed router

For the macro-cell design style and for routing problems where the routing regions are irregular, two dimensional routers are often necessary. In this paper a new routing technique that can be applied for general two-layer detailed routing problems including switch boxes, channels and partially routed areas, is presented. The routing regions that can be handled are very general: the boundaries can be described by any rectilinear chains and the pins can be on the boundaries of the region or inside it, the obstructions can be of any shape and size. The technique is based on an algorithm that routes incrementally and intelligently the nets in the routing region and allows modifications and rip-up of nets that may impede the complete routing of other nets. The modification steps (also called weak modification) push some segments of nets already routed to make room for a blocked net. The rip-up and re-route steps (called strong modification), remove segments of nets already routed to make room for a blocked connection and is invoked only if weak modification fails. The algorithm is rigorously proven to complete in finite time and its complexity is analyzed. Many test cases have been run and on all the examples known in the literature the router has performed as well or better than existing algorithms. In particular, the Burstein's difficult switch box example has been routed using one less column than the original data. In addition, the router has routed difficult channels such as Deutsch's in density and has performed better than or as well as YACR-II in all the channels available to us. REFERENCES

[1]  D. Gregory,et al.  SOCRATES: A System for Automatically Synthesizing and Optimizing Combinational Logic , 1986, 23rd ACM/IEEE Design Automation Conference.

[2]  Andrzej J. Strojwas,et al.  Statistical Simulation of the IC Manufacturing Process , 1982, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[3]  Anoop Gupta ACE: A Circuit Extractor , 1983, 20th Design Automation Conference Proceedings.

[4]  R.W. Brodersen,et al.  MOS switched-capacitor filters , 1979, Proceedings of the IEEE.

[5]  P.K. Chatterjee,et al.  An optimal parameter extraction program for MOSFET models , 1983, IEEE Transactions on Electron Devices.

[6]  John K. Ousterhout,et al.  Corner Stitching: A Data-Structuring Technique for VLSI Layout Tools , 1984, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[7]  Alberto Sangiovanni-Vincentelli,et al.  Chameleon: A New Multi-Layer Channel Router , 1986, DAC 1986.

[8]  Kevin Karplus Exclusion constraints: a new application of graph algorithms to VLSI design , 1986 .

[9]  Leendert M. Huisman,et al.  Simulating Pass Transistor Circuits Using Logic Simulation Machines , 1983, 20th Design Automation Conference Proceedings.

[10]  King-Sun Fu,et al.  Syntactic Methods in Pattern Recognition , 1974, IEEE Transactions on Systems, Man, and Cybernetics.

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

[12]  Gary D. Hachtel,et al.  Implication Algorithms for MOS Switch Level Functional Macromodeling, Implication and Testing , 1982, DAC 1982.

[13]  Jean-Pierre Dussault,et al.  A High Level Synthesis Tool for MOS Chip Design , 1984, 21st Design Automation Conference Proceedings.

[14]  S. Vajda,et al.  Probabilistic Programming , 1972 .

[15]  Randal E. Bryant,et al.  A Switch-Level Model and Simulator for MOS Digital Systems , 1984, IEEE Transactions on Computers.

[16]  S. Wimer,et al.  HOPLA - PLA Optinization and Synthesis , 1983, 20th Design Automation Conference Proceedings.

[17]  D.H. Navon,et al.  Boundary conditions in regional Monte Carlo device analysis , 1985, IEEE Transactions on Electron Devices.

[18]  Alberto L. Sangiovanni-Vincentelli,et al.  Relaxation-based electrical simulation , 1983, IEEE Transactions on Electron Devices.

[19]  Rob A. Rutenbar,et al.  A Class of Cellular Architectures to Support Physical Design Automation , 1984, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[20]  Gerald E. Sobelman,et al.  Yet Another Silicon Compiler , 1985, DAC 1985.

[21]  Ernst G. Ulrich Exclusive simulation of activity in digital networks , 1969, CACM.

[22]  T. Blackman,et al.  The Silc™ Silicon Compiler: Language and Features , 1985, 22nd ACM/IEEE Design Automation Conference.

[23]  William E. Donath,et al.  Placement and average interconnection lengths of computer logic , 1979 .

[24]  Charles H. Ng An Industrial World Channel Router for Non-Rectangular Channels , 1986, DAC 1986.

[25]  Peter W. Glynn,et al.  Optimization of stochastic systems , 1986, WSC '86.

[26]  Robert E. Shostak Verification of VLSI Designs , 1983 .

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

[28]  Rob A. Rutenbar,et al.  DATA STRUCTURE PROCESSOR FOR VLSI GEOMETRY CHECKING. , 1986 .

[29]  Hendrikus J. M. Veendrick,et al.  Short-circuit dissipation of static CMOS circuitry and its impact on the design of buffer circuits , 1984 .

[30]  Chak-Kuen Wong,et al.  An algorithm for optimal two-dimensional compaction of VLSI layouts , 1983, Integr..

[31]  M. J. D. Powell,et al.  A fast algorithm for nonlinearly constrained optimization calculations , 1978 .

[32]  Mary Jane Irwin,et al.  A System for Designing, Simulating, and Testing High Performance VLSI Signal Processors , 1986, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

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

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

[35]  James D. Meindl,et al.  Performance limits of CMOS ULSI , 1985 .

[36]  M.T. Fertsch,et al.  A 16 bitx16 bit pipelined multiplier macrocell , 1985, IEEE Journal of Solid-State Circuits.

[37]  D.H. Navon,et al.  Monte Carlo simulation of bipolar transistors , 1984, IEEE Transactions on Electron Devices.

[38]  William R. Heller,et al.  The Planar Package Planner for System Designers , 1982, DAC 1982.

[39]  John A. Newkirk,et al.  A Target Language for Silicon Compilers , 1982, COMPCON.

[40]  S. Onga,et al.  A Three-Dimensional Process Simulator and its Application to Submicron VLSI's , 1985, 1985 Symposium on VLSI Technology. Digest of Technical Papers.

[41]  Uehara,et al.  Optimal Layout of CMOS Functional Arrays , 1981 .

[42]  Kenneth Steiglitz,et al.  Combinatorial Optimization: Algorithms and Complexity , 1981 .

[43]  Takeshi Yoshimura,et al.  Efficient Algorithms for Channel Routing , 1982, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[44]  Thomas Szymanski,et al.  Goalie: A Space Efficient System for VLSI Artwork Analysis , 1985, IEEE Design & Test of Computers.

[45]  Tetsuo Asano,et al.  Routing Region Definition and Ordering Scheme for Building-Block Layout , 1985, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[46]  Costas J. Spanos,et al.  Parameter Extraction for Statistical IC Process Characterization , 1986, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

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

[48]  Chris Kingsley EARL: An Integrated Circuit Design Language , 1982 .

[49]  R. Otten Automatic Floorplan Design , 1982, DAC 1982.

[50]  Charles J. Colbourn,et al.  Steiner trees, partial 2-trees, and minimum IFI networks , 1983, Networks.

[51]  Dave Hightower A solution to line-routing problems on the continuous plane , 1969, DAC '69.

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

[53]  J. Blanks Near-Optimal Placement Using a Quadratic Objective Function , 1985, DAC 1985.

[54]  K. N. Ratnakumar,et al.  Short-channel MOST threshold voltage model , 1982 .

[55]  Chiakang Sung,et al.  A general simulator for VLSI lithography and etching processes: Part II—Application to deposition and etching , 1980, IEEE Transactions on Electron Devices.

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

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

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

[59]  James A. Wilmore Efficient Boolean Operations on IC Masks , 1981, 18th Design Automation Conference.

[60]  Robert W. Dutton,et al.  An approach to solving multiparticle diffusion exhibiting nonlinear stiff coupling , 1985 .

[61]  Akihiro Hashimoto,et al.  Wire routing by optimizing channel assignment within large apertures , 1971, DAC.

[62]  Jean Serra,et al.  Image Analysis and Mathematical Morphology , 1983 .

[63]  C. Rowen,et al.  SWAMI: A Flexible Logic Implementation System , 1985, DAC 1985.

[64]  R. Nair,et al.  Wire-routing machines—New tools for VLSI physical design , 1983, Proceedings of the IEEE.

[65]  A. Jimenez,et al.  Algorithms for ASTAP--A network-analysis program , 1973 .

[66]  E. F. Codd,et al.  Relational database: a practical foundation for productivity , 1982, CACM.

[67]  Gregory Francis Pfister,et al.  The Yorktown Simulation Engine: Introduction , 1982, DAC 1982.

[68]  François Bourgeois,et al.  An extension of the Munkres algorithm for the assignment problem to rectangular matrices , 1971, CACM.

[69]  W.A.M. Van Noije,et al.  Advanced CMOS gate array architecture combining `gate isolation' and programmable routing channels , 1985, IEEE Journal of Solid-State Circuits.

[70]  L. V. Corbin Custom VLSI Electrical Rule Checking in an Intelligent Terminal , 1981, 18th Design Automation Conference.

[71]  Dave Johannsen,et al.  Bristle Blocks: A Silicon Compiler , 1979, 16th Design Automation Conference.

[72]  Frederick Hayes-Roth,et al.  Building expert systems , 1983, Advanced book program.

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

[74]  A. J. Currie,et al.  SCHOLAR - Another Approach to Silicon Compilation , 1984 .

[75]  Franco P. Preparata,et al.  Plane-sweep algorithms for intersecting geometric figures , 1982, CACM.

[76]  David Lewis A Hardware Engine for Analogue Mode Simulation of MOS Digital Circuits , 1985, DAC 1985.

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

[78]  Krzysztof Kozminski,et al.  An Algorithm for Finding a Rectangular Dual of a Planar Graph for Use in Area Planning for VLSI Integrated Circuits , 1984, 21st Design Automation Conference Proceedings.

[79]  Trevor Mudge,et al.  Cellular Image Processing Techniques for VLSI Circuit Layout Validation and Routing , 1982, DAC 1982.

[80]  Donald Geman,et al.  Stochastic Relaxation, Gibbs Distributions, and the Bayesian Restoration of Images , 1984, IEEE Transactions on Pattern Analysis and Machine Intelligence.

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

[82]  Larry Seiler A Hardware Assisted Design Rule Check Architecture , 1982, DAC 1982.

[83]  Tom Blank,et al.  A Survey of Hardware Accelerators Used in Computer-Aided Design , 1984, IEEE Design & Test of Computers.

[84]  Knut M. Just,et al.  On the Relative Placement and the Transportation Problem for Standard-Cell Layout , 1986, DAC 1986.

[85]  Donald T. Tang,et al.  Hierarchical Global Wiring for Custom Chip Design , 1986, DAC 1986.

[86]  Donald M. Schuler,et al.  An efficient method of fault simulation for digital circuits modeled from boolean gates and memories , 1977, DAC '77.

[87]  Yun Kang Chen,et al.  Three-Layer Channel Routing , 1984, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[88]  Harry G. Barrow Proving the Correctness of Digital Hardware Designs , 1983, AAAI.

[89]  L. Borucki,et al.  FEDSS: a 2D semiconductor fabrication process simulator , 1985 .

[90]  Andrzej J. Strojwas,et al.  A Pattern Recognition Based Method for IC Failure Analysis , 1985, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[91]  A. Neureuther,et al.  A general simulator for VLSI lithography and etching processes: Part I—Application to projection lithography , 1979, IEEE Transactions on Electron Devices.

[92]  John K. Ousterhout Switch-Level Delay Models for Digital MOS VLSI , 1984, 21st Design Automation Conference Proceedings.

[93]  Yen-Tai Lai,et al.  An Algorithm for Building Rectangular Floor-Plans , 1984, 21st Design Automation Conference Proceedings.

[94]  Daeje Chin,et al.  A general solution method for two-dimensional nonplanar oxidation , 1983, IEEE Transactions on Electron Devices.

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

[96]  Rui Wang,et al.  Gate Matrix Layout , 1985, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[97]  Stefano Levialdi,et al.  Computer Architectures for Pictorial Information Systems , 1981, Computer.

[98]  Neil Weste Virtual grid symbolic layout , 1981, DAC '81.

[99]  Donald E. Thomas,et al.  Synthesis by Delayed Binding of Decisions , 1985, DAC 1985.

[100]  Michael May,et al.  Placement and routing for logic schematics , 1983 .

[101]  J. Roth Algebraic topological methods for the synthesis of switching systems. I , 1958 .

[102]  S. Levialdi,et al.  Basics of cellular logic with some applications in medical image processing , 1979, Proceedings of the IEEE.

[103]  Basant R. Chawla,et al.  Motis - an mos timing simulator , 1975 .

[104]  Tetsuya Iizuka,et al.  Hot-carrier suppressed VLSI with submicron geometry , 1985, 1985 IEEE International Solid-State Circuits Conference. Digest of Technical Papers.

[105]  Robert K. Brayton,et al.  Logic Minimization Algorithms for VLSI Synthesis , 1984, The Kluwer International Series in Engineering and Computer Science.

[106]  Christopher J. Terman Simulation tools for digital LSI design , 1983 .

[107]  Yasunori Dohi,et al.  Design of the PSC: a programmable systolic chip , 1983 .

[108]  W. Feller,et al.  An Introduction to Probability Theory and its Applications. Vol. 1, 2nd Edition , 1959 .

[109]  James A. Wilmore A Hierarchical Bit-Map Format for the Representation of IC Mask Data , 1980, 17th Design Automation Conference.

[110]  Jon Louis Bentley,et al.  Multidimensional binary search trees used for associative searching , 1975, CACM.

[111]  Y.W. Sing,et al.  Modeling and VLSI design constraints of substrate current , 1980, 1980 International Electron Devices Meeting.

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

[113]  Ulrich Lauther An O (N log N) Algorithm for Boolean Mask Operations , 1981, 18th Design Automation Conference.

[114]  Howard R. Charney,et al.  Efficient partitioning of components , 1968, DAC.

[115]  D. J. Allerton,et al.  Functional Simulation as an Adjunct to Silicon Compilation , 1984 .

[116]  G. Mazare,et al.  A Design Methodology based upon Symbolic Layout and Integrated CAD Tools , 1982, DAC 1982.

[117]  Dimitri A. Antoniadis,et al.  Oxidation‐Induced Point Defects in Silicon , 1982 .

[118]  N. Hashizume,et al.  Principles of operation of short-channel gallium arsenide field-effect transistor determined by Monte Carlo method , 1984, IEEE Transactions on Electron Devices.

[119]  Ih-Chin Chen,et al.  Electrical breakdown in thin gate and tunneling oxides , 1985 .

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

[121]  Henry S. Baird Fast algorithms for LSI artwork analysis , 1977, DAC '77.

[122]  W. Donath Wire length distribution for placements of computer logic , 1981 .

[123]  J R Burns,et al.  SWITCHING RESPONSE OF COMPLEMENTARY SYMMETRY MOS TRANSISTOR LOGIC CIRCUITS , 1964 .

[124]  R.W. Dutton,et al.  VLSI Process modeling—SUPREM III , 1983, IEEE Transactions on Electron Devices.

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

[126]  Randy H. Katz A Database Approach for Managing VLSI Design Data , 1982, DAC 1982.

[127]  Abbas El Gamal,et al.  Two-dimensional stochastic model for interconnections in master-slice integrated circuits , 1981 .

[128]  P. W. Kollaritsch,et al.  TOPOLOGIZER: An Expert System Translator of Transistor Connectivity to Symbolic Cell Layout , 1984, ESSCIRC '84: Tenth European Solid-State Circuits Conference.

[129]  George S. Taylor,et al.  Magic's Incremental Design-Rule Checker , 1984, 21st Design Automation Conference Proceedings.

[130]  William J. Dally The MOSSIM Simulation Engine Architecture and Design , 1984 .

[131]  Sartaj Sahni,et al.  A Systolic Design Rule Checker , 1984, DAC 1984.

[132]  K. Doganis,et al.  Optimized Extraction of MOS Model Parameters , 1982, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[133]  Allen L. Brown,et al.  Qualitative Knowledge, Causal Reasoning, and the Localization of Failures , 1976 .

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

[135]  B. Penumalli,et al.  A comprehensive two-dimensional VLSI process simulation program, BICEPS , 1983, IEEE Transactions on Electron Devices.

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

[137]  Jon Louis Bentley,et al.  Data Structures for Range Searching , 1979, CSUR.

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

[139]  Michael Feuer Connectivity of Random Logic , 1982, IEEE Transactions on Computers.

[140]  Aart J. de Geus Logic Synthesis and Optimization Benchmarks for the 1986 Design Automation Conference , 1986, DAC 1986.

[141]  A. Lopez,et al.  A dense gate matrix layout style for MOS LSI , 1980, 1980 IEEE International Solid-State Circuits Conference. Digest of Technical Papers.

[142]  Koji Sato,et al.  MGX: An Integrated Symbolic Layout System for VLSI , 1984, 21st Design Automation Conference Proceedings.

[143]  Lance A Glasser,et al.  RELIC: A Reliability Simulator for Integrated Circuits, , 1987 .

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

[145]  D. Brand,et al.  Technology Adaptation in Logic Synthesis , 1986, 23rd ACM/IEEE Design Automation Conference.

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

[147]  W. Sansen,et al.  A synthesis program for operation amplifiers , 1984, 1984 IEEE International Solid-State Circuits Conference. Digest of Technical Papers.

[148]  Tsutomu Sasao MACDAS: Multi-level AND-OR Circuit Synthesis Using Two-Variable Function Generators , 1986, DAC 1986.

[149]  A. J. Currie,et al.  A VLSI Design Language Incorporating Self-timed Concurrent Processes , 1984 .

[150]  Neil W. Bergmann,et al.  A Case Study of the F.I.R.S.T. Silicon Compiler , 1983 .

[151]  Nobuhiko Koike,et al.  HAL; A Block Level Hardware Logic Simulator , 1983, 20th Design Automation Conference Proceedings.

[152]  Gerald E. Sobelman,et al.  A Data Base Driven Automated System for MOS Device Characterization, Parameter Optimization and Modeling , 1984, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[153]  H. G. Adshead Towards VLSI complexity: The DA algorithm scaling problem: can special DA hardware help? , 1982, DAC 1982.

[154]  P. Senn,et al.  A New Algorithm for Third Generation Circuit Simulators: The One-Step Relaxation Method , 1985, DAC 1985.

[155]  Gerald Jay Sussman,et al.  Propagation of constraints applied to circuit synthesis , 1980 .

[156]  Randal E. Bryant,et al.  Symbolic Verification of MOS Circuits , 1985 .

[157]  Christopher J. Van Wyk,et al.  Space Efficient Algorithms for VLSI Artwork Analysis , 1983, 20th Design Automation Conference Proceedings.

[158]  D. Mitra,et al.  Convergence and finite-time behavior of simulated annealing , 1986, Advances in Applied Probability.

[159]  David Avis,et al.  A survey of heuristics for the weighted matching problem , 1983, Networks.

[160]  J. Munkres ALGORITHMS FOR THE ASSIGNMENT AND TRANSIORTATION tROBLEMS* , 1957 .

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

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

[163]  Alice C. Parker,et al.  Stochastic Models for Wireability Analysis of Gate Arrays , 1986, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.