معرفی کتاب «CMOS VLSI Design : A Circuits and Systems Perspective» نوشتهٔ Neil H. E. Weste و David Money Harris، منتشرشده توسط نشر Addison-Wesley Longman در سال 2010. این کتاب در 864 صفحه، فرمت pdf، زبان انگلیسی ارائه شده است. «CMOS VLSI Design : A Circuits and Systems Perspective» در دستهٔ رمان خارجی قرار دارد.
The extensively revised 3rd edition of CMOS VLSI Design details modern techniques for the design of complex and high performance CMOS Systems-on-Chip. The authors draw upon extensive industry and classroom experience to explain modern practices of chip design. The introductory chapter covers transistor operation, CMOS gate design, fabrication, and layout at a level accessible to anyone with an elementary knowledge of digital electornics. Later chapters beuild up an in-depth discussion of the design of complex, high performance, low power CMOS Systems-on-Chip. Cover......Page 1 Contents......Page 8 Preface......Page 24 1.1 A Brief History......Page 28 1.3 MOS Transistors......Page 33 1.4.3 CMOS Logic Gates......Page 36 1.4.5 Compound Gates......Page 38 1.4.6 Pass Transistors and Transmission Gates......Page 39 1.4.7 Tristates......Page 41 1.4.8 Multiplexers......Page 42 1.4.9 Sequential Circuits......Page 43 1.5.1 Inverter Cross-Section......Page 46 1.5.2 Fabrication Process......Page 47 1.5.3 Layout Design Rules......Page 51 1.5.4 Gate Layouts......Page 54 1.5.5 Stick Diagrams......Page 55 1.6 Design Partitioning......Page 56 1.6.1 Design Abstractions......Page 57 1.6.3 Behavioral, Structural, and Physical Domains......Page 58 1.7.1 MIPS Architecture......Page 60 1.7.2 Multicycle MIPS Microarchitecture......Page 61 1.8.2 Block Diagrams......Page 65 1.8.4 Hardware Description Languages......Page 67 1.9 Circuit Design......Page 69 1.10.1 Floorplanning......Page 72 1.10.2 Standard Cells......Page 75 1.10.4 Slice Plans......Page 77 1.10.6 Area Estimation......Page 78 1.11 Design Verification......Page 80 1.12 Fabrication, Packaging, and Testing......Page 81 Summary and a Look Ahead......Page 82 Exercises......Page 84 2.1 Introduction......Page 88 2.2 Long-Channel I-V Characteristics......Page 91 2.3.1 Simple MOS Capacitance Models......Page 95 2.3.2 Detailed MOS Gate Capacitance Model......Page 97 2.3.3 Detailed MOS Diffusion Capacitance Model......Page 99 2.4 Nonideal I-V Effects......Page 101 2.4.1 Mobility Degradation and Velocity Saturation......Page 102 2.4.2 Channel Length Modulation......Page 105 2.4.3 Threshold Voltage Effects......Page 106 2.4.4 Leakage......Page 107 2.4.5 Temperature Dependence......Page 112 2.4.7 Summary......Page 113 2.5 DC Transfer Characteristics......Page 114 2.5.1 Static CMOS Inverter DC Characteristics......Page 115 2.5.2 Beta Ratio Effects......Page 117 2.5.3 Noise Margin......Page 118 2.5.4 Pass Transistor DC Characteristics......Page 119 2.6 Pitfalls and Fallacies......Page 120 Summary......Page 121 Exercises......Page 122 3.1 Introduction......Page 126 3.2.1 Wafer Formation......Page 127 3.2.2 Photolithography......Page 128 3.2.3 Well and Channel Formation......Page 130 3.2.4 Silicon Dioxide (SiO[sup(2)])......Page 132 3.2.5 Isolation......Page 133 3.2.6 Gate Oxide......Page 134 3.2.7 Gate and Source/Drain Formations......Page 135 3.2.8 Contacts and Metallization......Page 137 3.2.10 Metrology......Page 139 3.3.1 Design Rule Background......Page 140 3.3.2 Scribe Line and Other Structures......Page 143 3.3.3 MOSIS Scalable CMOS Design Rules......Page 144 3.3.4 Micron Design Rules......Page 145 3.4.1 Transistors......Page 146 3.4.2 Interconnect......Page 149 3.4.3 Circuit Elements......Page 151 3.4.4 Beyond Conventional CMOS......Page 156 3.5 Technology-Related CAD Issues......Page 157 3.5.1 Design Rule Checking (DRC)......Page 158 3.5.2 Circuit Extraction......Page 159 3.6.1 Antenna Rules......Page 160 3.6.3 Resolution Enhancement Rules......Page 161 3.6.5 Yield Enhancement Guidelines......Page 162 3.7 Pitfalls and Fallacies......Page 163 3.8 Historical Perspective......Page 164 Exercises......Page 166 4.1.1 Definitions......Page 168 4.1.2 Timing Optimization......Page 169 4.2 Transient Response......Page 170 4.3.1 Effective Resistance......Page 173 4.3.3 Equivalent RC Circuits......Page 174 4.3.4 Transient Response......Page 175 4.3.5 Elmore Delay......Page 177 4.3.6 Layout Dependence of Capacitance......Page 180 4.3.7 Determining Effective Resistance......Page 181 4.4 Linear Delay Model......Page 182 4.4.2 Parasitic Delay......Page 183 4.4.3 Delay in a Logic Gate......Page 185 4.4.5 Extracting Logical Effort from Datasheets......Page 186 4.4.6 Limitations to the Linear Delay Model......Page 187 4.5.1 Delay in Multistage Logic Networks......Page 190 4.5.2 Choosing the Best Number of Stages......Page 193 4.5.3 Example......Page 195 4.5.4 Summary and Observations......Page 196 4.5.6 Iterative Solutions for Sizing......Page 198 4.6.1 Slope-Based Linear Model......Page 200 4.7 Pitfalls and Fallacies......Page 201 4.8 Historical Perspective......Page 202 Exercises......Page 203 5.1 Introduction......Page 208 5.1.2 Examples......Page 209 5.1.3 Sources of Power Dissipation......Page 211 5.2 Dynamic Power......Page 212 5.2.1 Activity Factor......Page 213 5.2.2 Capacitance......Page 215 5.2.3 Voltage......Page 217 5.2.4 Frequency......Page 219 5.2.6 Resonant Circuits......Page 220 5.3.1 Static Power Sources......Page 221 5.3.2 Power Gating......Page 224 5.3.4 Variable Threshold Voltages......Page 226 5.4.1 Minimum Energy......Page 227 5.4.3 Minimum Energy Under a Delay Constraint......Page 230 5.5.2 Parallelism and Pipelining......Page 231 5.5.3 Power Management Modes......Page 232 5.6 Pitfalls and Fallacies......Page 233 5.7 Historical Perspective......Page 234 Exercises......Page 236 6.1.1 Wire Geometry......Page 238 6.1.2 Example: Intel Metal Stacks......Page 239 6.2 Interconnect Modeling......Page 240 6.2.1 Resistance......Page 241 6.2.2 Capacitance......Page 242 6.2.3 Inductance......Page 245 6.2.4 Skin Effect......Page 246 6.3.1 Delay......Page 247 6.3.3 Crosstalk......Page 249 6.3.4 Inductive Effects......Page 251 6.3.5 An Aside on Effective Resistance and Elmore Delay......Page 254 6.4.1 Width, Spacing, and Layer......Page 256 6.4.2 Repeaters......Page 257 6.4.3 Crosstalk Control......Page 259 6.4.4 Low-Swing Signaling......Page 261 6.5 Logical Effort with Wires......Page 263 6.6 Pitfalls and Fallacies......Page 264 Exercises......Page 265 7.2 Variability......Page 268 7.2.2 Temperature......Page 269 7.2.3 Process Variation......Page 270 7.2.4 Design Corners......Page 271 7.3.1 Reliability Terminology......Page 273 7.3.2 Oxide Wearout......Page 274 7.3.3 Interconnect Wearout......Page 276 7.3.4 Soft Errors......Page 278 7.3.5 Overvoltage Failure......Page 279 7.3.6 Latchup......Page 280 7.4 Scaling......Page 281 7.4.1 Transistor Scaling......Page 282 7.4.2 Interconnect Scaling......Page 284 7.4.3 International Technology Roadmap for Semiconductors......Page 285 7.4.4 Impacts on Design......Page 286 7.5.1 Properties of Random Variables......Page 290 7.5.2 Variation Sources......Page 293 7.5.3 Variation Impacts......Page 296 7.6 Variation-Tolerant Design......Page 301 7.6.2 Fault Tolerance......Page 302 7.7 Pitfalls and Fallacies......Page 304 7.8 Historical Perspective......Page 305 Exercises......Page 311 8.1 Introduction......Page 314 8.2.1 Sources and Passive Components......Page 315 8.2.3 Inverter Transient Analysis......Page 319 8.2.4 Subcircuits and Measurement......Page 321 8.2.5 Optimization......Page 323 8.3 Device Models......Page 325 8.3.1 Level 1 Models......Page 326 8.3.4 Diffusion Capacitance Models......Page 327 8.3.5 Design Corners......Page 329 8.4.1 I-V Characteristics......Page 330 8.4.2 Threshold Voltage......Page 333 8.4.4 Parasitic Capacitance......Page 335 8.4.5 Effective Resistance......Page 337 8.4.6 Comparison of Processes......Page 338 8.5.1 Path Simulations......Page 340 8.5.3 Logical Effort......Page 342 8.5.4 Power and Energy......Page 345 8.6 Interconnect Simulation......Page 346 8.7 Pitfalls and Fallacies......Page 349 Exercises......Page 351 9.1 Introduction......Page 354 9.2 Circuit Families......Page 355 9.2.1 Static CMOS......Page 356 9.2.2 Ratioed Circuits......Page 361 9.2.4 Dynamic Circuits......Page 366 9.2.5 Pass-Transistor Circuits......Page 376 9.3 Circuit Pitfalls......Page 381 9.3.2 Ratio Failures......Page 382 9.3.5 Power Supply Noise......Page 383 9.3.7 Minority Carrier Injection......Page 384 9.3.10 Process Sensitivity......Page 385 9.3.11 Example: Domino Noise Budgets......Page 386 9.5 Silicon-On-Insulator Circuit Design......Page 387 9.5.1 Floating Body Voltage......Page 388 9.5.3 SOI Disadvantages......Page 389 9.5.4 Implications for Circuit Styles......Page 390 9.6 Subthreshold Circuit Design......Page 391 9.6.2 Gate Selection......Page 392 9.7 Pitfalls and Fallacies......Page 393 9.8 Historical Perspective......Page 394 Summary......Page 396 Exercises......Page 397 10.1 Introduction......Page 402 10.2.1 Sequencing Methods......Page 403 10.2.2 Max-Delay Constraints......Page 406 10.2.3 Min-Delay Constraints......Page 410 10.2.4 Time Borrowing......Page 413 10.2.5 Clock Skew......Page 416 10.3 Circuit Design of Latches and Flip-Flops......Page 418 10.3.1 Conventional CMOS Latches......Page 419 10.3.2 Conventional CMOS Flip-Flops......Page 420 10.3.3 Pulsed Latches......Page 422 10.3.4 Resettable Latches and Flip-Flops......Page 423 10.3.5 Enabled Latches and Flip-Flops......Page 424 10.3.6 Incorporating Logic into Latches......Page 425 10.3.8 Differential Flip-Flops......Page 426 10.3.9 Dual Edge-Triggered Flip-Flops......Page 427 10.3.10 Radiation-Hardened Flip-Flops......Page 428 10.4 Static Sequencing Element Methodology......Page 429 10.4.1 Choice of Elements......Page 430 10.4.2 Characterizing Sequencing Element Delays......Page 432 10.4.4 Level-Converter Flip-Flops......Page 435 10.4.5 Design Margin and Adaptive Sequential Elements......Page 436 10.6 Synchronizers......Page 438 10.6.1 Metastability......Page 439 10.6.2 A Simple Synchronizer......Page 442 10.6.3 Communicating Between Asynchronous Clock Domains......Page 443 10.6.4 Common Synchronizer Mistakes......Page 444 10.6.6 Degrees of Synchrony......Page 446 10.7 Wave Pipelining......Page 447 10.8 Pitfalls and Fallacies......Page 449 Summary......Page 450 Exercises......Page 452 11.2 Addition/Subtraction......Page 456 11.2.1 Single-Bit Addition......Page 457 11.2.2 Carry-Propagate Addition......Page 461 11.2.4 Multiple-Input Addition......Page 485 11.2.5 Flagged Prefix Adders......Page 486 11.3 One/Zero Detectors......Page 488 11.4.2 Equality Comparator......Page 489 11.5 Counters......Page 490 11.5.1 Binary Counters......Page 491 11.5.2 Fast Binary Counters......Page 492 11.5.4 Linear-Feedback Shift Registers......Page 493 11.7.2 Error-Correcting Codes......Page 495 11.7.3 Gray Codes......Page 497 11.7.4 XOR/XNOR Circuit Forms......Page 498 11.8 Shifters......Page 499 11.8.1 Funnel Shifter......Page 500 11.8.2 Barrel Shifter......Page 502 11.9 Multiplication......Page 503 11.9.1 Unsigned Array Multiplication......Page 505 11.9.2 Two’s Complement Array Multiplication......Page 506 11.9.3 Booth Encoding......Page 507 11.9.4 Column Addition......Page 512 11.9.5 Final Addition......Page 516 11.9.8 Summary......Page 517 11.10 Parallel-Prefix Computations......Page 518 11.11 Pitfalls and Fallacies......Page 520 Exercises......Page 521 12.1 Introduction......Page 524 12.2 SRAM......Page 525 12.2.1 SRAM Cells......Page 526 12.2.2 Row Circuitry......Page 533 12.2.3 Column Circuitry......Page 537 12.2.4 Multi-Ported SRAM and Register Files......Page 541 12.2.5 Large SRAMs......Page 542 12.2.6 Low-Power SRAMs......Page 544 12.2.7 Area, Delay, and Power of RAMs and Register Files......Page 547 12.3 DRAM......Page 549 12.3.1 Subarray Architectures......Page 550 12.3.2 Column Circuitry......Page 552 12.3.3 Embedded DRAM......Page 553 12.4 Read-Only Memory......Page 554 12.4.1 Programmable ROMs......Page 556 12.4.2 NAND ROMs......Page 557 12.4.3 Flash......Page 558 12.5.2 Queues (FIFO, LIFO)......Page 560 12.6 Content-Addressable Memory......Page 562 12.7 Programmable Logic Arrays......Page 564 12.8.1 Redundancy......Page 568 12.8.3 Radiation Hardening......Page 570 12.9 Historical Perspective......Page 571 Summary......Page 572 Exercises......Page 573 13.2.1 Package Options......Page 576 13.2.2 Chip-to-Package Connections......Page 578 13.2.4 Heat Dissipation......Page 579 13.2.5 Temperature Sensors......Page 580 13.3 Power Distribution......Page 582 13.3.1 On-Chip Power Distribution Network......Page 583 13.3.2 IR Drops......Page 584 13.3.3 L di/dt Noise......Page 585 13.3.4 On-Chip Bypass Capacitance......Page 586 13.3.5 Power Network Modeling......Page 587 13.3.7 Charge Pumps......Page 591 13.3.9 Energy Scavenging......Page 592 13.4.1 Definitions......Page 593 13.4.2 Clock System Architecture......Page 595 13.4.3 Global Clock Generation......Page 596 13.4.4 Global Clock Distribution......Page 598 13.4.5 Local Clock Gaters......Page 602 13.4.6 Clock Skew Budgets......Page 604 13.4.7 Adaptive Deskewing......Page 606 13.5.1 PLLs......Page 607 13.5.2 DLLs......Page 614 13.5.3 Pitfalls......Page 616 13.6 I/0......Page 617 13.6.1 Basic I/O Pad Circuits......Page 618 13.6.2 Electrostatic Discharge Protection......Page 620 13.6.3 Example: MOSIS I/O Pads......Page 621 13.6.4 Mixed-Voltage I/O......Page 623 13.7.1 High-Speed I/O Channels......Page 624 13.7.2 Channel Noise and Interference......Page 627 13.7.3 High-Speed Transmitters and Receivers......Page 628 13.7.5 Clock Recovery in Source-Synchronous Systems......Page 633 13.7.6 Clock Recovery in Mesochronous Systems......Page 635 13.8.1 True Random Number Generators......Page 637 13.8.2 Chip Identification......Page 638 13.9 Pitfalls and Fallacies......Page 639 Summary......Page 640 Exercises......Page 641 14.1 Introduction......Page 642 14.2 Structured Design Strategies......Page 644 14.2.1 A Software Radio—A System Example......Page 645 14.2.2 Hierarchy......Page 647 14.2.3 Regularity......Page 650 14.2.4 Modularity......Page 652 14.2.5 Locality......Page 653 14.3.1 Microprocessor/DSP......Page 654 14.3.2 Programmable Logic......Page 655 14.3.3 Gate Array and Sea of Gates Design......Page 658 14.3.4 Cell-Based Design......Page 659 14.3.5 Full Custom Design......Page 661 14.3.6 Platform-Based Design—System on a Chip......Page 662 14.4 Design Flows......Page 663 14.4.1 Behavioral Synthesis Design Flow (ASIC Design Flow)......Page 664 14.4.2 Automated Layout Generation......Page 668 14.4.3 Mixed-Signal or Custom-Design Flow......Page 672 14.5 Design Economics......Page 673 14.5.1 Non-Recurring Engineering Costs (NREs)......Page 674 14.5.2 Recurring Costs......Page 676 14.5.3 Fixed Costs......Page 677 14.5.4 Schedule......Page 678 14.5.6 Project Management......Page 680 14.5.7 Design Reuse......Page 681 14.6.4 DC Specifications......Page 682 14.7 CMOS Physical Design Styles......Page 683 Exercises......Page 684 15.1 Introduction......Page 686 15.1.1 Logic Verification......Page 687 15.1.2 Debugging......Page 689 15.1.3 Manufacturing Tests......Page 691 15.2.1 Testers and Test Fixtures......Page 693 15.2.2 Test Programs......Page 695 15.2.3 Handlers......Page 696 15.3.1 Test Vectors......Page 697 15.3.3 Regression Testing......Page 698 15.3.4 Version Control......Page 699 15.4 Silicon Debug Principles......Page 700 15.5 Manufacturing Test Principles......Page 703 15.5.1 Fault Models......Page 704 15.5.5 Survivability......Page 706 15.5.8 Delay Fault Testing......Page 707 15.6.1 Ad Hoc Testing......Page 708 15.6.2 Scan Design......Page 709 15.6.3 Built-In Self-Test (BIST)......Page 711 15.6.5 Design for Manufacturability......Page 714 15.7 Boundary Scan......Page 715 15.8 Testing in a University Environment......Page 716 15.9 Pitfalls and Fallacies......Page 717 Exercises......Page 724 A.1 Introduction......Page 726 A.1.1 Modules......Page 727 A.1.2 Simulation and Synthesis......Page 728 A.2.1 Bitwise Operators......Page 729 A.2.3 Reduction Operators......Page 730 A.2.4 Conditional Assignment......Page 731 A.2.5 Internal Variables......Page 733 A.2.7 Numbers......Page 735 A.2.8 Zs and Xs......Page 736 A.2.9 Bit Swizzling......Page 738 A.2.10 Delays......Page 739 A.3 Structural Modeling......Page 740 A.4.1 Registers......Page 744 A.4.2 Resettable Registers......Page 745 A.4.3 Enabled Registers......Page 746 A.4.4 Multiple Registers......Page 747 A.4.5 Latches......Page 748 A.4.6 Counters......Page 749 A.5 Combinational Logic with Always / Process Statements......Page 751 A.5.1 Case Statements......Page 753 A.5.2 If Statements......Page 756 A.5.4 Blocking and Nonblocking Assignments......Page 758 A.6.1 FSM Example......Page 762 A.6.2 State Enumeration......Page 763 A.6.3 FSM with Inputs......Page 765 A.7 Type Idiosyncracies......Page 767 A.8 Parameterized Modules......Page 769 A.9.1 RAM......Page 772 A.9.2 Multiported Register Files......Page 774 A.9.3 ROM......Page 775 A.10 Testbenches......Page 776 A.11 SystemVerilog Netlists......Page 781 A.12 Example: MIPS Processor......Page 782 A.12.1 Testbench......Page 783 A.12.2 SystemVerilog......Page 784 A.12.3 VHDL......Page 793 Exercises......Page 803 References......Page 812 A......Page 844 C......Page 845 D......Page 848 F......Page 850 G......Page 851 I......Page 852 L......Page 853 M......Page 854 N......Page 855 O......Page 856 P......Page 857 R......Page 859 S......Page 860 T......Page 862 V......Page 863 Z......Page 864 Credits......Page 865
For both introductory and advanced courses in VLSI design, this authoritative, comprehensive textbook is highly accessible to beginners, yet offers unparalleled breadth and depth for more experienced readers.
The Fourth Edition of CMOS VLSI Design: A Circuits and Systems perspective presents broad and in-depth coverage of the entire field of modern CMOS VLSI Design. The authors draw upon extensive industry and classroom experience to introduce today’s most advanced and effective chip design practices. They present extensively updated coverage of every key element of VLSI design, and illuminate the latest design challenges with 65 nm process examples. This book contains unsurpassed circuit-level coverage, as well as a rich set of problems and worked examples that provide deep practical insight to readers at all levels.