Clocking in Modern VLSI Systems
1 Introduction and Overview Thucydides Xanthopoulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 The Clock Design Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Some Subjective Milestones in the History of Microprocessor Clocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2.1 Integrating the PLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2.2 Clock Distribution Moves to the Forefront: The Dawn of the GHz Race . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2.3 Delay Lock Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2.4 Exploiting Inductance for Oscillation and Distribution . . . . . . . . . 5 1.2.5 Variable Frequency (and Voltage) . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2.6 Frequency Increase (or Supply Lowering) Through Resiliency . . . 6 1.3 Overview of this Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2 Modern Clock Distribution Systems Simon Tam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2 Definitions and Design Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.2.1 Setup and Hold Timing Constraints . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.2 Clock Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Static and Dynamic Clock Uncertainties . . . . . . . . . . . . . . . . . . . . . 14 Distribution Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Duty Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.2.3 Clock Distribution Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.3 Clock Distribution Topologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.3.1 Unconstrained Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.3.2 Balanced Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.3.3 Central Spine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.3.4 Spines with Matched Branches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.3.5 Grid. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.3.6 Hybrid Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.4 Microprocessor Clock Distributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.5 Clock Design for Test and Manufacturing . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.5.1 Global and Local Clock Compensations. . . . . . . . . . . . . . . . . . . . . . 36 2.5.2 Global Clock Compensation Architecture . . . . . . . . . . . . . . . . . . . . 37 2.5.3 Local Clock Compensation Architecture . . . . . . . . . . . . . . . . . . . . . 43 2.6 Elements of Clock Distribution Circuits . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.6.1 Clock Duty Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.6.2 Power Supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.7 Clock DFX Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 2.7.1 Optical Probing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 2.7.2 On-Die Measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 2.7.3 Locating Critical Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 2.7.4 On-Die-Clock Shrink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 2.8 Multiclock Domain Distributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 2.8.1 Multicore Processor Clock Distribution . . . . . . . . . . . . . . . . . . . . . . 55 2.9 Future Directions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 2.10 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 3 Clocked Elements James Warnock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 3.2 CSE Design Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 3.2.1 Latency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 3.2.2 Hold Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 3.2.3 Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 3.2.4 Scan Design for CSEs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 3.3 Static Latch Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.3.1 Master–Slave Latches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.3.2 Two-Phase Level-Sensitive Latches . . . . . . . . . . . . . . . . . . . . . . . . . 76 3.3.3 Pulsed-Clock Static Level-Sensitive Latches . . . . . . . . . . . . . . . . . . 78 3.4 Flip-Flop Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 3.4.1 Sense-Amp Style Flip-Flop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 3.4.2 Hybrid Latch Flip-Flop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3.4.3 Semi-Dynamic Flip-Flop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 3.5 Test and Debug Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 3.6 CSE Design for Variability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 3.6.1 Variability-Induced Frequency Degradation . . . . . . . . . . . . . . . . . . . 88 3.6.2 Variability-Induced Functional Failures . . . . . . . . . . . . . . . . . . . . . . 89 3.7 Reliability Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 3.7.1 Soft Error Rate Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 3.7.2 End of Life Considerations for CSE Design . . . . . . . . . . . . . . . . . . 93 3.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 4 Exploiting Inductance Nestoras Tzartzanis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 4.2 Monolithic Inductance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 4.2.1 Spiral Inductors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 4.2.2 Transmission Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 4.3 Inductor-Based Clock Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 4.3.1 Differential LC VCO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 4.3.2 Quadrature LC VCO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 4.3.3 Distributed VCO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 4.3.4 Poly-Phase Circularly Distributed VCO . . . . . . . . . . . . . . . . . . . . . . 121 4.4 Clock Distribution Using Inductance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 4.4.1 Rotary Traveling-Wave Oscillator Arrays . . . . . . . . . . . . . . . . . . . . 123 4.4.2 Standing Wave Oscillator and Grid . . . . . . . . . . . . . . . . . . . . . . . . . . 124 4.4.3 Inductor-Based Resonant Global Clock Distribution . . . . . . . . . . . 128 4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 5 Phase Noise and Jitter Scott Meninger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 5.2 Timing Error in the Time Domain: Jitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 5.2.1 Phase Jitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 5.2.2 Period Jitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 5.2.3 Cycle-to-Cycle Jitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 5.3 Timing Error in the Frequency Domain: Phase Noise . . . . . . . . . . . . . . . . . 142 5.3.1 Relationship Between Phase Noise and Jitter . . . . . . . . . . . . . . . . . 143 5.4 Frequency Domain Modeling of PLLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 5.4.1 PLL Phase Noise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 5.4.2 PLL Intrinsic Noise: VCO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 5.4.3 PLL Intrinsic Noise: Feedback Divider . . . . . . . . . . . . . . . . . . . . . . 146 5.4.4 PLL Intrinsic Noise: Phase Detector . . . . . . . . . . . . . . . . . . . . . . . . . 146 5.4.5 PLL Intrinsic Noise: Charge Pump . . . . . . . . . . . . . . . . . . . . . . . . . . 148 5.4.6 PLL Intrinsic Noise: Loop Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 5.4.7 PLL Extrinsic Noise: Reference Clock . . . . . . . . . . . . . . . . . . . . . . . 151 5.4.8 PLL Extrinsic Noise: Supply Noise . . . . . . . . . . . . . . . . . . . . . . . . . 152 5.4.9 PLL Extrinsic Noise: Buffer Delay and Noise . . . . . . . . . . . . . . . . . 152 5.4.10 PLL Phase Noise Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 Some Intuition on Reference Clock Phase Noise (or Jitter) Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 5.4.11 Phase Noise to Period Jitter and Phase Noise to C2C Jitter . . . . . . 156 5.4.12 Phase, Period, and C2C Jitter Examples . . . . . . . . . . . . . . . . . . . . . . 159 Phase Jitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Period Jitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 C2C Jitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 5.5 Reference Clock Jitter Transfer Example: Microprocessor . . . . . . . . . . . . . 161 5.5.1 A Proposed Core Clock Methodology Using Mean Time Between Failures (MTBF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 5.6 Non-Random Jitter Distributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 5.6.1 Reference Spurs in PLLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 5.6.2 Duty Cycle Distortion (DCD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 5.6.3 Power Supply Noise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 5.6.4 Inter-Symbol Interference (ISI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 5.6.5 Including Deterministic Jitter in Analysis . . . . . . . . . . . . . . . . . . . . 172 5.7 Reference Clock Jitter Transfer Example: Serial Link . . . . . . . . . . . . . . . . . 173 5.7.1 Serial Link Budgeting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 5.7.2 Bit Error Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 5.7.3 Serial Link Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 5.8 Delay Locked Loops (DLLs) and Jitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 5.9 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 6 Digital Delay Lock Techniques Thucydides Xanthopoulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 6.2 What Constitutes a Digital Delay Locked Loop? . . . . . . . . . . . . . . . . . . . . . 183 6.3 An Overview of DLL Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 6.4 Phase Detectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 6.4.1 Metastability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 An Example of Phase Detector Failure Calculation . . . . . . . . . . . . 201 6.5 DCDL Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 6.5.1 Gate-Delay DCDLs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 Synchronous vs. Asynchronous Operation in Coarse DCDLs . . . . 207 6.5.2 Subgate-Delay DCDLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 6.5.3 Resolution vs. Dynamic Range in DCDLs . . . . . . . . . . . . . . . . . . . . 211 6.6 Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 6.6.1 Sensitivity to Initial Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 6.6.2 Dynamic Range Increase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 6.6.3 Stability and Bandwidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 6.6.4 Lock Acquisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 6.7 Putting it All Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 6.8 Noise Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 6.9 Advanced Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 6.9.1 Duty Cycle Correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 6.9.2 Clock Multiplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 6.9.3 Infinite Dynamic Range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 6.9.4 Clock-Data Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 6.9.5 On-Chip Temperature Sensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 6.10 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 7 Clocking and Variation James Tschanz. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 7.2 Variation Reduction Through Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 7.2.1 Skew and Jitter-Tolerant Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 7.2.2 Time Borrowing for Datapath Variation Reduction . . . . . . . . . . . . . 246 7.3 Variation Reduction Through Tuning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 7.3.1 Manufacturing Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 7.3.2 Active Clock Deskew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 7.3.3 Dynamic Frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 7.4 Variation Reduction Through Resiliency . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 7.4.1 Timing Error Detection – Error Detection Sequentials . . . . . . . . . . 262 7.4.2 Timing Error Correction and Recovery . . . . . . . . . . . . . . . . . . . . . . 266 7.4.3 Results: Guardband Reduction Through Resiliency . . . . . . . . . . . . 268 7.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 8 Physical Design Considerations Georgios Konstadinidis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 8.2 Clock Skew Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 8.2.1 Setup Time Skew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 8.2.2 Hold Time Skew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 8.2.3 Half-Cycle Setup Skew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 8.2.4 Multiple-Cycle Setup Skew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 8.2.5 Grid or H-Tree? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 8.3 Transistor Variation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 8.3.1 Channel Length Variation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 Photolithography Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 Poly Flaring and Poly Pullback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 Line Edge Roughness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 Channel Length Variation Control. . . . . . . . . . . . . . . . . . . . . . . . . . . 288 8.3.2 Dopant Fluctuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 8.3.3 Well Proximity Effect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 8.3.4 Strain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Stress Memorization and Tensile Stress Liner . . . . . . . . . . . . . . . . . 293 SiGe and Compressive Stress Liner . . . . . . . . . . . . . . . . . . . . . . . . . 293 Shallow Trench Isolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 New Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 8.3.5 Long Term Effects on Variation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 NBTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 Hot Carrier Injection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 8.4 Voltage Variation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 8.5 Temperature Variation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 8.6 Interconnect Variation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 8.7 Conclusion: Clock Design and Analysis Guidelines: Putting All Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 8.7.1 Clock Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 8.7.2 Minimizing Variation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2.1 Integrating the PLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2.2 Clock Distribution Moves to the Forefront: The Dawn of the GHz Race . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2.3 Delay Lock Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2.4 Exploiting Inductance for Oscillation and Distribution . . . . . . . . . 5 1.2.5 Variable Frequency (and Voltage) . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2.6 Frequency Increase (or Supply Lowering) Through Resiliency . . . 6 1.3 Overview of this Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2 Modern Clock Distribution Systems Simon Tam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2 Definitions and Design Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.2.1 Setup and Hold Timing Constraints . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.2 Clock Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Static and Dynamic Clock Uncertainties . . . . . . . . . . . . . . . . . . . . . 14 Distribution Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Duty Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.2.3 Clock Distribution Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.3 Clock Distribution Topologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.3.1 Unconstrained Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.3.2 Balanced Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.3.3 Central Spine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.3.4 Spines with Matched Branches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.3.5 Grid. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.3.6 Hybrid Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.4 Microprocessor Clock Distributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.5 Clock Design for Test and Manufacturing . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.5.1 Global and Local Clock Compensations. . . . . . . . . . . . . . . . . . . . . . 36 2.5.2 Global Clock Compensation Architecture . . . . . . . . . . . . . . . . . . . . 37 2.5.3 Local Clock Compensation Architecture . . . . . . . . . . . . . . . . . . . . . 43 2.6 Elements of Clock Distribution Circuits . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.6.1 Clock Duty Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.6.2 Power Supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.7 Clock DFX Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 2.7.1 Optical Probing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 2.7.2 On-Die Measurement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 2.7.3 Locating Critical Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 2.7.4 On-Die-Clock Shrink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 2.8 Multiclock Domain Distributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 2.8.1 Multicore Processor Clock Distribution . . . . . . . . . . . . . . . . . . . . . . 55 2.9 Future Directions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 2.10 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 3 Clocked Elements James Warnock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 3.2 CSE Design Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 3.2.1 Latency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 3.2.2 Hold Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 3.2.3 Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 3.2.4 Scan Design for CSEs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 3.3 Static Latch Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.3.1 Master–Slave Latches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.3.2 Two-Phase Level-Sensitive Latches . . . . . . . . . . . . . . . . . . . . . . . . . 76 3.3.3 Pulsed-Clock Static Level-Sensitive Latches . . . . . . . . . . . . . . . . . . 78 3.4 Flip-Flop Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 3.4.1 Sense-Amp Style Flip-Flop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 3.4.2 Hybrid Latch Flip-Flop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3.4.3 Semi-Dynamic Flip-Flop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 3.5 Test and Debug Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 3.6 CSE Design for Variability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 3.6.1 Variability-Induced Frequency Degradation . . . . . . . . . . . . . . . . . . . 88 3.6.2 Variability-Induced Functional Failures . . . . . . . . . . . . . . . . . . . . . . 89 3.7 Reliability Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 3.7.1 Soft Error Rate Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 3.7.2 End of Life Considerations for CSE Design . . . . . . . . . . . . . . . . . . 93 3.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 4 Exploiting Inductance Nestoras Tzartzanis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 4.2 Monolithic Inductance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 4.2.1 Spiral Inductors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 4.2.2 Transmission Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 4.3 Inductor-Based Clock Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 4.3.1 Differential LC VCO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 4.3.2 Quadrature LC VCO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 4.3.3 Distributed VCO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 4.3.4 Poly-Phase Circularly Distributed VCO . . . . . . . . . . . . . . . . . . . . . . 121 4.4 Clock Distribution Using Inductance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 4.4.1 Rotary Traveling-Wave Oscillator Arrays . . . . . . . . . . . . . . . . . . . . 123 4.4.2 Standing Wave Oscillator and Grid . . . . . . . . . . . . . . . . . . . . . . . . . . 124 4.4.3 Inductor-Based Resonant Global Clock Distribution . . . . . . . . . . . 128 4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 5 Phase Noise and Jitter Scott Meninger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 5.2 Timing Error in the Time Domain: Jitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 5.2.1 Phase Jitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 5.2.2 Period Jitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 5.2.3 Cycle-to-Cycle Jitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 5.3 Timing Error in the Frequency Domain: Phase Noise . . . . . . . . . . . . . . . . . 142 5.3.1 Relationship Between Phase Noise and Jitter . . . . . . . . . . . . . . . . . 143 5.4 Frequency Domain Modeling of PLLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 5.4.1 PLL Phase Noise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 5.4.2 PLL Intrinsic Noise: VCO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 5.4.3 PLL Intrinsic Noise: Feedback Divider . . . . . . . . . . . . . . . . . . . . . . 146 5.4.4 PLL Intrinsic Noise: Phase Detector . . . . . . . . . . . . . . . . . . . . . . . . . 146 5.4.5 PLL Intrinsic Noise: Charge Pump . . . . . . . . . . . . . . . . . . . . . . . . . . 148 5.4.6 PLL Intrinsic Noise: Loop Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 5.4.7 PLL Extrinsic Noise: Reference Clock . . . . . . . . . . . . . . . . . . . . . . . 151 5.4.8 PLL Extrinsic Noise: Supply Noise . . . . . . . . . . . . . . . . . . . . . . . . . 152 5.4.9 PLL Extrinsic Noise: Buffer Delay and Noise . . . . . . . . . . . . . . . . . 152 5.4.10 PLL Phase Noise Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 Some Intuition on Reference Clock Phase Noise (or Jitter) Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 5.4.11 Phase Noise to Period Jitter and Phase Noise to C2C Jitter . . . . . . 156 5.4.12 Phase, Period, and C2C Jitter Examples . . . . . . . . . . . . . . . . . . . . . . 159 Phase Jitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Period Jitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 C2C Jitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 5.5 Reference Clock Jitter Transfer Example: Microprocessor . . . . . . . . . . . . . 161 5.5.1 A Proposed Core Clock Methodology Using Mean Time Between Failures (MTBF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 5.6 Non-Random Jitter Distributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 5.6.1 Reference Spurs in PLLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 5.6.2 Duty Cycle Distortion (DCD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 5.6.3 Power Supply Noise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 5.6.4 Inter-Symbol Interference (ISI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 5.6.5 Including Deterministic Jitter in Analysis . . . . . . . . . . . . . . . . . . . . 172 5.7 Reference Clock Jitter Transfer Example: Serial Link . . . . . . . . . . . . . . . . . 173 5.7.1 Serial Link Budgeting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 5.7.2 Bit Error Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 5.7.3 Serial Link Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 5.8 Delay Locked Loops (DLLs) and Jitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 5.9 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 6 Digital Delay Lock Techniques Thucydides Xanthopoulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 6.2 What Constitutes a Digital Delay Locked Loop? . . . . . . . . . . . . . . . . . . . . . 183 6.3 An Overview of DLL Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 6.4 Phase Detectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 6.4.1 Metastability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 An Example of Phase Detector Failure Calculation . . . . . . . . . . . . 201 6.5 DCDL Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 6.5.1 Gate-Delay DCDLs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 Synchronous vs. Asynchronous Operation in Coarse DCDLs . . . . 207 6.5.2 Subgate-Delay DCDLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 6.5.3 Resolution vs. Dynamic Range in DCDLs . . . . . . . . . . . . . . . . . . . . 211 6.6 Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 6.6.1 Sensitivity to Initial Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 6.6.2 Dynamic Range Increase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 6.6.3 Stability and Bandwidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 6.6.4 Lock Acquisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 6.7 Putting it All Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 6.8 Noise Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 6.9 Advanced Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 6.9.1 Duty Cycle Correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 6.9.2 Clock Multiplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 6.9.3 Infinite Dynamic Range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 6.9.4 Clock-Data Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 6.9.5 On-Chip Temperature Sensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 6.10 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 7 Clocking and Variation James Tschanz. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 7.2 Variation Reduction Through Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 7.2.1 Skew and Jitter-Tolerant Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 7.2.2 Time Borrowing for Datapath Variation Reduction . . . . . . . . . . . . . 246 7.3 Variation Reduction Through Tuning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 7.3.1 Manufacturing Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 7.3.2 Active Clock Deskew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 7.3.3 Dynamic Frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 7.4 Variation Reduction Through Resiliency . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 7.4.1 Timing Error Detection – Error Detection Sequentials . . . . . . . . . . 262 7.4.2 Timing Error Correction and Recovery . . . . . . . . . . . . . . . . . . . . . . 266 7.4.3 Results: Guardband Reduction Through Resiliency . . . . . . . . . . . . 268 7.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 8 Physical Design Considerations Georgios Konstadinidis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 8.2 Clock Skew Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 8.2.1 Setup Time Skew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 8.2.2 Hold Time Skew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 8.2.3 Half-Cycle Setup Skew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 8.2.4 Multiple-Cycle Setup Skew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 8.2.5 Grid or H-Tree? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 8.3 Transistor Variation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 8.3.1 Channel Length Variation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 Photolithography Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 Poly Flaring and Poly Pullback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 Line Edge Roughness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 Channel Length Variation Control. . . . . . . . . . . . . . . . . . . . . . . . . . . 288 8.3.2 Dopant Fluctuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 8.3.3 Well Proximity Effect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 8.3.4 Strain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Stress Memorization and Tensile Stress Liner . . . . . . . . . . . . . . . . . 293 SiGe and Compressive Stress Liner . . . . . . . . . . . . . . . . . . . . . . . . . 293 Shallow Trench Isolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 New Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 8.3.5 Long Term Effects on Variation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 NBTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 Hot Carrier Injection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 8.4 Voltage Variation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 8.5 Temperature Variation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 8.6 Interconnect Variation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 8.7 Conclusion: Clock Design and Analysis Guidelines: Putting All Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 8.7.1 Clock Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 8.7.2 Minimizing Variation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
用户评论