Power Performance Analysis I : Natural Ratio vs. Square Ratio

Basic Assumption

(1) Technology : 0.35um CMOS process
(2) Operating Voltage : 2.5 V
(3) Operating Temperature : 25 C
(4) Circuit : Dual-Rail Domino Logic
(5) 16 bit Multiplier : The radix-4 Booth Algorithm

Power Estimation Method

(1) The power calculation is based on the paper, Carl Lemonds, "A High Throughput 16 by 16 Bit Multiplier for DSP Cores", IEEE International Symposium on Circuits and Systems, 1996. p479.
(2) The Power relationship with Capacitance, Voltage, Frequency
Formula 1 : Power ~ Capacitance * Voltage 2 * Frequency
(3) Verification of Formula 1 in Table II of the paper, Carl Lemonds
Coefficient 1 : Voltage 2 * Frequency / Power

VDD = 2.25

VDD = 2.5

VDD = 2.75

Frequency

250 MHz

500 MHz

833 MHz

Power

160 mW

400 mW

881 mW

Coefficient 1

7.91

7.81

7.15

[ TABLE 1 ]


From the Coefficient 1, we can know that the Formula 1 is consistent.
(4) Transformation of Power Calculation in Table III of the paper, Carl Lemonds

POWER

@200 MHz

16bit Multiplier

160.000 mW

Combinational Logic per 1 transistor

7.317 uW

Wallace Tree Compressor per 1 transistor

9.216 uW

Register per 1 transistor

5.364 uW

16bit Carry Look Ahead Adder

12.400 mW

32bit Carry Look Ahead Adder

31.678 mW

48bit Carry Look Ahead Adder

54.832 mW

64bit Carry Look Ahead Adder

80.926 mW

96bit Carry Look Ahead Adder

140.076 mW

128bit Carry Look Ahead Adder

206.740 mW

[ TABLE 2 ]


(5) Power Estimation for Sail Boat

Number of Transistors in 4 bit Register
8 2inputMux : 8 * 4 = 32 transistors
33 inverter : 33 * 2 = 66 transistors
Total : 98 transistors

Number of Transistors in 16 bit Register
98 * 4 = 392 transistors

Number of Transistors in 16 bit Mux
16 * 4 = 64 transistors

Components of Sail Boat : Square Ratio
Total Number of 16bit Mux @200MHz : 88 16bitMux
88 * 64 = 5632 transistors @200MHz
Registers @200MHz : 16 Registers
16 * 392 = 6272 transistors @200MHz
Registers @400MHz : 8 Registers
8 * 392 = 3136 transistors @400MHz
Registers @600MHz : 8 Registers
8 * 392 = 3136 transistors @600MHz
Registers @800MHz : 8 Registers
8 * 392 = 3136 transistors @800MHz

Power Calculation for Sail Boat : Square Ratio
5632 * 7.317 uW + (6272*1 + 3136*2 + 3136*3 + 3136*4) * 5.364 uW = 226.25 mW

Components of Sail Boat : Natural Ratio (16bit)
Total Number of 16bit Mux @200MHz : 39 16bitMux
39 * 64 = 2496 transistors @200MHz
Registers @200MHz : 4 Registers
4 * 392 = 1568 transistors @200MHz
Registers @400MHz : 2 Registers
2 * 392 = 784 transistors @400MHz
Registers @600MHz : 2 Registers
2 * 392 = 784 transistors @600MHz
Registers @800MHz : 2 Registers
2 * 392 = 784 transistors @800MHz

Power Calculation for Sail Boat : Natural Ratio (16bit)
2496 * 7.317 uW + (1568*1 + 784*2 + 784*3 + 784*4) * 5.364 uW = 64.52 mW

Components of Sail Boat : Natural Ratio (32bit)
Total Number of 16bit Mux @200MHz : 39 16bitMux
39 * 64 = 2496 transistors @200MHz
Registers @200MHz : 6 Registers
6 * 392 = 2352 transistors @200MHz
Registers @400MHz : 4 Registers
4 * 392 = 1568 transistors @400MHz
Registers @600MHz : 4 Registers
4 * 392 = 1568 transistors @600MHz
Registers @800MHz : 4 Registers
4 * 392 = 1568 transistors @800MHz

Power Calculation for Sail Boat : Natural Ratio (32bit)
2496 * 7.317 uW + (2352*1 + 1568*2 + 1568*3 + 1568*4) * 5.364 uW = 106.58 mW

Components of Sail Boat : Natural Ratio (64bit)
Total Number of 16bit Mux @200MHz : 39 16bitMux
39 * 64 = 2496 transistors @200MHz
Registers @200MHz : 10 Registers
10 * 392 = 3920 transistors @200MHz
Registers @400MHz : 8 Registers
8 * 392 = 3136 transistors @400MHz
Registers @600MHz : 8 Registers
8 * 392 = 3136 transistors @600MHz
Registers @800MHz : 8 Registers
8 * 392 = 3136 transistors @800MHz

Power Calculation for Sail Boat : Natural Ratio (64bit)
2496 * 7.317 uW + (3920*1 + 3136*2 + 3136*3 + 3136*4) * 5.364 uW = 190.68 mW

(6) Power Estimation for 16 bit Multiplier

Power Calculation for 16 bit Multiplication : Square Ratio
4 16bit multiplier @800MHz : 4 * 160.000 * 4 = 2560.00 mW

Power Calculation for 16 bit Multiplication : Natural Ratio (16bit)
1 16bit multiplier @800MHz : 4 * 160.000 * 1 = 640.00 mW

Power Calculation for 16 bit Multiplication : Natural Ratio (32bit)
2 16bit multiplier @800MHz : 4 * 160.000 * 2 = 1280.00 mW

Power Calculation for 16 bit Multiplication : Natural Ratio (64bit)
4 16bit multiplier @800MHz : 4 * 160.000 * 4 = 2560.00 mW

(7) 48 bit Wallace Tree

3to2 Wallace Tree Compressor has 30 transistors.
2to2 Wallace Tree Compressor has 14 transistors.
5to3 Wallace Tree Compressor has 52 transistors.

48 bit Wallace Tree has 48 3to2 Wallace Tree Compressors,
45 2to2 Wallace Tree Compressors,
17 5to3 Wallace Tree Compressors.
Total number of transistors is 48*30 + 45*14 + 17*52 = 2954.
Power : 2954 * 9.216 uW @200MHz = 27.22 mW

(8) 96 bit Wallace Tree

96 bit Wallace Tree has 95 3to2 Wallace Tree Compressors,
92 2to2 Wallace Tree Compressors,
33 5to3 Wallace Tree Compressors.
Total number of transistors is 95*30 + 92*14 + 33*52 = 5854.
Power : 5854 * 9.216 uW @200MHz = 53.95 mW

(9) 48 bit Adder

Power : 54.83 mW

(10) 96 bit Adder

Power : 140.08 mW

(11) 32 bit FP converter

Power ~ 32 bit Adder's Power consumption with half adder
= 31.678 * (14/30) = 14.78 mW

(12) 64 bit FP converter

Power ~ 64 bit Adder's Power consumption with half adder
= 80.926 * (14/30) = 37.77 mW

(13) Output Registers

32bit Registers: 784 transistors
16bit Registers: 392 transistors

Natural Ratio
mult16 FIX/INT: (1+2+3+4) * 784 * 5.364uW = 42.05 mW
mult32 FIX/INT: (1+1+1+1) * 784 * 5.364uW = 16.82 mW
mult32 FP : (1+1+1+1) * 392 * 5.364uW = 8.41 mW
mult64 FIX/INT: (1+1+1+1) * 784 * 5.364uW = 16.82 mW
mult64 FP : (1+1+1+1) * 392 * 5.364uW = 8.41 mW

Square Ratio
mult16 FIX/INT: (1+2+3+4) * 784 * 5.364uW * 4 = 168.21 mW
mult32 FIX/INT: (1+1+1+1) * 784 * 5.364uW * 2 = 33.64 mW
mult32 FP : (1+1+1+1) * 392 * 5.364uW * 2 = 16.82 mW
mult64 FIX/INT: (1+1+1+1) * 784 * 5.364uW = 16.82 mW
mult64 FP : (1+1+1+1) * 392 * 5.364uW = 8.41 mW

(14) Power Table 3 : Natural Ratio vs. Square Ratio

Natural
Ratio
mult16

Natural
Ratio
mult32

Natural
Ratio
mult64

Square
Ratio
mult16

Square
Ratio
mult32

Square
Ratio
mult64

Sail Boat Allocation

64.52 mW

106.58 mW

190.68 mW

226.25 mW

226.25 mW

226.25 mW

16 bit Multiplier

640.00 mW

1280.00 mW

2560.00 mW

2560.00 mW

2560.00 mW

2560.00 mW

48 bit Wallace Tree

N/A

54.44 mW

108.88 mW

N/A

108.88 mW

108.88 mW

48 bit CLA Adder

N/A

109.66 mW

219.32 mW

N/A

219.32 mW

219.32 mW

32 bit FP Converter

N/A

29.56 mW

N/A

N/A

59.12 mW

N/A

96 bit Wallace Tree

N/A

N/A

53.95 mW

N/A

N/A

53.95 mW

96 bit CLA Adder

N/A

N/A

140.08 mW

N/A

N/A

140.08 mW

96 bit FP Converter

N/A

N/A

37.77 mW

N/A

N/A

37.77 mW

Output Registers (FIX/INT)

42.05 mW

16.82 mW

16.82 mW

168.21 mW

33.64 mW

16.82 mW

Output Registers (FP)

N/A

8.41 mW

8.41 mW

N/A

16.82 mW

8.41 mW

Total Power (FIX/INT)

746.57 mW

1567.50 mW

3289.73 mW

2954.46 mW

3148.09 mW

3325.30 mW

Total Power (FP)

N/A

1588.65 mW

3319.09 mW

N/A

3190.39 mW

3354.66 mW

[ TABLE 3 ]