An Introduction to CAD for VLSI

An Introduction to CAD for VLSI

by Stephen M. Trimberger


$88.47 $99.00 Save 11% Current price is $88.47, Original price is $99. You Save 11%.
2 New & Used Starting at $18.19


The last decade has seen an explosion in integrated circuit technology. Improved manufacturing processes have led to ever smaller device sizes. Chips with over a hundred thousand transistors have become common and performance has improved dramatically. Alongside this explosion in manufacturing technology has been a much-less-heralded explosion of design tool capability that has enabled designers to build those large, complex devices. The tools have allowed designers to build chips in less time, reducing the cost and risk. Without the design tools, we would not now be seeing the full benefits of the advanced manufacturing technology. The Scope of This Book This book describes the implementation of several tools that are commonly used to design integrated circuits. The tools are the most common ones used for computer aided design and represent the mainstay of design tools in use in the industry today. This book describes proven techniques. It is not a survey of the newest and most exotic design tools, but rather an introduction to the most common, most heavily-used tools. It does not describe how to use computer aided design tools, but rather how to write them. It is a view behind the screen, describing data structures, algorithms and code organization. This book covers a broad range of design tools for Computer Aided Design (CAD) and Computer Aided Engineering (CAE). The focus of the discussion is on tools for transistor-level physical design and analysis.

Product Details

ISBN-13: 9780898382310
Publisher: Springer US
Publication date: 04/28/2002
Pages: 292
Product dimensions: 6.30(w) x 9.45(h) x 0.03(d)

Table of Contents

1. Integrated Circuit Design.- to Integrated Circuit Design.- The Integrated Circuit Design Process.- Variances from This Model of the Design Process.- Managing the Complexity of a Design.- Exercises.- References.- 2. Parsing.- Reading Files.- Describing a Data Format.- An Example.- Parser Overview.- Implementation of the Parser.- Internal Parser Procedures.- The Token Scanner.- Building a Data Structure.- Data Structures.- The Semantics Module.- Memory Usage Issues.- Writing Layout Files.- Exercises.- References.- 3. Graphics.- Output Devices.- Graphical Output Primitives.- Virtual Screen Coordinates.- User Coordinates.- Clipping and Viewports.- Summary of Graphics Output Features.- Summary of Coordinate Systems.- Color.- Graphical Input.- Dynamic Displays.- Exercises.- References.- 4. Plotting Layout.- The Core of a Plotter.- The Command Loop.- Loading a File.- Displaying a Cell.- Necessary Additions.- Desirable Features.- Practical Considerations.- Considerations for Pen Plotters.- Considerations for Raster Plotters.- Exercises.- References.- 5. Layout Editor.- Overview of a Layout Editor.- Turning the Plotter Into an Editor.- Pointing As an Alternative to Typing Positions.- Filters.- Editor State.- Modes and Modeless Editors.- Menus As an Alternative to Typing Commands.- Data Structures.- Essential Features.- Desirable Features.- User Interface.- The Database Alternative To Reading and Writing Files.- Symbolic Layout.- Schematic Editor.- Exercises.- References.- 6. Layout Language.- Embedded Language.- A Simple System.- A More Usable System.- Layout Language Procedures.- Data Structures.- Example.- Symbolic Layout.- The Example Again.- Using Bounding Boxes and Connectors.- Reading Layout Files.- Using Language Facilities.- Parameterized Cells.- The Layout Language Module As a LayoutParser.- A Procedural Netlist Generator.- Drawbacks of a Layout Language.- Exercises.- References.- 7. Layout Generators.- Parameterized Cells.- PLA Generator.- to Silicon Compilation.- Datapath Compiler.- to Placement and Routing.- Exercises.- References.- 8. Layout Analysis.- Overview and Background.- Design Rules.- Object-Based DRC.- Edge-Based Layout Operations.- Handling Intersecting Edges.- Polygon Merging.- Arbitrary Boolean Operations On Layout Layers.- Resizing Layout.- Using Bloat and Shrink to Perform a Design Rule Check.- A More Efficient DRC.- Connectivity.- Performance Optimization Considerations.- Reporting DRC Errors.- Ambiguous Corner Checks.- Glitches.- Technology File.- Fast Sorting For Edge Files.- Circuit Extraction.- Options.- Mask Tooling.- Other Algorithms.- Exercises.- References.- 9. Simulation.- Types of Simulators.- A Simple Behavioral Simulator.- Time and the Event Queue.- Modelling Shared Busses.- A Logic Simulator.- Controlling and Observing the Simulation.- Managing the Event Queue.- Simulating Transistors.- Transistor Simulation Example.- Debugging Commands.- Enhancements to the Transistor Simulation Algorithms.- Static Checks.- Multi-Level Simulation.- High-level Input.- Testing Integrated Circuits.- Fault Simulation.- Exercises.- References.

Customer Reviews

Most Helpful Customer Reviews

See All Customer Reviews