Chapter 1: Introduction
l.1 A Historical Perspective
1.2 Issues in Digital Integrated Circuit Design
l.3 To Pr()be Further
1.4 Exercises
PART l: A CIRCUIT PERSPECTIVE
Chapter 2: The Devices
2.l Introduction
2.2 The Diode
2.2.1 A First Glance at the Device
2.2.2 Static Behavior
2.2.3 Dynamic. or Transient, Behavior
2.2.4 The Actual Diode-Secondary Effects
2.2.5 The SPICE Diode Model
2.3 The MOS(FET) Transistor
2.3.l A First G1ance at the Device
2.3.2 Static Behavior
2.3.3 Dylla111ic Behavior
2.3.4 The Actual MOS Transistor-Secondary Effects
2.3.5 SPICE Models f()r the MOS Transistor
2.4 The Bipolar Transistor
2.4.l A First Glance at the Device
2.4.2 Static Behavior
2.4.3 Dynamic Behavior
2.4.4 The Actual Bipolar Transistor--Secondary Effects
2.4.5 SPICE Models for the Bipolar Transistor
2.5 A Word on Process Variations
2.6 Perspective f Future Device Deve1opments
2.7 Summary
2.8 TO Probe Further
2.9 Exercises and Design Problems
Appendix A: Layout Design Rules
Appendix B: Small-Signal Models
Chapter 3: The Inverter
3.1 Introduction
3.2 Definitions and Properties
3.2.1 Area and Complexity
3.2.2 Functionality and Robustness: The Static Behavior
3.2.3 Performance: The Dynamic Behavior
3.2.4 Power and Energy Consumption
3.3 The Static CMOS Inverter
3.3.l A First Glance
3.3.2 Eva1uating the Robustness of the CMOS Inverter: The Static Behavior
3.3.3 Performance of CMOS Inverter The Dynamic Behavior
3.3,4 Power Consumption and Power-De1ay Product
3.3.5 A Look into the Future: Effects of Technology Scaling
3.4 The Bipolar ECL Inverter
3.4.1 Issues in Bipolar Digital Design f A Case Study
3.4.2 The Emitter-Coupled Logic (ECL) Gate at a Glance
3.4.3 Robustness and Noise Immunity f The Steady-State Characteristics
3.4.4 ECL Switching Speed : The Transient Behavior
3.4.5 Power Consumption
3.4.6 Looking Ahead: Scaling the Technology
3.5 Perspective: Area, Performance, and Dissipation
3.6 Summary
3.7 TO Probe Further
3.8 Exercises and Design Problems
Chapter 4: Designing Combinational Logic Cates in CMOS
4.l Introduction
4.2 Static CMOS Design
4.2.1 Complementary CMOS
4.2.2 Ratioed Logic
4.2.3 Pass--Transistor Logic
4.3 Dynamic CMOS Design
4.3. l Dynamic Logic f Basic Principles
4.3.2 Performance of Dynamic Logic
4.3.3 Noise Considerations in Dynamic Design
4.3.4 Cascading Dynamic Gates
4.4 Power Consumption in CMOS Gates
4.4.l Switching Activity of a Logic Gate
4.4.2 Glitching in Static CMOS Circuits
4.4.3 Short-Circuit Currents in Static CMOS Circuits
4.4 4 Ana1yzing Power Consumption Using SPICE
4.4.5 Low-Power CMOS Design
4.5 Perspective: How to Choose a Logic Style
4.6 Summary
4.7 TO Probe Further
4.8 Exercises and Design Problems
Appendix C: Layout Techniques for Complex Cates
Chapter S: V6ry High Performance Digital Circuits
5.1 Introduction
5.2 Bipolar Gate Design
5.2.l Logic Design in ECL
5.2.2 Differential ECL
5.2.3 Current Mode Logic
5.2.4 ECL with Active Pull-Downs
5.2.5 Alternative Bipolar Logic Styles
5.3 The BiCMOS Approacl1
5.3.l The BiCMOS Gate at a Glance
5.3.2 The Static Behavior and Robustness Issues
5.3.3 Performance of the BiCMOS Inverter
5.3.4 Power Consumption
5.3.5 Techno1ogy Scaling
5.3.6 Designing BiCMOS Digital Gates
5.4 Digital Gallium Arsenide Design *
5.4.l GaAs Devices and Their Properties
5.4.2 GaAs Digital Circuit Design
5.5 Low--Temperature Digital Circuits *
5.5.l Low-Temperature Silicon Digital Circuits
5.5.2 Superconducting Logic Circuits
5.6 Perspective When to Use High--Performance Technologies
5.7 Summary
5.8 To Probe Further
5.9 Exercises and Design Problems
Appendix D: The Schottky-Barrier Diode
Chapter 6: Designing Sequential Logic Circuits
6.l Introduction
6.2 Static Sequential Circuits
6.2.l Bistability
6.2.2 Flip-Flop Classification
6.2.3 Master-Slave and Edge-Triggered FFs
6.2.4 CMOS Static Flip--Flops
6.2.5 Bipolar Static Flip-Flops
6.3 Dynamic Sequential Circuits
6.3.l The Pseudostatic Latch
6.3.2 The Dynamic Two-Phase Flip--Flop
6.3.3 The C2MOS Latch
6.3.4 NORA-CMOS-A Logic Sty1e for Pipelined Structures
6.3.5 True Sing1e-Phase Clocked Logic (TSPCL)
6.4 Non-Bistable Sequential Circuits
6 4.1 The Schmit1 Trigger
6.4.2 Monostable Sequential Circuits
6.4.3 Astable Circuits
6.5 Perspective: Choosing a Clocking Strategy
6.6 Summary
6.7 To Probe Further
6.8 Exercises and Design Problems
PART Il: A SYSTEMS PERSPECTIVE
Chapter 7: Designing Arithmetic Building Blocks
7.l Introduction
7.2 Datapaths in Digital Processor Architectures
7.3 The Adder
7.3.l The Binary Adder f Definitions
7.3.2 The Ful1 Adder: Circuit Design Considerations
7.3.3 The Binary Adder f Logic Design Considerations
7.4 The Multiplier
7.4.l The Multiplier' Definitions
7.4.2 The Array Multiplier
7.4.3 Other Multiplier Structures
7.5 The Shifter
7.5.l Barrel Shifter
7.5.2 Logarithmic Shifter
7.6 Other Arithmetic Operators
7.7 Power Considerations in Datapath Structures
7.7.l Reducing the Supply Voltage
7.7.2 Reducing the Effective Capacitance
7.8 Perspective f Design as a Trade-of T
7.9 Summary
7.l0 TO Probe Further
7.ll Exercises and Design Problems
Appendix E: From Datapath Schematics to Layout
Chapter 8: Coping with Interconnect
8.l Introduction
8.2 Capacitive Parasitics
8.2.l Modeling Interconnect Capacitance
8.2.2 Capacitance and Reliabi1ityXross Talk
8.2.3 Capacitance and Performance in CMOS
8.2.4 Capacitance and Performance in Bipolar Design
8.3 Resistive Parasitics
8.3.1 Modeling and Scaling of Interconnect Resistance
8.3.2 Resistance and Reliability-Ohmic Voltage Drop
8.3.3 Electromigration
8.3.4 Resistance and Per1orlTjance--RC Delay
8.4 Inductive Parasitics
8.4.1 Sources of Parasitic Inductances
8.4.2 Inductance and Reliability -Voltage Drop
8.4.3 Inductance and Performance--Transmission Line l
8.5 Comments on Packaging Technology
8.5.l Package Materials
8.5.2 Interconnect Levels
8.5.3 Thermal Considerations in Packaging
8.6 Perspective f When to Consider Interconnect Parasitics
8.7 Chapter Summary
8.8 To Probe Further
8.9 Exercises and Design Problems
Chapter 9: Timing issues in Digital Circuits
9.l Introduction
9.2 Clock Skew and Sequential Circuit Performance
9.2.l Single--Phase Edge-Triggered Clocking
9.2.2 Two--Phase Master-Slave Clocking
9.2.3 Other Clocking Styles
9.2.4 How to Counter Clock Skew Problems
9.2.5 Case Study--The Digital Alpha 2 I l64 Microprocessor
9.3 Self-Timed Circuit Design*
9.3.l Se1fTimed Concept
9.3.2 Completion-Signal Generation
9.3.3 Self Timed Signaling
9.4 Synchronizers and Arbiters*
9.4.1 Synchronizers--Concept and Implementation
9.4.2 Arbiters
9.5 Clock Generation and Synchronization*
9.5.1 Clock Generators
9.5.2 Synchronization at the System Level
9.6 Perspective f Synchronous versus Asynchronous Design
9.7 Summary
9.8 To Probe Further
9.9 Exercises and Design Problems
Chapter 10: Designing Memory and Array Structures
10.l Introduct1on
I0.2 Semiconductor Memories--An Introduction
10.2.1 Memory Classificat1on
l0.2.2 Memory Architectures and Building Blocks
10.3 The Memory Core
l0.3.1 Read-Only Memories
l0.3.2 Nonvolatile Read-Write Memories
l0.3.3 Read--Write Memories (RAM)
l0.4 Memory Peripheral Circuitry
10.4. l The Address Decoders
10.4.2 Sense Amplifiers
l0.4.3 Drivers/Buffers
l0.4.4 Timing and Control
l0.5 Memory Reliability and Yield
10.5.l Signal-To-Noise Ratio
10.5.2 Memory yield
l0.6 Case Studies in Memory Design
l0.6.1 The Programmable Logic Array (PLA)
l0.6.2 A 4 Mbit SRAM
l0.7 Perspective: Semiconductor Memory Trends and Evolutions
l0.8 Summary
l0.9 To Probe Further
l0.l0 Exercises and Design Problems
Chapter 11: Design Methodologies
ll.l Introduction
ll.2 Design Analysis and Simulation
ll.2.l Representing Digital Data as a Continuous Entity
ll.2.2 Representing Data as a Discrete Entity
ll.2.3 Using Higher-Level Data Models
1l.3 Design Verification
l1.3.l Electrical Verification
ll.3.2 Timing Verification
l1.3.3 Functional (or Formal) Verification
ll.4 Implementation Approaches
ll.4.l Custom Circuit Design
ll.4.2 Cell-Based Design Methodology
ll.4.3 Array--Based Implementation Approaches
ll.5 Design Synthesis
ll.5.l Circuit Synthesis
ll.5.2 Logic Synthesis
ll.5.3 Architecture Synthesis
l1.6 Validation and Testing of Manufactured Circuits
1l.6.l Test Procedure
11.6.2 Design for Testability
11.6.3 Test-Pattern Generation
ll.7 Perspective and Summary
ll.8 TO Probe Further
ll.9 Exercises and Design Problems
Problem Solutions
Index