Sie sind auf Seite 1von 223

Logical Effort:

Designing Fast CMOS Circuits

Ivan E. Sutherland Bob F. Sproull David L. Harris

DRAFT of May 19, 1998

Copyright 1998, Morgan Kaufmann Publishers, Inc. This material may not be copied or distributed without permission of the

publisher.

c

ii

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

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

26

Calculating gate sizes . .

.

.

Generating complementary inputs

.

2.2 Decoder

2.2.1

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

27

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 P N

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 n -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 n-input Muller C-element

 

.