|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
Logical Effort:
Designing Fast CMOS Circuits
Ivan E. Sutherland
Bob F. Sproull
David L. Harris
Logical Effort Designing Fast CMOS Circuits.rar
(782.08 KB, 下载次数: 551 )
Contents
1 The Method of Logical Effort 1
1.1 Delay in a logic gate . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Multi-stage logic networks . . . . . . . . . . . . . . . . . . . . . 9
1.3 Choosing the best number of stages . . . . . . . . . . . . . . . . 16
1.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2 Design Examples 23
2.1 The AND function of eight inputs . . . . . . . . . . . . . . . . . . 23
2.1.1 Calculating gate sizes . . . . . . . . . . . . . . . . . . . . 26
2.2 Decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2.1 Generating complementary inputs . . . . . . . . . . . . . 29
2.3 Synchronous arbitration . . . . . . . . . . . . . . . . . . . . . . . 31
2.3.1 The original circuit . . . . . . . . . . . . . . . . . . . . . 31
2.3.2 Improving the design . . . . . . . . . . . . . . . . . . . . 34
2.3.3 Restructuring the problem . . . . . . . . . . . . . . . . . 38
2.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.5 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3 Deriving the Method of Logical Effort 41
3.1 Model of a logic gate . . . . . . . . . . . . . . . . . . . . . . . . 42
3.2 Delay in a logic gate . . . . . . . . . . . . . . . . . . . . . . . . 44
3.3 Minimizing delay along a path . . . . . . . . . . . . . . . . . . . 47
3.4 Choosing the length of a path . . . . . . . . . . . . . . . . . . . . 49
3.5 Using the wrong number of stages . . . . . . . . . . . . . . . . . 54
3.6 Using the wrong gate size . . . . . . . . . . . . . . . . . . . . . . 55
3.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
iii
iv CONTENTS
4 Calculating the Logical Effort of Gates 59
4.1 Definitions of logical effort . . . . . . . . . . . . . . . . . . . . . 60
4.2 Grouping input signals . . . . . . . . . . . . . . . . . . . . . . . 61
4.3 Calculating logical effort . . . . . . . . . . . . . . . . . . . . . . 62
4.4 Asymmetric logic gates . . . . . . . . . . . . . . . . . . . . . . . 65
4.5 Catalog of logic gates . . . . . . . . . . . . . . . . . . . . . . . . 65
4.5.1 NAND gate . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.5.2 NOR gate . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.5.3 Multiplexers, tri-state inverters . . . . . . . . . . . . . . . 68
4.5.4 XOR, XNOR, and parity gates . . . . . . . . . . . . . . . 69
4.5.5 Majority gate . . . . . . . . . . . . . . . . . . . . . . . . 70
4.5.6 Adder carry chain . . . . . . . . . . . . . . . . . . . . . . 72
4.5.7 Dynamic latch . . . . . . . . . . . . . . . . . . . . . . . 72
4.5.8 Dynamic Muller C-element . . . . . . . . . . . . . . . . 72
4.5.9 Upper bounds on logical effort . . . . . . . . . . . . . . . 75
4.6 Estimating parasitic delay . . . . . . . . . . . . . . . . . . . . . . 76
4.7 Properties of logical effort . . . . . . . . . . . . . . . . . . . . . 77
4.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5 Calibrating the Model 81
5.1 Calibration technique . . . . . . . . . . . . . . . . . . . . . . . . 81
5.2 Designing test circuits . . . . . . . . . . . . . . . . . . . . . . . . 84
5.2.1 Rising, falling, and average delays . . . . . . . . . . . . . 85
5.2.2 Choice of input . . . . . . . . . . . . . . . . . . . . . . . 85
5.2.3 Parasitic capacitance . . . . . . . . . . . . . . . . . . . . 87
5.2.4 Process sensitivity . . . . . . . . . . . . . . . . . . . . . 89
5.3 Other characterization methods . . . . . . . . . . . . . . . . . . . 89
5.4 Calibrating special circuit families . . . . . . . . . . . . . . . . . 91
5.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.6 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
6 Forks of Amplifiers 95
6.1 The fork circuit form . . . . . . . . . . . . . . . . . . . . . . . . 96
6.2 How many stages should a fork use? . . . . . . . . . . . . . . . . 99
6.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.4 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
CONTENTS v
7 Branches and Interconnect 107
7.1 Circuits that branch at a single input . . . . . . . . . . . . . . . . 108
7.1.1 Branch paths with equal lengths . . . . . . . . . . . . . . 108
7.1.2 Branch paths with unequal lengths . . . . . . . . . . . . . 111
7.2 Branches after logic . . . . . . . . . . . . . . . . . . . . . . . . . 114
7.3 Circuits that branch and recombine . . . . . . . . . . . . . . . . . 115
7.4 Interconnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
7.4.1 Short wires . . . . . . . . . . . . . . . . . . . . . . . . . 119
7.4.2 Long wires . . . . . . . . . . . . . . . . . . . . . . . . . 119
7.4.3 Medium wires . . . . . . . . . . . . . . . . . . . . . . . 120
7.5 A design approach . . . . . . . . . . . . . . . . . . . . . . . . . 120
7.6 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
8 Asymmetric Logic Gates 123
8.1 Designing asymmetric logic gates . . . . . . . . . . . . . . . . . 123
8.2 Applications of asymmetric logic gates . . . . . . . . . . . . . . . 126
8.2.1 Multiplexers . . . . . . . . . . . . . . . . . . . . . . . . 128
8.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
8.4 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
9 Unequal Rising and Falling Delays 133
9.1 Analyzing delays . . . . . . . . . . . . . . . . . . . . . . . . . . 134
9.2 Case analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
9.2.1 Skewed gates . . . . . . . . . . . . . . . . . . . . . . . . 139
9.2.2 Impact of
􀀀
and
on logical effort . . . . . . . . . . . . . 141
9.3 Optimizing CMOS
ratios . . . . . . . . . . . . . . . . . . . 141
9.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
9.5 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
10 Circuit Families 147
10.1 Pseudo-NMOS circuits . . . . . . . . . . . . . . . . . . . . . . . . 148
10.1.1 Symmetric NOR gates . . . . . . . . . . . . . . . . . . . 149
10.2 Domino circuits . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
10.2.1 Logical effort of dynamic gates . . . . . . . . . . . . . . 153
10.2.2 Stage effort of domino circuits . . . . . . . . . . . . . . . 153
10.2.3 Building logic in static gates . . . . . . . . . . . . . . . . 156
10.2.4 Designing dynamic gates . . . . . . . . . . . . . . . . . . 158
10.3 Transmission gates . . . . . . . . . . . . . . . . . . . . . . . . . 160
vi CONTENTS
10.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
10.5 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
11 Wide Structures 165
11.1 An
􀀀
-input AND structure . . . . . . . . . . . . . . . . . . . . . . 165
11.1.1 Minimum logical effort . . . . . . . . . . . . . . . . . . . 165
11.1.2 Minimum delay . . . . . . . . . . . . . . . . . . . . . . . 169
11.1.3 Other wide functions . . . . . . . . . . . . . . . . . . . . 170
11.2 An
􀀀
-input Muller C-element . . . . . . . . . . . . . . . . . . . . 170
11.2.1 Minimum logical effort . . . . . . . . . . . . . . . . . . . 170
11.2.2 Minimum delay . . . . . . . . . . . . . . . . . . . . . . . 173
11.3 Decoders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
11.3.1 Simple decoder . . . . . . . . . . . . . . . . . . . . . . . 176
11.3.2 Predecoding . . . . . . . . . . . . . . . . . . . . . . . . . 176
11.3.3 A better decoder . . . . . . . . . . . . . . . . . . . . . . 178
11.4 Multiplexers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
11.4.1 How wide should a multiplexer be? . . . . . . . . . . . . 181
11.4.2 Medium-width multiplexers . . . . . . . . . . . . . . . . 185
11.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
11.6 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
12 Conclusions 189
12.1 The theory of logical effort . . . . . . . . . . . . . . . . . . . . . 189
12.2 Insights from logical effort . . . . . . . . . . . . . . . . . . . . . 191
12.3 A design procedure . . . . . . . . . . . . . . . . . . . . . . . . . 193
12.4 Other approaches to path design . . . . . . . . . . . . . . . . . . 196
12.4.1 Simulate and tweak . . . . . . . . . . . . . . . . . . . . . 196
12.4.2 Equal fanout . . . . . . . . . . . . . . . . . . . . . . . . 196
12.4.3 Equal delay . . . . . . . . . . . . . . . . . . . . . . . . . 197
12.4.4 Numerical optimization . . . . . . . . . . . . . . . . . . 197
12.5 Shortcomings of logical effort . . . . . . . . . . . . . . . . . . . 198
12.6 Parting words . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
A Cast of Characters 203
B Logical Effort Tools 207
B.1 Library characterization . . . . . . . . . . . . . . . . . . . . . . . 207
B.2 Wide gate design . . . . . . . . . . . . . . . . . . . . . . . . . . 207 |
|