Download - Transistor Sizing - FORTH
![Page 1: Transistor Sizing - FORTH](https://reader031.vdocuments.net/reader031/viewer/2022012502/617bcd4ec076cc06231f0b2b/html5/thumbnails/1.jpg)
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 - FORTH](https://reader031.vdocuments.net/reader031/viewer/2022012502/617bcd4ec076cc06231f0b2b/html5/thumbnails/2.jpg)
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 - FORTH](https://reader031.vdocuments.net/reader031/viewer/2022012502/617bcd4ec076cc06231f0b2b/html5/thumbnails/3.jpg)
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 - FORTH](https://reader031.vdocuments.net/reader031/viewer/2022012502/617bcd4ec076cc06231f0b2b/html5/thumbnails/4.jpg)
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 - FORTH](https://reader031.vdocuments.net/reader031/viewer/2022012502/617bcd4ec076cc06231f0b2b/html5/thumbnails/5.jpg)
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 - FORTH](https://reader031.vdocuments.net/reader031/viewer/2022012502/617bcd4ec076cc06231f0b2b/html5/thumbnails/6.jpg)
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 - FORTH](https://reader031.vdocuments.net/reader031/viewer/2022012502/617bcd4ec076cc06231f0b2b/html5/thumbnails/7.jpg)
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 - FORTH](https://reader031.vdocuments.net/reader031/viewer/2022012502/617bcd4ec076cc06231f0b2b/html5/thumbnails/8.jpg)
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 - FORTH](https://reader031.vdocuments.net/reader031/viewer/2022012502/617bcd4ec076cc06231f0b2b/html5/thumbnails/9.jpg)
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 - FORTH](https://reader031.vdocuments.net/reader031/viewer/2022012502/617bcd4ec076cc06231f0b2b/html5/thumbnails/10.jpg)
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 - FORTH](https://reader031.vdocuments.net/reader031/viewer/2022012502/617bcd4ec076cc06231f0b2b/html5/thumbnails/11.jpg)
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 - FORTH](https://reader031.vdocuments.net/reader031/viewer/2022012502/617bcd4ec076cc06231f0b2b/html5/thumbnails/12.jpg)
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 - FORTH](https://reader031.vdocuments.net/reader031/viewer/2022012502/617bcd4ec076cc06231f0b2b/html5/thumbnails/13.jpg)
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 - FORTH](https://reader031.vdocuments.net/reader031/viewer/2022012502/617bcd4ec076cc06231f0b2b/html5/thumbnails/14.jpg)
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 - FORTH](https://reader031.vdocuments.net/reader031/viewer/2022012502/617bcd4ec076cc06231f0b2b/html5/thumbnails/15.jpg)
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 - FORTH](https://reader031.vdocuments.net/reader031/viewer/2022012502/617bcd4ec076cc06231f0b2b/html5/thumbnails/16.jpg)
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 - FORTH](https://reader031.vdocuments.net/reader031/viewer/2022012502/617bcd4ec076cc06231f0b2b/html5/thumbnails/17.jpg)
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 - FORTH](https://reader031.vdocuments.net/reader031/viewer/2022012502/617bcd4ec076cc06231f0b2b/html5/thumbnails/18.jpg)
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 - FORTH](https://reader031.vdocuments.net/reader031/viewer/2022012502/617bcd4ec076cc06231f0b2b/html5/thumbnails/19.jpg)
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 - FORTH](https://reader031.vdocuments.net/reader031/viewer/2022012502/617bcd4ec076cc06231f0b2b/html5/thumbnails/20.jpg)
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 - FORTH](https://reader031.vdocuments.net/reader031/viewer/2022012502/617bcd4ec076cc06231f0b2b/html5/thumbnails/21.jpg)
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 - FORTH](https://reader031.vdocuments.net/reader031/viewer/2022012502/617bcd4ec076cc06231f0b2b/html5/thumbnails/22.jpg)
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 - FORTH](https://reader031.vdocuments.net/reader031/viewer/2022012502/617bcd4ec076cc06231f0b2b/html5/thumbnails/23.jpg)
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 - FORTH](https://reader031.vdocuments.net/reader031/viewer/2022012502/617bcd4ec076cc06231f0b2b/html5/thumbnails/24.jpg)
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 - FORTH](https://reader031.vdocuments.net/reader031/viewer/2022012502/617bcd4ec076cc06231f0b2b/html5/thumbnails/25.jpg)
SML2004-0325 25
The Implementations
• Chain of Rendezvous (COR):
• asP*:
• GasP:
C
W
W
L
W
W
L
W
L
![Page 26: Transistor Sizing - FORTH](https://reader031.vdocuments.net/reader031/viewer/2022012502/617bcd4ec076cc06231f0b2b/html5/thumbnails/26.jpg)
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 - FORTH](https://reader031.vdocuments.net/reader031/viewer/2022012502/617bcd4ec076cc06231f0b2b/html5/thumbnails/27.jpg)
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 - FORTH](https://reader031.vdocuments.net/reader031/viewer/2022012502/617bcd4ec076cc06231f0b2b/html5/thumbnails/28.jpg)
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 - FORTH](https://reader031.vdocuments.net/reader031/viewer/2022012502/617bcd4ec076cc06231f0b2b/html5/thumbnails/29.jpg)
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 - FORTH](https://reader031.vdocuments.net/reader031/viewer/2022012502/617bcd4ec076cc06231f0b2b/html5/thumbnails/30.jpg)
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 - FORTH](https://reader031.vdocuments.net/reader031/viewer/2022012502/617bcd4ec076cc06231f0b2b/html5/thumbnails/31.jpg)
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