Preface
Part 1 The Fabrics
Chapter 1 Introduction
1.1 A Historical Perspective
1.2 Issues in Digital Integrated Circuit Design
1.3 Quality Metrics of a Digital Design
1.3.1 Cost of an Integrated Circuit
1.3.2 Functionality and Robustness
1.3.3 Performance
1.3.4 Power and Energy Consumption
1.4 Summary
1.5 To Probe Further
Reference Books
References
Chapter 2 The Manufacturing Process
2.1 Introduction
2.2 Manufacturing CMOS Integrated Circuits
2.2.1 The Silicon Wafer
2.2.2 Photolithography
2.2.3 Some Recurring Process Steps
2.2.4 Simplified CMOS Process Flow
2.3 Design Rules-The Contract between Designer and Process Engineer
2.4 Packaging Integrated Circuits
2.4.1 Package Materials
2.4.2 Interconnect Levels
2.4.3 Thermal Considerations in Packaging
2.5 Perspective--Trends in Process Technology
2.5.1 Short-Term Developments
2.5.2 In the Longer Term
2.6 Summary
2.7 To Probe Further
References
Design Methodology Insert A IC LAYOUT
A.1 To Probe Further
References
Chapter 3 The Devices
3.1 Introduction
3.2 The Diode
3.2.1 A First Glance at the Diode--The Depletion Region
3.2.2 Static Behavior
3.2.3 Dynamic, or Transient, Behavior
3.2.4 The Actual Diode--Secondary Effects
3.2.5 The SPICE Diode Model
3.3 The MOS(FET) Transistor
3.3.1 A First Glance at the Device
3.3.2 The MOS Transistor under Static Conditions
3.3.3 The Actual MOS Transistor---Some Secondary Effects
3.3.4 SPICE Models for the MOS Transistor
3.4 A Word on Process Variations
3.5 Perspective--Technology Scaling
3.6 Summary
3.7 To Probe Further
References
Design Methodology Insert B Circuit Simulation
References
Chapter 4 The Wire
4.1 Introduction
4.2 A First Glance
4.3 Interconnect Parameters--Capacitance, Resistance, and Inductance
4.3.1 Capacitance
4.3.2 Resistance
4.3.3 Inductance
4.4 Electrical Wire Models
4.4.1 The Ideal Wire
4.4.2 The Lumped Model
4.4.3 The Lumped RC Model
4.4.4 The Distributed rc Line
4.4.5 The Transmission Line
SPICE Wire Models
4.5.1 Distributed rc Lines in SPICE
4.5.2 Transmission Line Models in SPICE
4.5.3 Perspective: A Look into the Future
4.6 Summary
4.7 To Probe Further
References
Part 2 A Circuit Perspective
Chapter 5 The CMOS Inverter
5.1 Introduction
5.2 The Static CMOS Inverter--An Intuitive Perspective
5.3 Evaluating the Robustness of the CMOS Inverter: The Static Behavior
5.3.1 Switching Threshold
5.3.2 Noise Margins
5.3.3 Robustness Revisited
5.4 Performance of CMOS Inverter: The Dynamic Behavior
5.4.1 Computing the Capacitances
5.4.2 Propagation Delay: First-Order Analysis
5.4.3 Propagation Delay from a Design Perspective
5.5 Power, Energy, and Energy Delay
5.5.1 Dynamic Power Consumption
5.5.2 Static Consumption
5.5.3 Putting It All Together
5.5.4 Analyzing Power Consumption Using SPICE
5.6 Perspective: Technology Scaling and its Impact on the Inverter Metrics
5.7 Summary
5.8 To Probe Further
References
Chapter 6 Designing Combinational Logic Gates in CMOS
6.1 Introduction
6.2 Static CMOS Design
6.2.1 Complementary CMOS
6.2.2 Ratioed Logic
6.2.3 Pass-Transistor Logic
6.3 Dynamic CMOS Design
6.3.1 Dynamic Logic: Basic Principles
6.3.2 Speed and Power Dissipation of Dynamic Logic
6.3.3 Signal Integrity Issues in Dynamic Design
6.3.4 Cascading Dynamic Gates
6.4 Perspectives
6.4.1 How to Choose a Logic Style?
6.4.2 Designing Logic for Reduced Supply Voltages
6.5 Summary
6.6 To Probe Further
References
Design Methodology Insert C How to Simulate Complex Logic Circuits
C.1 Representing Digital Data as a Continuous Entity
C.2 Representing Data as a Discrete Entity
C.3 Using Higher-Level Data Models
References
Design Methodology Insert D Layout Techniques for Complex Gates
Chapter 7 Designing Sequential Logic Circuits
7.1 Introduction
7.1.1 Timing Metrics for Sequential Circuits
7.1.2 Classification of Memory Elements
7.2 Static Latches and Registers
7.2.1 The Bistability Principle
7.2.2 Multiplexer-Based Latches
7.2.3 Master-Slave Edge-Triggered Register
7.2.4 Low-Voltage Static Latches
7.2.5 Static SR Flip-Flops Writing Data by Pure Force
7.3 Dynamic Latches and Registers
7.3.1 Dynamic Transmission-Gate Edge-triggered Registers
7.3.2 C2MOS--A Clock-Skew Insensitive Approach
7.3.3 True Single-Phase Clocked Register (TSPCR)
7.4 Alternative Register Styles*
7.4.1 Pulse Registers
7.4.2 Sense-Amplifier-Based Registers
7.5 Pipelining: An Approach to Optimize Sequential Circuits
7.5.1 Latch- versus Register-Based Pipelines
7.5.2 NORA-CMOS---A Logic Style for Pipelined Structures
7.6 Nonbistable Sequential Circuits
7.6.1 The Schmitt Trigger
7.6.2 Monostable Sequential Circuits
7.6.3 Astable Circuits
7.7 Perspective: Choosing a Clocking Strategy
7.8 Summary
7.9 To Probe Further
References
Part 3 A System Perspective
Chapter 8 Implementation Strategies for Digital ICS
8.1 Introduction
8.2 From Custom to Semicustom and Structured-Array Design Approaches
8.3 Custom Circuit Design
8.4 Cell-Based Design Methodology
8.4.1 Standard Cell
8.4.2 Compiled Cells
8.4.3 Macrocells, Megacells and Intellectual Property
8.4.4 Semicustom Design Flow
8.5 Array-Based Implementation Approaches
8.5.1 Prediffused (or Mask-Programmable) Arrays
8.5.2 Prewired Arrays
8.6 Perspective The Implementation Platform of the Future
8.7 Summary
8.8 To Probe Further
References
Design Methodology Insert E Characterizing Logic and Sequential Cells
References
Design Methodology Insert F Design Synthesis
References
Chapter 9 Coping with Interconnect
9.1 Introduction
9.2 Capacitive Parasitics
9.2.1 Capacitance and Reliability---Cross Talk
9.2.2 Capacitance and Performance in CMOS
9.3 Resistive Parasitics
9.3.1 Resistance and Reliability--Ohmic Voltage Drop
9.3.2 Electromigration
9.3.3 Resistance and Performance--RC Delay
9.4 Inductive Parasitics*
9.4.1 Inductance and Reliability-- Voltage Drop
9.4.2 Inductance and Performance Transmission-line Effects
9.5 Advanced Interconnect Techniques
9.5.1 Reduced-Swing Circuits
9.5.2 Current-Mode Transmission Techniques
9.6 Perspective: Networks-on-a-Chip
9.7 Summary
9.8 To Probe Further
References
Chapter 10 Timing Issues in Digital Circuits
10.1 Introduction
10.2 Timing Classification of Digital Systems
10.2.1 Synchronous Interconnect
10.2.2 Mesochronous interconnect
10.2.3 Plesiochronous Interconnect
10.2.4 Asynchronous Interconnect
10.3 Synchronous Design--An In-depth Perspective
10.3.1 Synchronous Timing Basics
10.3.2 Sources of Skew and Jitter
10.3.3 Clock-Distribution Techniques
10.3.4 Latch-Based Clocking
10.4 Self-Timed Circuit Design*
10.4.1 Self-Timed Logic--An Asynchronous Technique
10.4.2 Completion-Signal Generation
10.4.3 Self-Timed Signaling
10.4.4 Practical Examples of Self-Timed Logic
10.5 Synchronizers and Arbiters*
10.5.1 Synchronizers---Concept and Implementation
10.5.2 Arbiters
10.6 Clock Synthesis and Synchronization Using a Phase-Locked Loop*
10.6.1 Basic Concept
10.6.2 Building Blocks of a PLL
10.7 Future Directions and Perspectives
10.7.1 Distributed Clocking Using DLLs
10.7.2 Optical Clock Distribution
10.7.3 Synchronous versus Asynchronous Design
10.8 Summary
10.9 To Probe Further
References
Design Methodology Insert G Design Verification
References
Chapter 11 Designing Arithmetic Building Blocks
11.1 Introduction
11.2 Datapaths in Digital Processor Architectures
11.3 The Adder
11.3.1 The Binary Adder: Definitions
11.3.2 The Full Adder: Circuit Design Considerations
11.3.3 The Binary Adder: Logic Design Considerations
11.4 The Multiplier
11.4.1 The Multiplier: Definitions
11.4.2 Partial-Product Generation
11.4.3 Partial-Product Accumulation
11.4.4 Final Addition
11.4.5 Multiplier Summary
11.5 The Shifter
11.5.1 Barrel Shifter
11.5.2 Logarithmic Shifter
11.6 Other Arithmetic Operators
11.7 Power and Speed Trade-offs in Datapath Structures*
11.7.1 Design Time Power-Reduction Techniques
11.7.2 Run-Time Power Management
11.7.3 Reducing the Power in Standby (or Sleep) Mode
11.8 Perspective: Design as a Trade-off
11.9 Summary
11.10 To Probe Further
References
Chapter 12 Designing Memory and Array Structures
12.1 Introduction
12.1.1 Memory Classification
12.1.2 Memory Architectures and Building Blocks
12.2 The Memory Core
12.2.1 Read-Only Memories
12.2.2 Nonvolatile Read-Write Memories
12.2.3 Read-Write Memories (RAM)
12.2.4 Contents-Addressable or Associative Memory (CAM)
12.3 Memory Peripheral Circuitry*
12.3.1 The Address Decoders
12.3.2 Sense Amplifiers
12.3.3 Voltage References
12.3.4 Drivers/Buffers
12.3.5 Timing and Control
12.4 Memory Reliability and Yield*
12.4.1 Signal-to-Noise Ratio
12.4.2 Memory Yield
12.5 Power Dissipation in Memories*
12.5.1 Sources of Power Dissipation in Memories
12.5.2 Partitioning of the Memory
12.5.3 Addressing the Active Power Dissipation
12.5.4 Data-Retention Dissipation
12.5.5 Summary
12.6 Case Studies in Memory Design
12.6.1 The Programmable Logic Array (PLA)
12.6.2 A 4-Mbit SRAM
12.6.3 A 1-Gbit NAND Flash Memory
12.7 Perspective: Semiconductor Memory Trends and Evolutions
12.8 Summary
12.9 To Probe Further
References
Design Methodology Insert H Validation and Test of Manufactured Circuits
H. 1 Introduction
H.2 Test Procedure
H.3 Design for Testability
H.3.1 Issues in Design for Testability
H.3.2 Ad Hoc Testing
H.3.3 Scan-Based Test
H.3.4 Boundary-Scan Design
H.3.5 Built-in Self-Test (BIST)
H.4 Test-Pattern Generation
H.4.1 Fault Models
H.4.2 Automatic Test-Pattern Generation (ATPG)
H.4.3 Fault Simulation
H.5 To Probe Further
References
Problem Solutions
Indexs