ALGORITHMS FOR VLSI PHYSICAL DESIGN AUTOMATION THIRD EDITION

3y ago
115 Views
16 Downloads
302.60 KB
26 Pages
Last View : 7d ago
Last Download : 7d ago
Upload by : Dani Mulvey
Transcription

ALGORITHMS FOR VLSIPHYSICAL DESIGN AUTOMATIONTHIRD EDITION

ALGORITHMS FOR VLSIPHYSICAL DESIGN AUTOMATIONTHIRD EDITIONNaveed A. SherwaniIntel Corporation.KLUWER ACADEMIC PUBLISHERSNEW YORK, BOSTON, DORDRECHT, LONDON, MOSCOW

eBook ISBN:Print ISBN:0-306-47509-X0-7923-8393-1 2002 Kluwer Academic PublishersNew York, Boston, Dordrecht, London, MoscowPrint 1999 Kluwer Academic PublishersDordrechtAll rights reservedNo part of this eBook may be reproduced or transmitted in any form or by any means, electronic,mechanical, recording, or otherwise, without written consent from the PublisherCreated in the United States of AmericaVisit Kluwer Online at:and Kluwer's eBookstore ne.com

To my parentsAkhter and Akram Sherwani

i1 VLSI Physical Design Automation1.1 VLSI Design Cycle1.2 New Trends in VLSI Design Cycle1.3 Physical Design Cycle1.4 New Trends in Physical Design Cycle1.5 Design Styles1.5.1 Full-Custom1.5.2 Standard Cell1.5.3 Gate Arrays1.5.4 Field Programmable Gate Arrays1.5.5 Sea of Gates1.5.6 Comparison of Different Design Styles1.6 System Packaging Styles1.6.1 Die Packaging and Attachment Styles1.6.1.1 Die Package Styles1.6.1.2 Package and Die Attachment Styles1.6.2 Printed Circuit Boards1.6.3 Multichip Modules1.6.4 Wafer Scale Integration1.6.5 Comparison of Different Packaging Styles1.7 Historical Perspectives1.8 Existing Design Tools1.9 Summary1379131517182022252526262627272931313233352 Design and Fabrication of VLSI Devices2.1 Fabrication Materials2.2 Transistor Fundamentals2.2.1 Basic Semiconductor Junction2.2.2 TTL Transistors3940434345

viiiContents2.2.3 MOS Transistors2.3 Fabrication of VLSI Circuits2.3.1 nMOS Fabrication Process2.3.2 CMOS Fabrication Process2.3.3 Details of Fabrication Processes2.4 Design Rules2.5 Layout of Basic Devices2.5.1 Inverters2.5.2 NAND and NOR Gates2.5.3 Memory Cells2.5.3.1 Static Random Access Memory (SRAM)2.5.3.2 Dynamic Random Access Memory (DRAM)2.6 Summary2.7 Exercises3 Fabrication Process and its Impact on Physical Design3.1 Scaling Methods3.2 Status of Fabrication Process3.2.1 Comparison of Fabrication Processes3.3 Issues related to the Fabrication Process3.3.1 Parasitic Effects3.3.2 Interconnect Delay3.3.3 Noise and Crosstalk3.3.4 Interconnect Size and Complexity3.3.5 Other Issues in Interconnect3.3.6 Power Dissipation3.3.7 Yield and Fabrication Costs3.4 Future of Fabrication Process3.4.1 SIA Roadmap3.4.2 Advances in Lithography3.4.3 Innovations in Interconnect3.4.3.1 More Layers of Metal3.4.3.2 Local Interconnect3.4.3.3 Copper Interconnect3.4.3.4 Unlanded Vias3.4.4 Innovations/Issues in Devices3.4.5 Aggressive Projections for the Process3.4.6 Other Process Innovations3.4.6.1 Silicon On Insulator3.4.6.2 Silicon Germaniun3.5 Solutions for Interconnect Issues3.6 Tools for Process Development3.7 Summary3.8 081828282838585868787878788888990909091939494

Contents4 Data Structures and Basic Algorithms4.1 Basic Terminology4.2 Complexity Issues and NP-hardness4.2.1 Algorithms for NP-hard Problems4.2.1.1 Exponential Algorithms4.2.1.2 Special Case Algorithms4.2.1.3 Approximation Algorithms4.2.1.4 Heuristic Algorithms4.3 Basic Algorithms4.3.1 Graph Algorithms4.3.1.1 Graph Search Algorithms4.3.1.2 Spanning Tree Algorithms4.3.1.3 Shortest Path Algorithms4.3.1.4 Matching Algorithms4.3.1.5 Min-Cut and Max-Cut Algorithms4.3.1.6 Steiner Tree Algorithms4.3.2 Computational Geometry Algorithms4.3.2.1 Line Sweep Method4.3.2.2 Extended Line Sweep Method4.4 Basic Data Structures4.4.1 Atomic Operations for Layout Editors4.4.2 Linked List of Blocks4.4.3 Bin-Based Method4.4.4 Neighbor Pointers4.4.5 Corner Stitching4.4.6 Multi-layer Operations4.4.7 Limitations of Existing Data Structures4.4.8 Layout Specification Languages4.5 Graph Algorithms for Physical design4.5.1 Classes of Graphs in Physical Design4.5.1.1 Graphs Related to a Set of Lines4.5.1.2 Graphs Related to Set of Rectangles4.5.2 Relationship Between Graph Classes4.5.3 Graph Problems in Physical Design4.5.4 Algorithms for Interval Graphs4.5.4.1 Maximum Independent Set4.5.4.2 Maximum Clique and Minimum Coloring4.5.5 Algorithms for Permutation Graphs4.5.5.1 Maximum Independent Set4.5.5.2 Maximum -Independent Set4.5.6 Algorithms for Circle Graphs4.5.6.1 Maximum Independent Set4.5.6.2 Maximum -Independent Set4.5.6.3 Maximum Clique4.6 Summary4.7 36138138140142142143144144146148148149151151152

Contentsx5Partitioning5.1 Problem Formulation5.1.1 Design Style Specific Partitioning Problems5.2 Classification of Partitioning Algorithms5.3 Group Migration Algorithms5.3.1 Kernighan-Lin Algorithm5.3.2 Extensions of Kernighan-Lin Algorithm5.3.2.1 Fiduccia-Mattheyses Algorithm5.3.2.2 Goldberg and Burstein Algorithm5.3.2.3 Component Replication5.3.2.4 Ratio Cut5.4 Simulated Annealing and Evolution5.4.1 Simulated Annealing5.4.2 Simulated Evolution5.5 Other Partitioning Algorithms5.5.1 Metric Allocation Method5.6 Performance Driven Partitioning5.7 Summary5.8 Exercises6 Floorplanning and Pin Assignment6.1 Floorplanning6.1.1 Problem Formulation6.1.1.1 Design Style Specific Floorplanning Problems6.1.2 Classification of Floorplanning Algorithms6.1.3 Constraint Based Floorplanning6.1.4 Integer Programming Based Floorplanning6.1.5 Rectangular Dualization6.1.6 Hierarchical Tree Based Methods6.1.7 Floorplanning Algorithms for Mixed Block and Cell Designs6.1.8 Simulated Evolution Algorithms6.1.9 Timing Driven Floorplanning6.1.10 Theoretical advancements in Floorplanning6.1.11 Recent Trends6.2 Chip planning6.2.1 Problem Formulation6.3 Pin Assignment6.3.1 Problem Formulation6.3.1.1 Design Style Specific Pin Assignment Problems6.3.2 Classification of Pin Assignment Algorithms6.3.3 General Pin Assignment6.3.4 Channel Pin Assignment6.4 Integrated Approach6.5 Summary6.6 04205206207207207208208209210211214217217

Contents7 Placement7.1 Problem Formulation7.1.1 Design Style Specific Placement Problems7.2 Classification of Placement Algorithms7.3 Simulation Based Placement Algorithms7.3.1 Simulated Annealing7.3.2 Simulated Evolution7.3.3 Force Directed Placement7.3.4 Sequence-Pair Technique7.3.5 Comparison of Simulation Based AlgorithmsPartitioning Based Placement Algorithms7.4.1 Breuer’s Algorithm7.4.2 Terminal Propagation Algorithm7.5 Other Placement Algorithms7.5.1 Cluster Growth7.5.2 Quadratic Assignment7.5.3 Resistive Network Optimization7.5.4 Branch-and-Bound Technique7.6 Performance Driven Placement7.7 Recent Trends7.8 Summary7.9 Exercises7.48 Global Routing8.1 Problem Formulation8.1.1 Design Style Specific Global Routing Problems8.2 Classification of Global RoutingAlgorithms8.3 Maze Routing Algorithms8.3.1 Lee’s Algorithm8.3.2 Soukup’s Algorithm8.3.3 Hadlock’s Algorithm8.3.4 Comparison of Maze Routing Algorithms8.4 Line-Probe Algorithms8.5 Shortest Path Based Algorithms8.6 Steiner Tree based Algorithms8.6.1 Separability Based Algorithm8.6.2 Non-Rectilinear Steiner Tree Based Algorithm8.6.3 Steiner Min-Max Tree based Algorithm8.6.4 Weighted Steiner Tree based Algorithm8.7 Integer Programming Based Approach8.7.1 Hierarchical Approach8.8 Performance Driven Routing8.9 Summary8.10 3264267269272273274277279281282282286287288

xiiContents9 Detailed Routing9.1 Problem Formulation9.1.1 Routing Considerations9.1.2 Routing Models9.1.3 Channel Routing Problems9.1.4 Switchbox Routing Problems9.1.5 Design Style Specific Detailed Routing Problems9.2 Classification of Routing Algorithms9.3 Single-Layer Routing Algorithms9.3.1 General River Routing Problem9.3.1.1 General River Routing Algorithm9.3.2 Single Row Routing Problem9.3.2.1 Origin of Single Row Routing9.3.2.2 A Graph Theoretic Approach9.3.2.3 Algorithm for Street Congestion Minimization9.3.2.4 Algorithm for Minimizing Doglegs9.4 Two-Layer Channel Routing Algorithms9.4.1 Classification of Two-Layer Algorithms9.4.2 LEA based Algorithms9.4.2.1 Basic Left-Edge Algorithm9.4.2.2 Dogleg Router9.4.2.3 Symbolic Channel Router: YACR29.4.3 Constraint Graph based Routing Algorithms9.4.3.1 Net Merge Channel Router9.4.3.2 Glitter: A Gridless Channel Router9.4.4 Greedy Channel Router9.4.5 Hierarchical Channel Router9.4.6 Comparison of Two-Layer Channel Routers9.5 Three-Layer Channel Routing Algorithms9.5.1 Classification of Three-Layer Algorithms9.5.2 Extended Net Merge Channel Router9.5.3 HVH Routing from HV Solution9.5.4 Hybrid HVH-VHV Router9.6 Multi-Layer Channel Routing Algorithms9.7 Switchbox Routing Algorithms9.7.1 Classification of switchbox routing algorithms9.7.2 Greedy Router9.7.3 Rip-up and Re-route Based Router9.7.4 Computational Geometry Based Router9.7.5 Comparison of Switchbox Routers9.8 Summary9.9 46348349352353354355358358362362363

Contentsxiii10 Over-the-Cell Routing and Via Minimization10.1 Over-the-cell Routing10.1.1 Cell Models10.1.2 Two-Layer Over-the-Cell Routers10.1.2.1 Basic OTC Routing Algorithm10.1.2.2 Planar Over-the-Cell Routing10.1.2.3 Over-the-Cell Routing Using Vacant Terminals10.1.3 Three-Layer Over-the-cell Routing10.1.4 Multilayer OTC Routing10.1.5 Performance Driven Over-the-cell Routing10.2 Via Minimization10.2.1 Constrained Via Minimization Problem10.2.1.1 Graph Representation of Two-Layer CVM Problem10.2.2 Unconstrained Via Minimization10.2.2.1 Optimal Algorithm for Crossing-Channel TVMProblem10.2.2.2 Approximation Result for General k-TVM Problem10.2.2.3 Routing Based on Topological Solution10.3 Summary10.4 Exercises36937037137337337738939639839840040111 Clock and Power Routing11.1 Clock Routing11.1.1 Clocking Schemes11.1.2 Design Considerations for the Clocking System11.1.2.1 Delay Calculation for Clock Trees11.1.3 Problem Formulation11.1.3.1 Design Style Specific Problems11.1.4 Clock Routing Algorithms11.1.4.1 H-tree Based Algorithm11.1.4.2 The MMM Algorithm11.1.4.3 Geometric Matching based Algorithm11.1.4.4 Weighted Center Algorithm11.1.4.5 Exact Zero Skew Algorithm11.1.4.6 DME Algorithm11.1.5 Skew and Delay Reduction by Pin Assignment11.1.6 Multiple Clock Routing11.2 Power and Ground Routing11.3 Summary11.4 6439439440444444403407408409410410411

xivContents12 Compaction12.1 Problem Formulation12.1.1 Design Style Specific Compaction Problem12.2 Classification of Compaction Algorithms12.3 One-Dimensional Compaction12.3.1 Constraint-Graph Based Compaction12.3.1.1 Constraint Graph Generation12.3.1.2 Critical Path Analysis12.3.1.3 Wire Jogging12.3.1.4 Wire Length Minimization12.3.2 Virtual Grid Based Compaction12.3.2.1 Basic Virtual Grid Algorithm12.3.2.2 Split Grid Compaction12.3.2.3 Most Recent Layer AlgorithmCompaction12.412.5 Two-Dimensional Compaction12.5.1 Simulated Annealing based Algorithm12.6 Hierarchical Compaction12.6.1 Constraint-Graph Based Hierarchical Compaction12.7 Recent trends in compaction12.7.1 Performance-driven compaction12.7.2 Compaction techniques for yield enhancement12.8 Summary12.9 746847047347347347447447547647613 Physical Design Automation of FPGAs13.1 FPGA Technologies13.2 Physical Design Cycle for FPGAs13.3 Partitioning13.4 Routing13.4.1 Routing Algorithm for the Non-Segmented Model13.4.2 Routing Algorithms for the Segmented Model13.4.2.1 Basic Algorithm13.4.2.2 Routing Algorithm for Staggered Model13.5 Summary13.6 Exercises47948048548548949049249349449649714 Physical Design Automation of MCMs14.1 MCM Technologies14.2 MCM Physical Design Cycle14.3 Partitioning14.4 Placement14.4.1 Chip Array Based Approach14.4.2 Full Custom Approach14.5 Routing14.5.1 Classification of MCM Routing Algorithms501502505507510512512513514

Contentsxv14.5.2 Maze Routing14.5.3 Multiple Stage Routing14.5.3.1 Pin Redistribution Problem14.5.3.2 Layer Assignment14.5.3.3 Detailed Routing14.5.4 Topological Routing14.5.5 Integrated Pin Distribution and Routing14.5.6 Routing in Programmable Multichip Modules14.6 Summary14.7 y525Author Index563Subject Index567

ForewordSince the invention of integrated circuits thirty years ago, manufacturing ofelectronic systems has taken rapid strides in improvement in speed, size, andcost. For today’s integrated circuit chips, switching time is on the order ofnanoseconds, minimum feature size is on the order of sub-microns, transistorcount is on the order of millions, and cost is on the order of a few dollars.In fact, it was estimated that the performance/cost ratio of integrated circuitchips has been increasing at the rate of one thousand-fold every ten years,yielding a total offor the last three decades. A combination of high productperformance and low per-unit cost leads to the very pervasive introduction ofintegrated circuit chips to many aspects of modern engineering and scientificendeavors including computations, telecommunications, aeronautics, genetics,bioengineering, manufacturing, factory automation, and so on. It is clear thatthe integrated circuit chip will play the role of a key building block in theinformation society of the twenty-first century.The manufacture of integrated circuit chips is similar to the manufactureof other highly sophisticated engineering products in many ways. The threemajor steps are designing the product, fabricating the product, and testing thefabricated product. In the design step, a large number of components are tobe designed or selected, specifications on how these components should be assembled are to be made, and verification steps are to be carried out to assurethe correctness of the design. In the manufacturing step, a great deal of manpower, and a large collection of expensive equipment, together with painstakingcare are needed to assemble the product according to the design specification.Finally, the fabricated product must be tested to check its physical functionality. As in all engineering problems, there are conflicting requirements in allthese steps. In the design step, we want to obtain an optimal product design,and yet we also want the design cycle to be short. In the fabrication step, wewant the product yield to be high, and yet we also need to be able to producea large volume of the product and get them to market in time. In the testingstep, we want the product to be tested thoroughly and yet we also want to beable to do so quickly.The title of this book reveals how the issue of enormous design complexityis to be handled so that high quality designs can be obtained in a reasonable amount of design time: We use muscles (automation) and we use brain

xviii(algorithms). Professor Sherwani has written an excellent book to introducestudents in computer science and electrical engineering as well as CAD engineers to the subject of physical design of VLSI circuits. Physical design is akey step in the design process. Research and development efforts in the lasttwenty years have led us to some very good understanding on many of theimportant problems in physical design. Professor Sherwani’s book provides atimely, up-to-date integration of the results in the field and will be most usefulboth as a graduate level textbook and as a reference for professionals in thefield. All aspects of the physical design process are covered in a meticulousand comprehensive manner. The treatment is enlightening and enticing. Furthermore, topics related to some of the latest technology developments such asField Programmable Gate Arrays (FPGA) and Multi-Chip Modules (MCM)are also included. A strong emphasis is placed on the algorithmic aspect ofthe design process. Algorithms are presented in an intuitive manner withoutthe obscurity of unnecessary formalism. Both theoretical and practical aspectsof algorithmic design are stressed. Neither the elegance of optimal algorithmsnor the usefulness of heuristic algorithms are overlooked. ¿From a pedagogicalpoint of view, the chapters on electronic devices and on data structures and basic algorithms provide useful background material for students from computerscience, computer engineering, and electrical engineering. The many exercisesincluded in the book are also most helpful teaching aids.This is a book on physical design algorithms. Yet, this is a book thatgoes beyond physical design algorithms. There are other important designsteps of which our understanding is still quite limited. Furthermore, development of new materials, devices, and technologies will unquestionably create newproblems and new avenues of research and development in the design process.An algorithmic outlook on design problem and the algorithmic techniques forsolving complex design problems, which a reader learns through the examplesdrawn from physical design in this book, will transcend the confine of physicaldesign and will undoubtedly prepare the reader for many of the activities inthe field of computer-aided design of VLSI circuits. I expect to hear from manystudents and CAD professionals in the years to come that they have learned agreat deal about physical design, computer-aided design, and scientific researchfrom Professor Sherwani’s book. I also expect to hear from many of them thatProfessor Sherwani’s book is a source of information as well as a source of inspiration.Urbana-Champaign, September 1992C. L. Liu

PrefaceFrom its humble beginning in the early 1950’s to the manufacture of circuitswith millions of components today, VLSI design has brought the power of themainframe computer to the laptop. Of course, this tremendous growth in thearea of VLSI design is made possible by the development of sophisticated designtools and software. To deal with the complexity of millions of components andto achieve a turn around time of a couple of months, VLSI design tools mustnot only be computationally fast but also perform close to optimal.The future growth of VLSI systems depends critically on the research anddevelopment of Physical Design (PD) Automation tools. In the last two decades,the research in physical design automation has been very intense, and literallythousands of research articles covering all phases of physical design automationhave been published. The development of VLSI physical design automation alsodepends on availability of trained manpower. We have two types of studentsstudying VLSI physical design: students preparing for a research career andstudents preparing for a career in industry. Both types of students need tobuild a solid background. However, currently we lack courses and text bookswhich give students a comprehensive background. It is common to find students doing research in placement, but are unaware of the latest developmentsin compaction. Those students seeking careers in industry will find that theVLSI physical design industry is very fast paced. They are expected to be conversant with existing tools and algorithms for all the stages of the design cycleof a VLSI chip. In industry, it is usual to find CAD engineers who work on oneaspect of physical design and lack knowledge of other aspects. For example,a CAD engineer working in the development of detailed routers may not beknowledgeable about partitioning algorithms. This is again due to the lackof comprehensive textbooks which cover background material in all aspects ofVLSI physical design.Providing a comprehensive background in one textbook in VLSI physicaldesign is indeed difficult. This is due to the fact that physical design automation requires a mix of backgrounds. Some electrical engineering and a solidundergraduate computer science background is necessary to grasp the fundamentals. In addition, so

THIRD EDITION Naveed A. Sherwani Intel Corporation. KLUWER ACADEMIC PUBLISHERS NEW YORK, BOSTON, DORDRECHT, LONDON, MOSCOW. eBook ISBN: 0-306-47509-X . Graph Search Algorithms Spanning Tree Algorithms Shortest Path Algorithms Matching Algorithms Min-Cut and Max-Cut Algorithms

Related Documents:

VLSI IC would imply digital VLSI ICs only and whenever we want to discuss about analog or mixed signal ICs it will be mentioned explicitly. Also, in this course the terms ICs and chips would mean VLSI ICs and chips. This course is concerned with algorithms required to automate the three steps “DESIGN-VERIFICATION-TEST” for Digital VLSI ICs.

Bruksanvisning för bilstereo . Bruksanvisning for bilstereo . Instrukcja obsługi samochodowego odtwarzacza stereo . Operating Instructions for Car Stereo . 610-104 . SV . Bruksanvisning i original

VL2114 RF VLSI Design 3 0 0 3 VL2115 High Speed VLSI 3 0 0 3 VL2116 Magneto-electronics 3 0 0 3 VL2117 VLSI interconnects and its design techniques 3 0 0 3 VL2118 Digital HDL Design and Verification 3 0 0 3 VL2119* Computational Aspects of VLSI 3 0 0 3 VL2120* Computational Intelligence 3 0 0 3

VLSI Design 2 Very-large-scale integration (VLSI) is the process of creating an integrated circuit (IC) by combining thousands of transistors into a single chip. VLSI began in the 1970s when complex semiconductor and communication technologies were being developed. The microprocessor is a VLSI device.

Dr. Ahmed H. Madian-VLSI 3 What is VLSI? VLSI stands for (Very Large Scale Integrated circuits) Craver Mead of Caltech pioneered the filed of VLSI in the 1970’s. Digital electronic integrated circuits could be viewed as a set

15A04604 VLSI DESIGN Course Objectives: To understand VLSI circuit design processes. To understand basic circuit concepts and designing Arithmetic Building Blocks. To have an overview of Low power VLSI. Course Outcomes: Complete Knowledge about Fabrication process of ICs Able to design VLSIcircuits as per specifications given.

55:131 Introduction to VLSI Design 10 . Simplified Sea of Gates Floorplan 55:131 Introduction to VLSI Design 11 . SoG and Gate Array Cell Layouts 55:131 Introduction to VLSI Design 12 . SoG and Gate Array 3-in NAND 55:131 Introdu

Principles of VLSI Design Introduction CMPE 315 Principles of VLSI Design Instructor Chintan Patel (Contact using email: cpatel2@cs.umbc.edu). Text CMOS VLSI Design: A Circuits and Systems Perspective, Third Edition. by Neil H.E. Weste and David Harris. ISBN: 0-321-14901-7, Addison Wesl