47
Problems in VLSI design wire and transistor sizing signal delay in RC circuits transistor and wire sizing Elmore delay minimization via GP dominant time constant minimization via SDP placement problems quadratic and 1 -placement placement with timing constraints 1

Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

Embed Size (px)

Citation preview

Page 1: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

Problems in VLSI design

• wire and transistor sizing

– signal delay in RC circuits– transistor and wire sizing– Elmore delay minimization via GP– dominant time constant minimization via SDP

• placement problems

– quadratic and ℓ1-placement– placement with timing constraints

1

Page 2: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

Signal delay in RC circuit

vin

1

0.5

vk

vin

Dkt = 0

Cdv

dt= −G(v(t) − 1), v(0) = 0

• capacitance matrix C = CT ≻ 0

• conductance matrix G = GT ≻ 0

Problems in VLSI design 2

Page 3: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

• v: node voltages

• as t → ∞, v(t) → 1

• delay at node k:

Dk = inf{T | vk(t) ≥ 0.5 for t ≥ T}

• critical delay: D = maxk Dk

Problems in VLSI design 3

Page 4: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

Transistor sizing

RC model of transistor

nMOS

transistor

(width w)

RC model (on)

RC model (off)

gate

drain

D

D

S

SG

Gsource

Rsd ∝ 1/w

Cd ∝ wCs ∝ wCg ∝ w

Cd ∝ wCs ∝ wCg ∝ w

Problems in VLSI design 4

Page 5: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

example

vout

CL

Problems in VLSI design 5

Page 6: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

• to first approximation: linear RC circuit

• design variable: transistor width w

• drain, source, gate capacitance affine in width

• ‘on’ resistance inversely proportional to width

Problems in VLSI design 6

Page 7: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

Wire sizing

interconnect wires in IC: distributed RC line

lumped RC model:ℓi

wi

Ci ∝ wiℓi Ci

Ri ∝ ℓi/wi

• replace each segment with π model

• segment capacitance proportional to width

Problems in VLSI design 7

Page 8: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

• segment resistance inversely proportional to width

• design variables: wire segment widths wi

Problems in VLSI design 8

Page 9: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

Optimization problems involving delay

C(x)dv

dt= −G(x)(v(t) − 1), v(0) = 0

• design parameters x: transistor & wire segment widths

• capacitances, conductances are affine in x:

C(x) = C0 + x1C1 + · · · + xmCm

G(x) = G0 + x1G1 + · · · + xmGm

Problems in VLSI design 9

Page 10: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

tradeoff between

• delay, complicated function of x

• area, affine in x

• dissipated power in transition v(t) = 0 → 1

1TC(x)1

2

affine in x

Problems in VLSI design 10

Page 11: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

Elmore delay

• area above step response

T elmk =

0

(1 − vk(t))dt

• first moment of impulse response

T elmk =

0

tvk(t)′dt

Problems in VLSI design 11

Page 12: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

replacements

vk

v′

k

Dk Dk T elmk

T elmk

1

0.5

• T elmk ≥ 0.5Dk

• good approximation of Dk only when vk is monotonically increasing

• interpret v′

k as probability density:Tk is mean, Dk is median

Problems in VLSI design 12

Page 13: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

Elmore delay for RC tree

RC tree

R1

R2 R3

R4

R5

R6

C1

C2 C3

C4 C5

C6

vin

1mr

2mr 3mr

4mr

5mr

6mr

• one input voltage source

• resistors form a tree with root at voltage source

• all capacitors are grounded

Problems in VLSI design 13

Page 14: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

Elmore delay to node k:

i

Ci

(

R’s upstream from node k and node i)

R1

R2 R3

R4

R5

R6

C1

C2 C3

C4 C6

C5

vin

1mr

2mr 3mr

4mr

5mr

6mr

Example:

T elm3 = C3(R1 + R2 + R3) + C2(R1 + R2) + C1R1

+ C4R1 + C5R1 + C6R1

Problems in VLSI design 14

Page 15: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

Elmore delay optimization via GP

in transistor & wire sizing, Ri = αi/xi, Cj = aTj x + bj

(αi ≥ 0, aj, bj ≥ 0)

Elmore delay:

T elmk =

ij

γijRjCi =∑

k=1

βk

m∏

i=1

xαiki

(γij = +1 or 0, βk ≥ 0, αij = +1, 0,−1). . . a posynomial function of x ≻ 0

hence can minimize area or power, subject to bound on Elmore delay usinggeometric programming

commercial software (1980s): e.g., TILOS

Problems in VLSI design 15

Page 16: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

Limitations of Elmore delay optimization

• not a good approximation of 50% delay when step response is notmonotonic(capacitive coupling between nodes, or non-diagonal C)

• no useful convexity properties when

– there are loops of resistors– circuit has multiple sources– resistances depend on more than one variable

Problems in VLSI design 16

Page 17: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

Dominant time constant

C(x)dv

dt= −G(x)(v(t) − 1), v(0) = 0

• eigenvalues 0 > λ1 ≥ λ2 ≥ · · · ≥ λn given by

det(λiC(x) + G(x)) = 0

• solutions have formvk(t) = 1 −

i

αikeλit

• slowest (“dominant”) time constant given by T dom = −1/λ1 (related todelay)

Problems in VLSI design 17

Page 18: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

−1/T dom

• can bound D, T elm in terms of T dom

• in practice, T dom is good approximation of D

Problems in VLSI design 18

Page 19: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

Dominant time constant constraint as linear matrix

inequality

upper bound T dom ≤ Tmax

−1/T dom

−1/Tmax

T dom ≤ Tmax ⇐⇒ TmaxG(x) − C(x) � 0

• convex constraint in x (linear matrix inequality)

Problems in VLSI design 19

Page 20: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

• no restrictions on G, C

• T dom is quasiconvex function of x, i.e., sublevel sets

{

x | T dom(x) ≤ Tmax

}

are convex

Problems in VLSI design 20

Page 21: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

Sizing via semidefinite programming

minimize area, power s.t. bound on T dom, upper and lower bounds on sizes

minimize fTx

subject to TmaxG(x) − C(x) � 0

xmini ≤ xi ≤ xmax

i

• a convex optimization problem (SDP)

• no restrictions on topology(loops of resistors, non-grounded capacitors)

Problems in VLSI design 21

Page 22: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

Wire sizing

minimize wire area subject to

• bound on delay (dominant time constant)

• bounds on segments widths

RC-model:

x1 x20

βxi βxiαxi

xi

Problems in VLSI design 22

Page 23: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

as SDP:minimize

i

ℓixi

subject to TmaxG(x) − C(x) � 0

0 ≤ xi ≤ 1

Problems in VLSI design 23

Page 24: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

area-delay tradeoff

2 4 6 8 10 12 14 16 18200

400

600

800

1000

1200

1400

1600

1800

2000

AAAU

(a)AAAU

(b)AAAU

(c)

HHHY(d)

wire area

Tdom

0

0.5

1

0

0.5

1

0

0.3

0.6

0 2 4 6 8 10 12 14 16 18 200

0.2

• globally optimal tradeoff curve

• optimal wire profile tapers off

Problems in VLSI design 24

Page 25: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

step responses (solution (a))

0 200 400 600 800 1000 1200 1400 1600 1800 20000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

time

voltag

e

��

��

T dom�

��

��

D

��

T elm

Problems in VLSI design 25

Page 26: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

Wire sizing and topology

x1 x2

x3

x4

x5

x6

βixi βixiαxi

xi

1m 2m 3m

4m

not solvable via Elmore delay minimization

min area s.t. max dominant time constant (via SDP):

minimize∑

xi

subject to TmaxG(x) − C(x) � 0

Problems in VLSI design 26

Page 27: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

tradeoff curve

0 0.1 0.2 0.3 0.4 0.5 0.6100

200

300

400

500

600

700

800

��

(a)

��

(b)

��

(c)

area

dom

inan

ttim

eco

nst

ant

• usually have more wires than are needed

Problems in VLSI design 27

Page 28: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

• solutions usually have some xi = 0

• different points on tradeoff curve have different topologies

Problems in VLSI design 28

Page 29: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

solution (a)

1m

4m

3m

x4 = 0.15 x6 = 0.11

0 100 200 300 400 500 600 700 800 900 10000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1��

v1(t)� v4(t)@@I v3(t)

��T elm�

���

T dom

@@RD

Problems in VLSI design 29

Page 30: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

solution (b)

x4 = 0.03 x6 = 0.03

x3 = 0.02

1m 3m

4m0 100 200 300 400 500 600 700 800 900 1000

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1 ��v1(t)

� v4(t)@@I v3(t)

��T elm�

���

T dom

@@RD

Problems in VLSI design 30

Page 31: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

solution (c)

x3 = 0.014

1m 3m

4j

0 100 200 300 400 500 600 700 800 900 10000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1 ��v1(t)

@@I v3(t)

��T elm�

���

T dom

@@RD

Problems in VLSI design 31

Page 32: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

Placement

• list of cells: cells i = 1, . . . , N are placeable, cellsi = N + 1, . . . , N + M are fixed (e.g., I/O)

• input and output terminals on boundary of cells

• group of terminals connected together is called a net

Problems in VLSI design 32

Page 33: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

Problems in VLSI design 33

Page 34: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

• placement of cells determines length of interconnect wires, hence signaldelay

• problem: determine positions (xk, yk) for the placeable cells to satisfydelay constraints

• practical problem sizes can involve 100,000s of cells

• exact solution (including delay, area, overlap constraints) is very hard tocompute

• heuristics (often based on convex optimization) are widely used inpractice

Problems in VLSI design 34

Page 35: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

Quadratic placement

assume for simplicity:

• cells are points (i.e., have zero area)

• nets connect two terminals (i.e., are simple wires)

quadratic placement:

minimize∑

nets (i,j)

wij

(

(xi − xj)2 + (yi − yj)

2)

weights wij ≥ 0

unconstrained convex quadratic minimization(called ‘quadratic programming’ in VLSI)

Problems in VLSI design 35

Page 36: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

• solved using CG (and related methods) exploiting problem structure(e.g., sparsity)

• physical interpretation: wires are linear elastic springs

• widely used in industry

• constraints handled using heuristics(e.g., adjusting weights)

Problems in VLSI design 36

Page 37: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

ℓ1-placement

minimize∑

nets (i,j)

wij (|xi − xj| + |yi − yj|)

• measures wire length using Manhattan distance(wire routing is horizontal/vertical)

• motivation: delay of wire (i, j) is RC with

R = Rdriver + Rwire, C = Cwire + Cload

Rdriver, Cload are given, Rwire ≪ Rdriver,

Cwire ∝ wire length (Manhattan)

Problems in VLSI design 37

Page 38: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

Rdriver

Cwire Cload

• called ‘linear objective’ in VLSI

Problems in VLSI design 38

Page 39: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

Nonlinear spring models

minimize∑

nets (i,j)

h(|xi − xj| + |yi − yj|)

h convex, increasing on R+

example

z

h(z)

• flat part avoids ‘clustering’ of cells

Problems in VLSI design 39

Page 40: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

• quadratic part: for long wires Rwire ∝ length

• solved via convex programming

Problems in VLSI design 40

Page 41: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

Timing constraints

• cell i has a processing delay Dproci

• propagation delay through wire (i, j) is αℓij, where ℓij is the length ofthe wire

• minimize max delay from any input to any output

Problems in VLSI design 41

Page 42: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

Dproc1

Dproc2

Dproc3

Dproc4

Dproc5

ℓ14

ℓ13

ℓ23

ℓ35

ℓ45

Problems in VLSI design 42

Page 43: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

problem is:

minimize T

subject to∑

cellsin path

Dproci +

wiresin path

αℓij ≤ T

• one constraint for each path

• variables: T , positions of placeable cells (which determine ℓij)

• a very large number of inequalities

Problems in VLSI design 43

Page 44: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

A more compact representation

• introduce new variable T outi for each cell

• for all cells j, add one inequality for each cell i in the fan-in of j

T outi + αℓij + Dproc

j ≤ T outj (1)

• for all output cellsT out

i ≤ T (2)

• minimize T subject to (??) and (??)

convex optimization problem:

• with ℓ1-norm, get LP

• with ℓ2-norm, get SOCP

Problems in VLSI design 44

Page 45: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

extensions (still convex optimization):

• delay is convex, increasing fct of wire length

• max delay constraints on intermediate cells

• different delay constraints on cells

Problems in VLSI design 45

Page 46: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

Non-convex constraints and generalizations

non-convex constraints

• cells are placed on grid of legal positions

• cells are rectangles that cannot overlap

• reserved regions on chip

Problems in VLSI design 46

Page 47: Problems in VLSI design - Stanford Universityweb.stanford.edu/class/ee364a/lectures/circuits.pdf · Problems in VLSI design • wire and transistor sizing – signal delay in RC circuits

generalizations

• multi-pin nets: share interconnect wires

• combine placement with wire and gate sizing

Problems in VLSI design 47