在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 12273|回复: 10

[原创] Digital VLSI Chip Design with Cadence and Synopsys CAD Tools

 关闭 [复制链接]
发表于 2009-12-14 17:46:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 netking 于 2010-2-9 16:23 编辑

Digital VLSI Chip Design with Cadence and Synopsys CAD Tools

Table of Contents
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
12 Chip Assembly 367
12.1 Module Routing with ccar . . . . . . . . . . . . . . . . . . . . . . . . . 367
12.1.1 Preparing a Placement with Virtuoso-XL . . . . . . . . . . . . . . 369
12.1.2 Invoking the ccar Router . . . . . . . . . . . . . . . . . . . . . . 374
12.2 Core to Pad Frame Routing with ccar . . . . . . . . . . . . . . . . . . . 382
12.2.1 Copy the Pad Frame . . . . . . . . . . . . . . . . . . . . . . . . 383
12.2.2 Modify the Frame schematic View . . . . . . . . . . . . . . . . 385
12.2.3 Modify the Frame layout View . . . . . . . . . . . . . . . . . . 390
12.2.4 Routing the Core to Frame with ccar . . . . . . . . . . . . . . . 391
12.2.5 Metal Density Issues . . . . . . . . . . . . . . . . . . . . . . . . 399
12.3 Final GDSII Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
12.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
13 Design Example 409
13.1 Tiny MIPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
13.2 Tiny MIPS: Flat Tool Flow . . . . . . . . . . . . . . . . . . . . . . . . . 416
13.2.1 Synthesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
13.2.2 Place and Route . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
13.2.3 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
13.2.4 Final Assembly . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
13.3 Tiny MIPS: Hierarchical Tool Flow . . . . . . . . . . . . . . . . . . . . 446
13.3.1 Synthesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
13.3.2 Place and Route into a Macro Block . . . . . . . . . . . . . . . . 449
13.3.3 Preparing Custom Circuits for Hierarchy . . . . . . . . . . . . . 451
13.3.4 Generating Abstract Views for Blocks . . . . . . . . . . . . . . . 454
13.3.5 Place and Route with Macro Blocks . . . . . . . . . . . . . . . . 456
13.3.6 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
13.3.7 Final Assembly . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
13.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
A Tool and Setup Scripts 475
A.1 Cadence Tool Installation . . . . . . . . . . . . . . . . . . . . . . . . . . 476
A.2 Cadence Setup Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
A.2.1 setup-cadence: Basic Cadence Setup . . . . . . . . . . . . . . . 478
A.2.2 setup-ncsu: Cadence Setup with NCSU Extensions . . . . . . . . 481
A.3 Shell Scripts for Cadence Tools . . . . . . . . . . . . . . . . . . . . . . . 482
A.3.1 syn-abstract: Start the Abstract Tool . . . . . . . . . . . . . . . 482
A.3.2 cad-alf2lib: Convert the alf Notation from Encounter Library Characterizer to lib Notation . . . . . . . . . 482
A.3.3 cad-elc: Start the Encounter Library Characterizer . . . . . . . . 483
A.3.4 cad-ncsu: Start the DFII (icfb) Environment . . . . . . . . . . . 484
A.3.5 cad-soc: Start the SOC Encounter Place and Route Tool . . . . . 484
A.3.6 sim-ncg: Startup Script for the NC Verilog Simulator, with GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
A.3.7 sim-xlg: Startup Script for the Verilog-XL simulator, with GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
A.3.8 sptr2elc: Perl Script for Converting Spectre Netlists to Encounter Library Characterizer Netlists . .  . 486
A.3.9 syn-rtlg: Start the RTL Compiler Synthesis Tool, with GUI . . . 487
A.4 Synopsys Tool Installation . . . . . . . . . . . . . . . . . . . . . . . . . 488
A.5 Synopsys Setup Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
A.5.1 setup-synopsys: Basic Synopsys Setup . . . . . . . . . . . . . . 489
A.6 Shell Scripts for Synopsys Tools . . . . . . . . . . . . . . . . . . . . . . 492
A.6.1 sim-vcs: Startup Script for the VCS Verilog Simulator . . . . . . 492
A.6.2 sim-simv: Startup Script for the simv Simulator Resulting from VCS Execution  . . . . . . . . . . . . . . 493
A.6.3 syn-dc: Startup Script for Design Compiler Synthesis . . . . . . 494
A.6.4 syn-dv: Startup Script for Design Compiler using the Design Vision GUI . .. . . . . . . . . 494
A.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
B Scripts to Drive the Tools 497
B.1 Tcl Script Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
B.2 Cadence Tool Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
B.2.1 Encounter Library Characterizer Cell Characterization . . . . . . 500
B.2.2 Cell Characterization with Spectre . . . . . . . . . . . . . . . . . 504
B.2.3 SOC Encounter Place and Route . . . . . . . . . . . . . . . . . . 509
B.2.4 RTL Compiler Synthesis . . . . . . . . . . . . . . . . . . . . . . 516
B.2.5 ccar Chip Assembly Tool . . . . . . . . . . . . . . . . . . . . . 517
B.3 Synopsys Tool Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
B.3.1 Synopsys Design Compiler Script Files . . . . . . . . . . . . . . 519
B.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
C Technology and Cell Libraries 525
C.1 NCSU Cadence Design Kit CDK1.5 Installation . . . . . . . . . . . . . . 525
C.1.1 .cdsinit: Local Modifications . . . . . . . . . . . . . . . . . . . 526
C.1.2 .cdsenv: Local Modifications . . . . . . . . . . . . . . . . . . . 529
C.1.3 UofU TechLib ami06: Local Modifications . . . . . . . . . . . 530
C.2 Example Standard Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
C.2.1 Example Liberty File . . . . . . . . . . . . . . . . . . . . . . . 536
C.2.2 LEF File Technology Header . . . . . . . . . . . . . . . . . . . . 551
C.2.3 LEF File MACRO Examples . . . . . . . . . . . . . . . . . . . . 554
C.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
digital_vlsi_chip_design.jpg
发表于 2009-12-14 17:48:06 | 显示全部楼层
这不就是一幅图片嘛,书怎么没有啊,郁闷
 楼主| 发表于 2009-12-14 17:49:42 | 显示全部楼层
Front matter, Chapter 1 and Chapter 2

front matter.rar

40.51 KB, 下载次数: 257 , 下载积分: 资产 -2 信元, 下载支出 2 信元

Chapter1 Introduction.rar

35.59 KB, 下载次数: 236 , 下载积分: 资产 -2 信元, 下载支出 2 信元

Chapter2 ICFB.rar

99.79 KB, 下载次数: 347 , 下载积分: 资产 -2 信元, 下载支出 2 信元

 楼主| 发表于 2009-12-14 18:00:00 | 显示全部楼层
本帖最后由 netking 于 2010-2-9 16:21 编辑

Chapter 3, Chapter 4 and Chapter 5

Chapter3 Composer.rar

551.02 KB, 下载次数: 263 , 下载积分: 资产 -2 信元, 下载支出 2 信元

Chapter4 Verilog Simulation.rar

1.96 MB, 下载次数: 342 , 下载积分: 资产 -2 信元, 下载支出 2 信元

Chapter5 Layout Editor.part1.rar

1.72 MB, 下载次数: 313 , 下载积分: 资产 -2 信元, 下载支出 2 信元

Chapter5 Layout Editor.part2.rar

616.72 KB, 下载次数: 285 , 下载积分: 资产 -2 信元, 下载支出 2 信元

Chapter6 Spetre Simulator.rar

1.59 MB, 下载次数: 259 , 下载积分: 资产 -2 信元, 下载支出 2 信元

Chapter7 Cell Characterization.rar

604.91 KB, 下载次数: 219 , 下载积分: 资产 -2 信元, 下载支出 2 信元

Chapter8 Verilog Synthesis.rar

422.06 KB, 下载次数: 252 , 下载积分: 资产 -2 信元, 下载支出 2 信元

Chapter9 Abstract Generation.rar

1.09 MB, 下载次数: 249 , 下载积分: 资产 -2 信元, 下载支出 2 信元

Chapter10 SocEncounter.part1.rar

1.14 MB, 下载次数: 283 , 下载积分: 资产 -2 信元, 下载支出 2 信元

Chapter10 SocEncounter.part2.rar

1.07 MB, 下载次数: 262 , 下载积分: 资产 -2 信元, 下载支出 2 信元

Chapter11 Chip Assemble.part1.rar

1.72 MB, 下载次数: 254 , 下载积分: 资产 -2 信元, 下载支出 2 信元

Chapter11 Chip Assemble.part2.rar

620.6 KB, 下载次数: 225 , 下载积分: 资产 -2 信元, 下载支出 2 信元

发表于 2009-12-14 19:41:30 | 显示全部楼层
thanks!
发表于 2009-12-14 20:58:57 | 显示全部楼层
5# qptom
发表于 2009-12-14 23:16:09 | 显示全部楼层
thanks
发表于 2009-12-15 00:09:59 | 显示全部楼层
很好的一本工具书!
发表于 2009-12-15 11:33:58 | 显示全部楼层
一共多少章?发全了吗?
发表于 2009-12-15 12:04:16 | 显示全部楼层
一共多少章?发全了吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-19 03:42 , Processed in 0.025830 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表