|
1 The Logical Effort Method |
|
|
1 | (26) |
|
1.1 An RC Model for the Delay of Logic Gates |
|
|
1 | (3) |
|
1.2 The Logical Effort Model |
|
|
4 | (1) |
|
1.3 Limitations of the Original Logical Effort Model |
|
|
5 | (3) |
|
1.4 Basic Estimation of Logical Effort Parameters |
|
|
8 | (2) |
|
1.5 Accurate Estimation of Parameters G and p |
|
|
10 | (6) |
|
1.5.1 Estimation of the Capacitance at Internal Nodes |
|
|
11 | (1) |
|
|
12 | (2) |
|
1.5.3 Parameter Calibration |
|
|
14 | (1) |
|
|
15 | (1) |
|
1.6 Multistage Logic Networks and Delay Minimization |
|
|
16 | (3) |
|
|
16 | (1) |
|
|
17 | (2) |
|
1.7 Optimum Number of Stages |
|
|
19 | (1) |
|
1.8 Extension of the Model to Non-static Gates |
|
|
20 | (4) |
|
1.8.1 Dynamic and Domino Gates with Keeper |
|
|
21 | (1) |
|
1.8.2 Logic with Transmission Gates and Pass-transistors |
|
|
22 | (2) |
|
1.9 Nonlinearities and Need for Iterative Procedures |
|
|
24 | (3) |
|
Appendix: Derivation of Logical Effort with a Transistor Current Source Model |
|
|
25 | (2) |
|
2 Design in the Energy-Delay Space |
|
|
27 | (30) |
|
|
27 | (4) |
|
2.2 Energy-Delay Space Analysis and Hardware-Intensity |
|
|
31 | (6) |
|
2.2.1 The Energy-Efficient Curve |
|
|
31 | (2) |
|
2.2.2 Energy-Delay Metrics and Hardware Intensity |
|
|
33 | (2) |
|
2.2.3 Voltage Intensity and Generalization of the Sensitivity Criterion |
|
|
35 | (2) |
|
2.3 Energy-Efficient Design of Digital Circuits |
|
|
37 | (9) |
|
2.3.1 The Role of the Input Capacitance |
|
|
37 | (1) |
|
2.3.2 Derivation of Design Space Bounds |
|
|
38 | (5) |
|
2.3.3 Simulation-Based Optimization of Small-Sized Circuits |
|
|
43 | (1) |
|
2.3.4 Nonlinear and Convex Optimization of Large Size Circuits |
|
|
44 | (2) |
|
2.4 Design of Energy-Efficient Pipelined Systems |
|
|
46 | (11) |
|
2.4.1 Zyuban and Strenski's Hardware-Voltage Intensity Criteria |
|
|
47 | (4) |
|
2.4.2 Practical Guidelines to Design Energy-Efficient Pipelines |
|
|
51 | (3) |
|
Appendix: Convex Optimization |
|
|
54 | (3) |
|
3 Clocked Storage Elements |
|
|
57 | (24) |
|
3.1 Clocking in Synchronous Digital Systems |
|
|
57 | (1) |
|
3.2 Features of the Clock Signal |
|
|
57 | (3) |
|
3.3 Clocked Storage Elements: Latches, Master--Slave Flip-Flops and Pulsed Topologies |
|
|
60 | (4) |
|
3.4 Timing Parameters of Clocked Storage Elements |
|
|
64 | (6) |
|
3.4.1 Setup Time and Hold Time |
|
|
64 | (4) |
|
3.4.2 The Data Race-Through Issue |
|
|
68 | (1) |
|
3.4.3 Differences Between Master--Slave and Pulsed FFs |
|
|
69 | (1) |
|
|
70 | (1) |
|
3.5 Clock Uncertainties Absorption and Time Borrowing |
|
|
70 | (3) |
|
3.6 Energy Consumption in Flip-Flops |
|
|
73 | (4) |
|
3.6.1 Dynamic Energy Dissipation and Techniques for Its Reduction |
|
|
74 | (2) |
|
3.6.2 Glitches, Short-Circuit and Static Energy Dissipation |
|
|
76 | (1) |
|
3.7 Differential and Dual Edge-Triggered Topologies |
|
|
77 | (4) |
|
4 Flip-Flop Optimized Design |
|
|
81 | (38) |
|
4.1 A Comprehensive Design Approach |
|
|
81 | (3) |
|
4.2 Definition of Independent Design Variables: Step 1 |
|
|
84 | (3) |
|
|
85 | (1) |
|
4.2.2 Two Different Re-converging Paths |
|
|
86 | (1) |
|
|
86 | (1) |
|
|
87 | (1) |
|
4.3 Sizing of Dependent Design Variables: Step 2 |
|
|
87 | (7) |
|
4.3.1 Clocked Precharge Transistors |
|
|
88 | (2) |
|
4.3.2 Keepers and Noise Immunity |
|
|
90 | (1) |
|
|
91 | (1) |
|
|
91 | (3) |
|
4.3.5 IDVs and DDVs in SDFF First Stage |
|
|
94 | (1) |
|
4.4 Estimation of Design Space (IDVs) Bounds: Step 3 |
|
|
94 | (1) |
|
4.5 Extrapolation of the Energy-Efficient Curve: Step 4 |
|
|
95 | (1) |
|
4.6 A Complete Design Example: The SDFF as Case of Study |
|
|
96 | (5) |
|
4.7 Estimation of Layout Parasitics in Transistor-Level Design Iterations |
|
|
101 | (5) |
|
4.7.1 Estimation of Layout Parasitics from Stick Diagrams |
|
|
101 | (2) |
|
4.7.2 A Detailed Example: Geometrical Width of Folded Transistors |
|
|
103 | (1) |
|
4.7.3 The SDFF Case of Study |
|
|
104 | (2) |
|
4.8 Reconsidering High-Speed Design Criteria for Transmission-Gate Based Master--Slave FFs |
|
|
106 | (13) |
|
4.8.1 Timing Behavior of TGMS Flip-Flops |
|
|
107 | (1) |
|
4.8.2 High-speed Design Strategy for TGMS Flip-Flops |
|
|
108 | (3) |
|
4.8.3 Design Example: TGFF |
|
|
111 | (3) |
|
|
114 | (5) |
|
5 Analysis and Comparison in the Energy-Delay-Area Domain |
|
|
119 | (56) |
|
5.1 A Thorough Analysis and Comparison Strategy |
|
|
119 | (1) |
|
5.2 Simulation Setup and Energy-Delay Estimation |
|
|
120 | (7) |
|
|
120 | (2) |
|
5.2.2 Definition of Timing Figure of Merit |
|
|
122 | (1) |
|
5.2.3 Estimation of Energy Dissipation |
|
|
123 | (4) |
|
5.3 Analyzed Flip-Flop Classes and Topologies |
|
|
127 | (14) |
|
5.4 Normalization to Technology |
|
|
141 | (1) |
|
5.5 Energy-Delay Tradeoff in Each Class |
|
|
142 | (11) |
|
5.5.1 Single-Edge Triggered Master-Slave FFs |
|
|
142 | (1) |
|
5.5.2 Single-Edge Triggered Implicitly-Explicitly Pulsed FFs |
|
|
143 | (3) |
|
5.5.3 Single-Edge Triggered Differential FFs |
|
|
146 | (2) |
|
5.5.4 Dual-Edge Triggered FFs |
|
|
148 | (5) |
|
5.6 Energy-Delay Comparison Among All FFs |
|
|
153 | (5) |
|
|
153 | (2) |
|
5.6.2 Selection of the Most Energy-Efficient FFs |
|
|
155 | (3) |
|
|
158 | (5) |
|
5.7.1 Leakage Impact in Active Mode |
|
|
158 | (1) |
|
5.7.2 Leakage Impact in Standby Mode and Tradeoff with Delay |
|
|
159 | (2) |
|
5.7.3 Effectiveness of Leakage Reduction Techniques |
|
|
161 | (2) |
|
|
163 | (4) |
|
5.8.1 Comparison of FFs Area |
|
|
163 | (1) |
|
5.8.2 Area-Delay Tradeoff |
|
|
163 | (2) |
|
5.8.3 Area Related Properties |
|
|
165 | (2) |
|
|
167 | (5) |
|
5.9.1 Clock Load Comparison and Tradeoff with Delay |
|
|
167 | (1) |
|
5.9.2 Impact of Layout Parasitics on the Clock Load |
|
|
168 | (2) |
|
5.9.3 Joint FFs and Clock Distribution Energy Dissipation |
|
|
170 | (2) |
|
|
172 | (3) |
|
6 Energy Efficiency Versus Clock Slope |
|
|
175 | (24) |
|
6.1 Basic Considerations on the Role of the Clock Slope |
|
|
175 | (1) |
|
6.2 Setup to Simulate FFs Under a Varying Clock Slope |
|
|
176 | (2) |
|
6.3 FFs Timing and Energy Versus Clock Slope |
|
|
178 | (5) |
|
6.3.1 Impact of Clock Slope on τDQ, min |
|
|
178 | (2) |
|
6.3.2 Impact of Clock Slope on τCQ, min, tsetup and thold |
|
|
180 | (2) |
|
6.3.3 Impact of Clock Slope on EFF and Operation Robustness |
|
|
182 | (1) |
|
6.4 Energy of Local Clock Buffers Versus Clock Slope |
|
|
183 | (3) |
|
6.5 Design Considerations and Optimum Clock Slope |
|
|
186 | (5) |
|
6.5.1 Analytical Evaluation of the Optimum Clock Slope |
|
|
186 | (1) |
|
6.5.2 Dependencies and Typical Optimum Clock Slope Xopt |
|
|
187 | (3) |
|
6.5.3 Effectiveness of Clock Slope Optimization and FFs Comparison |
|
|
190 | (1) |
|
6.6 Impact of Clock Slope on Skew, Jitter and Variability |
|
|
191 | (6) |
|
6.6.1 Additive Skew and Jitter Due to a Smoother Clock Slope |
|
|
191 | (4) |
|
6.6.2 The Impact of Clock Slope on FFs Delay Variability |
|
|
195 | (2) |
|
6.7 The Impact of Technology Scaling |
|
|
197 | (2) |
|
7 Hold Time Issues and Impact of Variations on Flip-Flop Topologies |
|
|
199 | |
|
7.1 State of the Art and Preliminary Considerations |
|
|
199 | (1) |
|
7.2 Variations, Metrics and Methodology |
|
|
200 | (2) |
|
7.3 Impact of Process Variations on Flip-Flop Timing: Performance |
|
|
202 | (3) |
|
7.4 Impact of Process Variations on Robustness Against Hold Time |
|
|
205 | (5) |
|
7.5 Impact of Voltage, Temperature and Clock Slope Variations on Flip-Flop Timing |
|
|
210 | (5) |
|
7.5.1 Impact of Voltage Variations |
|
|
210 | (1) |
|
7.5.2 Impact of Temperature Variations |
|
|
211 | (2) |
|
7.5.3 Impact of Clock Slope Variations |
|
|
213 | (2) |
|
7.6 Process/Voltage/Temperature Variations and Energy Variability |
|
|
215 | (1) |
|
7.7 Energy-Performance Comparison and Remarks |
|
|
216 | |