Top Banner
SML2004-0325 1 Transistor Sizing: How to Control the Speed and Energy Consumption of a Circuit Jo Ebergen, Jonathan Gainsley, Paul Cunningham Async Design Group Sun Labs SML2004-0325 Public Information
31

Transistor Sizing - · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

Feb 05, 2018

Download

Documents

tranminh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Transistor Sizing -  · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

SML2004-0325 1

Transistor Sizing: How to Control the Speed and Energy Consumption of a Circuit

Jo Ebergen, Jonathan Gainsley, Paul CunninghamAsync Design GroupSun Labs

SML2004-0325 Public Information

Page 2: Transistor Sizing -  · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

SML2004-0325 2

Transistor Sizing:How to Control the Speed and Energy Consumption of a Circuit

Jo Ebergen, Jonathan Gainsley, Paul CunninghamAsynchronous Design GroupSun Labs

Page 3: Transistor Sizing -  · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

SML2004-0325 3

Introduction

• Transistor sizes (widths) determine– Speed of circuit– Energy consumption– Total area of circuit– Satisfaction of delay constraints

• Success or failure

Page 4: Transistor Sizing -  · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

SML2004-0325 4

How Do I Pick Transistor Widths?

• To optimize for speed?• To optimize for energy?• Automatically and quickly?• Does a circuit have a speed limit?• Is there a trade-off between speed and energy?• How do I compare circuits built for different

technologies?

Page 5: Transistor Sizing -  · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

SML2004-0325 5

An Example

• Given desired gate delays s0, s1, and s2, fixed latch load L and fixed wire load W• How do I find the sizes x0, x1, and x2?

• Cycle time = s0+s1+s2. What is minimum?

x0

L

W

x1 x2

s0 s1 s2

Page 6: Transistor Sizing -  · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

SML2004-0325 6

The Delay Model

• Defines relationship between gate sizes and delays• Capacitance driven by gate in time s

= sum of all capacitances on node– s = gate delay– x = drive strength [capacitance/time]

• Input and diffusion capacitances are linear functions of drive strength [Idea of Logical Effort]

x0 x1CL

Cin1Cdif0

s0*x0 = Cdif0 + CL + Cin1

Page 7: Transistor Sizing -  · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

SML2004-0325 7

Units

• Unit of capacitance– κ = Input cap of min. sized inverter– All fixed loads must be converted

• Unit of delay s (for stepup or slope)– τ = Delay of ideal inverter, with no diffusion

capacitance, driving copy of itself.– FO4 = 5*τ

• Unit of drive strength x (as in 4X, 8X)- κ/τ = Capacitance per time unit

Page 8: Transistor Sizing -  · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

SML2004-0325 8

Technology Independence

• Units κ and τ depend on technology• Ex: TSMC 180nm, τ =17ps (FO4 =85ps)• Equations are independent of technology• Allows comparisons of circuits in different

technologies• Warning: wire loads do not scale linearly

Page 9: Transistor Sizing -  · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

SML2004-0325 9

Logical Efforts

• Let me find gate capacitances as function of size x• Input and diffusion capacitances are proportional to

drive strength• Logical Effort of input (LEin) =

input capacitance per unit of drive strength• Logical Effort of output (LEout) =

diffusion capacitance per unit of drive strength

x Cdif = LEout * xCin0 = LEin0 * x

Cin1 = LEin1 * x

Page 10: Transistor Sizing -  · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

SML2004-0325 10

Properties of Logical Effort

• Logical Effort =“effort” to compute logic function• Logical effort is a time constant [κ/(κ/τ)=τ]• LEout = time to load diffusion capacitance of gate

• parasitic delay• LEin = time to load input capacitance of gate (with the

same drive strength)• Logical efforts can be found from transistor diagram or

empirically

Page 11: Transistor Sizing -  · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

SML2004-0325 11

Examples

• Some gates and their logical efforts

1 1 24/3

4/32

2

2

1/3

1/3

2/3

2/3

2/3

2/3

2/3

4/3

4/3

4/3

L4/3

1

1C

(a) (b) (c) (d)

(e) (f) (g) (h)

Page 12: Transistor Sizing -  · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

SML2004-0325 12

Back To Example

• Use delay model, now with Logical Efforts

x0

L

W

x1 x2

s0 s1 s2

4/32 1 1 1 1

4/3

s0 * x0 = 2*x0 + 1*x1s1 * x1 = 1*x1 + 1*x2 + Ls2 * x2 = 4/3*x0 + 1*x2 + W

In Matrix form: S * x = T*x + C

Page 13: Transistor Sizing -  · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

SML2004-0325 13

In General

• S*x = T*x + C• S = diagonal matrix of gate delays • x = vector of drive strengths• T = logical effort matrix

• Tij=0 no connection from gate i to gate j • Tij≠0 connection from gate i to gate j • Describes topology of circuit

• C = vector of fixed loads• Equations can be extracted from netlist

Page 14: Transistor Sizing -  · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

SML2004-0325 14

Now What?

• Does a solution x exist for given S, T, and C?• How do I compute solution for x efficiently?• How to choose delays S?• Special case: equal gate delays

• Simpler model: s*x=T*x+C• Path delay = (# gates)*s• Easy for satisfying delay constraints• More accurate

Page 15: Transistor Sizing -  · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

SML2004-0325 15

How To Compute Drive Strengths?

• Many ways to solve s*x=T*x+C• Easiest is iteration• Let f(x)=(T*x+C)/s• x(0)=0• Repeat x(i+1)=f(x(i)) until convergence• Converges quickly, if you choose s well

Page 16: Transistor Sizing -  · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

SML2004-0325 16

An Example

x2=(x2+10+4/3*x0)/3x1=(x1+10+x2)/3x0=(2*x0+x1)/3

x2: 0 3.66 4.69 4.74 ..x1: 0 4.89 5.23 5.25 ..x0: 0 2.3 2.41 2.41 ..

x0

10

10

x1 x2

s0=3 s1=3 s2=3

4/32 1 1 1 1

4/3

Page 17: Transistor Sizing -  · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

SML2004-0325 17

Critical Delay

• Only for circuits with cycles• Almost all async control ckts have cycles!

• Equal gate delay: s*x = T*x + C• Critical delay (cs) of circuit

= largest real eigenvalue of T• Feasible solution exists iff s is larger than critical

delay (s > cs)• Critical delay is independent of fixed loads C• Sizing algorithm converges if s > cs

Page 18: Transistor Sizing -  · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

SML2004-0325 18

Total size and critical delay

• Total size (∑x’s) as function of gate delay• Size grows as C/(s-cs)

x0

L

W

x1 x2

Page 19: Transistor Sizing -  · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

SML2004-0325 19

Critical Delay and Limits

• Critical delay defines lower bound for gate delay, assuming equal gate delays

• Critical delay (cs) and # gate delays (n) in cycle define speed limit for throughput =1/(n*cs)

Page 20: Transistor Sizing -  · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

SML2004-0325 20

Energy Estimation

• Dynamic Energy• Due to (dis)charging capacitance C• Proportional to C*V2

• Short-Circuit Energy• Due to crossover current• If input and output slope are equal, short-circuit energy ≈ α * dynamic energy consumption [Veendrick84]

• Static Energy• Due to leakage currents• Ignore for now

Page 21: Transistor Sizing -  · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

SML2004-0325 21

Units

• Unit of energy- ε = energy spent by ideal minimum inverter,

excl. diffusion capacitance, driving a minimum inverter

• “Energy spent” = energy lost in resistors • Unit ε depends on technology, but equations do not• Can be determined empirically

- ε=2.9fJ in TSMC 180nm, 1.8V.

Page 22: Transistor Sizing -  · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

SML2004-0325 22

More On Energy Estimation

• In equal-gate-delay model• s*x=T*x+C• Energy spent by gate ∝ total output cap• Energy spent by gate i ∝ (T*x+C)i = s*xi• Let pi be activity index of gate i in an execution

• Total energy spent in an execution = ∑i pi*s*xi

Page 23: Transistor Sizing -  · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

SML2004-0325 23

An Example: Magic Clock

• Every inverter has the same delay• Control must charge and discharge load L• E = 1 + 2/(s-2) per unit load• For equal delays, the best you can do

Magic Clock

L

x0

x1

x2

Magic Delay

L

x0

x1

x2

Page 24: Transistor Sizing -  · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

SML2004-0325 24

Comparing Circuits

• Independent of process technology• Example: asynchronous controls of ripple FIFO • How do different implementations compare in terms of

energy versus performance?

L LL

Page 25: Transistor Sizing -  · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

SML2004-0325 25

The Implementations

• Chain of Rendezvous (COR):

• asP*:

• GasP:

C

W

W

L

W

W

L

W

L

Page 26: Transistor Sizing -  · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

SML2004-0325 26

More Implementations

• Berkel’s single-track handshake• Singh & Nowick’s High-Capacity Pipeline• IPCMOS by Schuster et al • ....• Magic clock

– the lower bound and the ideal “synchronous” implementation.

Page 27: Transistor Sizing -  · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

SML2004-0325 27

Critical Times

Ckt Critical Gate Delay

# Gates inCycle

Critical Cycle Time

Magic Clock 2.0 6 12

GasP 2.42 6 14.52

IBM IPCMOS 2.51 14 35.14

Singh-Nowick 3.38 8 27.04

asP* 3.95 8 31.6

Berkel’ssingle-track 4.21 6 25.26

Chain ofC-elements 4.56 3 13.68

1)

2)

3)

Page 28: Transistor Sizing -  · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

SML2004-0325 28

A Price/Performance Comparison

0 1 2 3 4 5 6 7 8 9 100

1

2

3

4

5

6

7

8

9

10

Gate Delay [!]

En

erg

y P

er

Cy

cle

["]

Normalized Energy Versus Gate Delay (Latch Loads Only)

Magic ControlChain of C!elements4!2 GasPasP*

Page 29: Transistor Sizing -  · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

SML2004-0325 29

A Price/Performance Comparison

0 10 20 30 40 50 60 70 800

1

2

3

4

5

6

7

8

9

10

Cycle Time [!]

En

erg

y P

er

Cycle

["]

Normalized Energy Versus Cycle Time (Latch Loads Only)

GasPasP*Magic ControlChain of C!elements

Page 30: Transistor Sizing -  · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

SML2004-0325 30

It’s (Like) The Economy, Stupid

• Moving charges in circuit = Moving capital goods in economy

• Open input-output model• “Gate” = economic sector• “Capacitance” = demand for capital goods • “Drive strength” = supply of capital goods per time unit• “Energy” = total cost of capital goods

• Wassily Leontief (1906-1999)• Has many applications• Abundant literature• A chip is like an economy

Page 31: Transistor Sizing -  · PDF fileTransistor Sizing: ... SML2004-0325 4 How Do I Pick Transistor Widths? • To optimize for speed? ... • Unit of capacitance

SML2004-0325 31

Summary

• Simple model for calculating transistor sizes• Simple and efficient algorithms• Good results obtained so far with equal gate delays• Critical delay gives a price/performance

characteristic for a control circuit• Gives insight into speed-energy trade-offs• Allows comparisons of circuits independent of

process technology