Transistor/Gate Sizing Optimization - Purdue Engineeringchengkok/ee695K/lec7b.pdfTransistor/Gate...

16
EE695K VLSI Interconnect Prepared by CK 1 Transistor/Gate Sizing Optimization Given: Logic network with or without cell library Find: Optimal size for each transistor/gate to minimize area or power, both under delay constraint Static sizing: based on timing analysis and consider all paths at once [Fishburn-Dunlop, ICCAD’85][Sapatnekar et al., TCAD’93] [Berkelaar-Jess, EDAC’90][Chen-Onodera-Tamaru, ICCAD’95] Dynamic sizing: based on timing simulation and consider paths activated by given patterns [Conn et al., ICCAD’96] Transistor sizing versus gate sizing The Transistor Sizing Problem Problem statement minimize Area(x ) subject to Delay(x ) £ T spec or minimize Power(x ) subject to Delay(x ) £ T spec Comb. Logic

Transcript of Transistor/Gate Sizing Optimization - Purdue Engineeringchengkok/ee695K/lec7b.pdfTransistor/Gate...

EE695K VLSI Interconnect

Prepared by CK 1

Transistor/Gate Sizing Optimization

• Given: Logic network with or without cell libraryFind: Optimal size for each transistor/gate to minimize

area or power, both under delay constraint

– Static sizing: based on timing analysis and consider all pathsat once [Fishburn-Dunlop, ICCAD’85][Sapatnekar et al.,TCAD’93] [Berkelaar-Jess, EDAC’90][Chen-Onodera-Tamaru,ICCAD’95]

– Dynamic sizing: based on timing simulation and consider pathsactivated by given patterns [Conn et al., ICCAD’96]

• Transistor sizing versus gate sizing

The Transistor Sizing Problem

Problem statement

minimize Area(x)

subject to Delay(x) ≤ Tspec

or

minimize Power(x)

subject to Delay(x) ≤ Tspec

Comb.Logic

EE695K VLSI Interconnect

Prepared by CK 2

Mathematical Background

• n - dimensional space– Any ordered n-tuple x = (x1, x2, ... , xn) can be thought of as

a point in an n-dimensional space– f(x1,x2, ..., xn) is a function on the n-dimensional space

• Convex functions f(x) is a convex function if given

any two points x a and x b, the line joining the two points lies on or above the function

Nonconvex f:

x

f(x)

xa xb

f(x)

xa xb x

Math Background (Contd.)

• Convex functions in two dimensions

f(x1,x2) = x12 + x2

2

Formally, f(x) is convex if

f(α xa + [1 - α] xb) ≤ α f(xa) + [1 - α] f(xb) 0 ≤ α≤ 1

EE695K VLSI Interconnect

Prepared by CK 3

Math Background (Contd.)

• Convex setsA set S is a convex set if given any two points xa and xb in the

set, the line joining the two points lies entirely within the set

• ExamplesShape of Shape of a

Wyoming pizza

• Non-convex SetsShape of CA Silhouette of

the Taj Mahal

Math Background (Contd.)

• Mathematical characterization of a convex set S– If x1, x2 ∈ S, then

α x1 + (1 - α) x2 ∈ S, for 0 ≤ α≤ 1

• If f(x) is a convex function, f(x) ≤ c is a convex set• An intersection of convex sets is a convex set

x 1

x 2

EE695K VLSI Interconnect

Prepared by CK 4

Math Background (Contd.)

• Convex programming problem

minimize convex function f(x)

such that ∩ ∩ [fi(x) ≤ ci]

• Global minimum value is unique!(Non-rigorous) explanation(from “The Handwaver’s Guide to the Galaxy”)

x

f(x)

xa xb

Math Background (Contd. in English)

• A posynomial is like a polynomial except– all coefficients are positive– exponents could be real numbers (positive or negative)

• Are these posynomials?

6.023 x11.23 + 4.56 x1

3.4 x27.89 x3

-0.12

x1 - 9.78 x24.2 x3

-9.1

(x1 + 2 x2 + 2 x3 + 5)/x1 + (x3 + 2 x4 + 3)/x3

YES

NO

YES

EE695K VLSI Interconnect

Prepared by CK 5

• In any posynomial function f(x1, x2, ... , xn),substitute xi = exp(zi) to get F(z1, z2, ... , zn)

• Then F(z1, z2, ... , zn) = convex function in (z1,... , zn) !minimize (posynomial objective in xi’s)

s.t. (posynomial function in xi’s)i ≤ K for 1 ≤ i ≤ m

[xi = exp(zi)]

minimize (convex objective)over a convex set

Therefore, any local minimum is a global minimum!

Math Background (Contd.)

Transistor Sizing under the Elmore Model

• x is the set (vector) of transistor sizesminimize Area(x) subject to Delay(x) ≤ Tspec

• Area(x) = Σ i = 1 to n x i (posynomial!)

• Each path delay = Σ R C– R ∝ xi

-1, C ∝ xi ⇒ posynomial path delay function– Delay(x) ≤ Tspec ≡ Pathdelay(x) ≤ Tspec for all paths

• Therefore, problem has a unique global min. value

EE695K VLSI Interconnect

Prepared by CK 6

TILOS™ (TImed LOgic Synthesis)

• Philosophy– Since min. value is unique, a simple method should find it!

• Problem

minimize Area(x) subject to Delay(x) ≤ Tspec

• Strategy– Set all transistors in the circuit to minimum size– Find the critical path (largest delay path)– Reduce delay of critical path, but with a minimal increase in

the objective function value

(TILOS™ is a registered trademark of Lucent Technologies)

TILOS (Contd.)

minimize Area(x) subject to Delay(x) ≤ Tspec

• Find ∂D/∂A for all transistors on critical path• Bump up the size of transistor with the largest ∂D/∂A

x i → M x i + a (default: M = 1; a = 1 contact head width)

Circuit

Critical PathIN OUT

EE695K VLSI Interconnect

Prepared by CK 7

Sensitivity Computation

• D(w) = K + Rprev (Cu . w)+ Ru . C / w

• ∂D/∂w = Rprev . Cu - Ru . C / w2

• Could minimize path delay bysetting derivative to zero

• Problem: may cause anotherpath delay to become very high!

Rprev

“1”

wC

Why Isn’t This THE Perfect Solution?

• Problems with interacting paths(1) Better to size A than to size all

of B, C and D(2) If X-E is near-critical and A-D is

critical, size A (not D)

• False paths, layout considerations not incorporated• AND YET..

– TILOS (the commercial tool) gives good solutions– It has handled circuits with 250K transistors– It has linear time performance with increasing circuit size

A

B

C

D

XE

EE695K VLSI Interconnect

Prepared by CK 8

CONTRAST

• Solves the convex optimization problem exactly• Uses an interior point method that is guaranteed to

find the optimal solution

• Can handle circuits with about a thousand transistors

Delay spec.satisfied

Optimal solution

(Convex) Polytopes

• Polytope = n-dimensional convex polygon– Half-space: aT x ≥ b (aT x = b is a hyperplane)

e.g. a1 x1 + a2 x2 ≥ b (in two dimensions)– Polytope = intersection of half-spaces, i.e.,

a1T x ≥ b1

AND a2T x ≥ b 2

AND amT x ≥ bm

Represented as A x ≥ b

EE695K VLSI Interconnect

Prepared by CK 9

Convex Optimization Algorithm (Vaidya)

(1) Enclose solution within a polytope (invariant)– Typically, take a “box” represented by

wi ≤ wMAX and wi ≥ wMIN

as the starting polytope.

(2) Find center of polytope, wc

(3) Does wc satisfy constraints (timing specs)?– Take transistor widths corresponding to wc and perform a

static timing analysis

(4) Add a hyperplane through the center so that thesolution lies entirely in one half-space– Hyperplane equation depends on feasibility of wc

Half-space: ∇ f (wc) . w ≥ ∇ f (wc) . wc

• If wc is feasiblethen f = objective functionFind gradient of area function

• If wc is infeasiblethen f = violated constraintFind gradient of critical path delay

Equation of the New Half-Space

wc

EE695K VLSI Interconnect

Prepared by CK 10

Illustrative Example

f (w) = c, f decreasingsolution

S S

SS

w1

w2

Calculating the Polytope Center

• Finding exact centroid is computationally expensive• Estimate center by minimizing log-barrier function

F(x) = - Σi=1 to m log (aiT x - bi)

Happy “coincidence”:F(x) is a convex function!

• Physical meaning:maximize product of perpendiculardistances to each hyperplanethat defines the polytope

EE695K VLSI Interconnect

Prepared by CK 11

Linear Programming Methods

• LP-based approaches– Model gate delay as a piecewise linear function

Parameters: • transistor widths wn , wp

• fanout transistor widths

• input transition time

– Formulate problem as a linear program (LP)– Use an efficient simplex package to solve LP

Delay

wn

Power-Delay Sizing

minimize Power(w)subject to Delay(w) ≤ Tspec

Area ≤ Aspec

Each gate size ≥ Minsize

Power = dynamic power + short-circuit power

EE695K VLSI Interconnect

Prepared by CK 12

Dynamic Power

• Dynamic Power– Power required to charge/discharge capacitances

Pdynamic = CL Vdd2 f pT

CL = load capacitance, f = clock frequency, pT = transition probability

– Posynomial function in w’s (if pT constant)– Constitutes dominant part of power in a well-designed circuit– Minimize dynamic power ≡≡ minimize CL

≡≡ minimize all transistor sizes! RIGHT? (Unfortunately not!)

POST-IT

Short-Circuit Power

• Short-circuit Power– Power dissipated when a direct Vdd-ground path exists– Approximate formula by Veendrick (many assumptions)

Pshort-ckt = β/12. (β/12. (Vdd -2VT)2 τ τ f pT

β = transconductance, τ = transition time

– Posynomial function in w’s (if pT const)– Other (more accurate) models: table lookup, curve-fitting– “Less than 10-20% of total power in a well-designed circuit”– So what’s the catch?

POST-IT

EE695K VLSI Interconnect

Prepared by CK 13

The Catch

• Delay of gate A is large– Therefore, the value of τ for

B, C, ... , H is large– Therefore short-circuit power

for B, C, ... , H is large– Can be reduced by reducing

the delay of A– In other words, size A!

• Tradeoff dynamic and short-circuit power!

• Minpower ≠ minsize

A

B

C

D

XE

F

G

H

begin Calculate pT's ‘for minsized gates

error < εε? end

Solve gate sizing problem for current pT

Calculate pT's for new sizeserror = ||old pT - new pT ||

Problem: inaccuracies in short-ckt. power model

Solution Technique

Yes

No

EE695K VLSI Interconnect

Prepared by CK 14

Transistor/Gate Sizing[Borah-Owens-Irwin, ISLPD’95, TCAD’96]

γσ

α

τµτµ

++⋅=

⋅⋅⋅+⋅⋅⋅⋅+⋅+⋅⋅⋅= ∑∑==

WW

fWfWkfCLfWcVPn

i

iiin

n

i

iidd

)()(11

2

Optimal transistor size

τµ

µ

τµ

µ

⋅+⋅⋅=

⋅+⋅⋅=

∑ ∑

∑ ∑

= =

= =

n

n

i

n

ipiIpip

n

p

n

i

n

iniInin

p

WCWnOW

WCWpOW

1 1)()(

*

1 1)()(

*

)()()(

)()()(

CI = int. cap

Power Optimal Sizes and CorrespondingPower Savings

EE695K VLSI Interconnect

Prepared by CK 15

Power-Delay Optimization

Power, Delay and Power-Delay Curves

EE695K VLSI Interconnect

Prepared by CK 16

Power-Delay Optimal Transistor SizingAlgorithm

• Power-Optimal initial sizing• Timing analysis• While exists path-delay > target-delay

– Power-delay optimal sizing critical path– if path-delay > target-delay

• upsize transistor with minimum power-delay slope

– if path-delay < target-delay• downsize transistor with minimum power-delay

slope

– Incremental timing analysis

Effect of Transistor Sizing