Zum Hauptinhalt springen Zur Suche springen Zur Hauptnavigation springen
Beschreibung
KEY BENEFIT: This hands-on book leads readers through the complete process of building a ready-to-fabricate CMOS integrated circuit using popular commercial design software. KEY TOPICS: The VLSI CAD flow described in this book uses tools from two vendors: Cadence Design Systems, Inc. and Synopsys Inc. Detailed tutorials include step-by-step instructions and screen shots of tool windows and dialog boxes. MARKET: A useful reference for chip designers.
KEY BENEFIT: This hands-on book leads readers through the complete process of building a ready-to-fabricate CMOS integrated circuit using popular commercial design software. KEY TOPICS: The VLSI CAD flow described in this book uses tools from two vendors: Cadence Design Systems, Inc. and Synopsys Inc. Detailed tutorials include step-by-step instructions and screen shots of tool windows and dialog boxes. MARKET: A useful reference for chip designers.
Über den Autor
Professor Erik Brunvand is an associate professor in the School of Computing at the University of Utah. He has interests in computer architecture and VLSI systems in general, and self-timed and asynchronous systems in particular. One aspect of his research involves compiling concurrent communicating programs into asynchronous VLSI circuits. The current system allows programs written in a subset of occam, a concurrent message-passing programming language based on CSP, to be automatically compiled into a set of self-timed circuit modules suitable for manufacture as an integrated circuit. He is also interested in investigating the effects of asynchrony on computer systems architecture at a higher level. To explore these ideas he is building a series of prototype asynchronous computer systems out of FPGA and custom VLSI chips.
Inhaltsverzeichnis

1 Introduction 1
1.1 CAD Tool Flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1 Custom VLSI and Cell Design Flow . . . . . . . . . . . . . . . . 3
1.1.2 Hierarchical Cell/Block ASIC Flow . . . . . . . . . . . . . . . . 3
1.2 What This Book Is and Isn’t . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Bugs in the Tools? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Tool Setup and Execution Scripts . . . . . . . . . . . . . . . . . . . . . . 6
1.5 Typographical Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 7

2 Cadence DFII and ICFB 9
2.1 Cadence Design Framework . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Starting Cadence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3 Composer Schematic Capture 17
3.1 Starting Cadence and Making a New
Working Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2 Creating a New Cell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2.1 Creating the Schematic View of a Full Adder . . . . . . . . . . . 19
3.2.2 Creating the Symbol View of a Full Adder . . . . . . . . . . . . . 26
3.2.3 Creating a Two-Bit Adder Using the FullAdder Bit . . . . . . . . 28
3.3 Schematics that Use Transistors . . . . . . . . . . . . . . . . . . . . . . 31
3.4 Printing Schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.4.1 Modifying PostScript Plot Files . . . . . . . . . . . . . . . . . . 38
3.5 Variable, Pin, and Cell Naming Restrictions . . . . . . . . . . . . . . . . 39
3.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4 Verilog Simulation 41
4.1 Verilog Simulation of Composer Schematics . . . . . . . . . . . . . . . . 44
4.1.1 Verilog-XL: Simulating a Schematic . . . . . . . . . . . . . . . . 45
4.1.2 NC Verilog: Simulating a Schematic . . . . . . . . . . . . . . . . 65
4.2 Behavioral Verilog Code in Composer . . . . . . . . . . . . . . . . . . . 69
4.2.1 Generating a Behavioral View . . . . . . . . . . . . . . . . . . . 72
4.2.2 Simulating a Behavioral View . . . . . . . . . . . . . . . . . . . 75
4.3 Stand-Alone Verilog Simulation . . . . . . . . . . . . . . . . . . . . . . 76
4.3.1 Verilog-XL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.3.2 NC Verilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.3.3 VCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.4 Timing in Verilog Simulations . . . . . . . . . . . . . . . . . . . . . . . 90
4.4.1 Behavioral Versus Transistor Switch Simulation . . . . . . . . . . 94
4.4.2 Behavioral Gate Timing . . . . . . . . . . . . . . . . . . . . . . 96
4.4.3 Standard Delay Format (SDF) Timing . . . . . . . . . . . . . . . 99
4.4.4 Transistor Timing . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

5 Virtuoso Layout Editor 109
5.1 An Inverter Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.1.1 Starting Cadence icfb . . . . . . . . . . . . . . . . . . . . . . . . 111
5.1.2 Making an Inverter Schematic . . . . . . . . . . . . . . . . . . . 111
5.1.3 Making an Inverter Symbol . . . . . . . . . . . . . . . . . . . . 112
5.2 Layout for an Inverter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.2.1 Creating a New layout View . . . . . . . . . . . . . . . . . . . . 113
5.2.2 Drawing an nmos Transistor . . . . . . . . . . . . . . . . . . . . 113
5.2.3 Drawing a pmos Transistor . . . . . . . . . . . . . . . . . . . . . 118
5.2.4 Assembling the Inverter from the Transistor Layouts . . . . . . . 122
5.2.5 Using Hierarchy in Layout . . . . . . . . . . . . . . . . . . . . . 128
5.2.6 Virtuoso Command Overview . . . . . . . . . . . . . . . . . . . 130
5.3 Printing Layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
5.4 Design Rule Checking . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
5.4.1 DIVA Design Rule Checking . . . . . . . . . . . . . . . . . . . . 134
5.5 Generating an Extracted View . . . . . . . . . . . . . . . . . . . . . . . 140
5.6 Layout Versus Schematic Checking (LVS) . . . . . . . . . . . . . . . . . 141
5.6.1 Generating an analog-extracted View . . . . . . . . . . . . . . . 152
5.7 Overall Cell Design Flow (So Far...) . . . . . . . . . . . . . . . . . . . . 153
5.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

6 Standard Cell Design Template 155
6.1 Standard Cell Geometry Specification . . . . . . . . . . . . . . . . . . . 156
6.2 Standard Cell I/O Pin Placement . . . . . . . . . . . . . . . . . . . . . . 158
6.3 Standard Cell Transistor Sizing . . . . . . . . . . . . . . . . . . . . . . . 161
6.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

7 Spectre Analog Simulator 167
7.1 Simulating a Schematic (Transient Simulation) . . . . . . . . . . . . . . 169
7.2 Simulation with the Spectre Analog Environment . . . . . . . . . . . . . 171
7.3 Simulating with a Config View . . . . . . . . . . . . . . . . . . . . . . . 176
7.4 Mixed Analog/Digital Simulation . . . . . . . . . . . . . . . . . . . . . 182
7.4.1 Final Words about Mixed-Mode Simulation . . . . . . . . . . . . 194
7.5 DC Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
7.5.1 Parametric Simulation . . . . . . . . . . . . . . . . . . . . . . . 204
7.6 Power Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
7.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213

8 Cell Characterization 215
8.1 Liberty File Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
8.1.1 Combinational Cell Definition . . . . . . . . . . . . . . . . . . . 219
8.1.2 Sequential Cell Definition . . . . . . . . . . . . . . . . . . . . . 221
8.1.3 Tristate Cell Definition . . . . . . . . . . . . . . . . . . . . . . . 228
8.2 Cell Characterization with ELC . . . . . . . . . . . . . . . . . . . . . . 230
8.2.1 Generating the ELC Netlist . . . . . . . . . . . . . . . . . . . . . 230
8.2.2 Cell Naming and Encounter Library Characterizer . . . . . . . . 243
8.2.3 Best, Typical, and Worst Case Characterization . . . . . . . . . . 244
8.3 Cell Characterization with Spectre . . . . . . . . . . . . . . . . . . . . . 244
8.4 Converting Liberty to Synopsys Database (db) Format . . . . . . . . . . 250
8.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

9 Verilog Synthesis 253
9.1 Synopsys Design Compiler Synthesis with dc shell . . . . . . 253
9.1.1 Basic Synthesis . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
9.1.2 Scripted Synthesis . . . . . . . . . . . . . . . . . . . . . . . . . 258
9.1.3 Synopsys Design Vision GUI . . . . . . . . . . . . . . . . . . . . 267
9.1.4 DesignWare Building Blocks . . . . . . . . . . . . . . . . . . . . 276
9.2 Cadence RTL Compiler Synthesis . . . . . . . . . . . . . . . . . . . . . 277
9.2.1 Scripted Synthesis . . . . . . . . . . . . . . . . . . . . . . . . . 277
9.2.2 Cadence RTL Compiler GUI . . . . . . . . . . . . . . . . . . . . 280
9.3 Importing Structural Verilog into Cadence DFII . . . . . . . . . . . . . . 285
9.4 Post-Synthesis Verilog Simulation . . . . . . . . . . . . . . . . . . . . . 288
9.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295

10 Abstract Generation 299
10.1 Reading Your Library into Abstract . . . . . . . . . . . . . . . . . . . . 300
10.2 Finding Pins in Your Cells . . . . . . . . . . . . . . . . . . . . . . . . . 303
10.3 The Extract Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
10.4 The Abstract Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
10.5 LEF File Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
10.6 Modifying the LEF File . . . . . . . . . . . . . . . . . . . . . . . . . . 309
10.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311

11 SOC Encounter Place and Route 313
11.1 Encounter GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
11.1.1 Reading In the Design . . . . . . . . . . . . . . . . . . . . . . . 318
11.1.2 Floorplanning . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
11.1.3 Power Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
11.1.4 Placing the Standard Cells . . . . . . . . . . . . . . . . . . . . . 333
11.1.5 First Optimization Phase . . . . . . . . . . . . . . . . . . . . . . 333
11.1.6 Clock Tree Synthesis . . . . . . . . . . . . . . . . . . . . . . . . 336
11.1.7 Post-CTS Optimization . . . . . . . . . . . . . . . . . . . . . . . 338
11.1.8 Final Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
11.1.9 Post-Route Optimization . . . . . . . . . . . . . . . . . . . . . . 343
11.1.10 Adding Filler Cells . . . . . . . . . . . . . . . . . . . . . . . . . 345
11.1.11 Checking the Result . . . . . . . . . . . . . . . . . . . . . . . . 345
11.1.12 Saving and Exporting the Placed and Routed Cell . . . . . . . . . 349
11.1.13 Reading the Cell Back into Virtuoso . . . . . . . . . . . . . . . . 352
11.2 Design Import with Configuration Files . . . . . . . . . . . . . . . . . . 358
11.2.1 Floorplanning . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
11.3 SOC Encounter Scripting . . . . . . . . . . . . . . . . . . . . . . . . . . 361
11.4 Summary . . . . . . . . . . . . . . . ....

Details
Erscheinungsjahr: 2024
Genre: Importe, Informatik
Rubrik: Naturwissenschaften & Technik
Medium: Taschenbuch
Inhalt: 600 S.
ISBN-13: 9780321547996
ISBN-10: 0321547993
Sprache: Englisch
Einband: Kartoniert / Broschiert
Autor: Weste, Neil
Weste, Neil H. E.
Harris, David Money
Auflage: 1. Auflage
Hersteller: Pearson
Pearson Business
Pearson Education Limited
Verantwortliche Person für die EU: Pearson Studium im Verlag Pearson Benelux B.V. Zweigniederla, Sankt-Martin-Str. 82, D-81541 München, buchhandel@pearson.com
Maße: 235 x 195 x 33 mm
Von/Mit: Neil Weste (u. a.)
Erscheinungsdatum: 10.10.2024
Gewicht: 1,127 kg
Artikel-ID: 134597790