Top Banner
Timing Optimization
21

Timing Optimization

Dec 31, 2015

Download

Documents

Matthew Schultz

Timing Optimization. Optimization of Timing. Three phases globally restructure to reduce the maximum level or longest path Ex: a ripple carry adder ==> a carry look-ahead adder physical design phase transistor sizing timing driven placement buffering actual design - PowerPoint PPT Presentation
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: Timing Optimization

Timing Optimization

Page 2: Timing Optimization

Optimization of Timing

• Three phases

1 globally restructure to reduce the maximum level or longest path

Ex: a ripple carry adder ==>

a carry look-ahead adder

2 physical design phase

– transistor sizing

– timing driven placement

– buffering

3 actual design

– fine tune the circuit parameter

Page 3: Timing Optimization

Delay Model at Logic Level

1 unit delay model

– assign a delay of 1 to a gate

2 unit fanout delay model

– incorporate an additional delay for each fanout

3 library delay model

– use delay data in the library to provide more accurate delay value

Page 4: Timing Optimization

Arrival Time & Required Time

• arrival time : from input to output

• required time : from output to input

• slack = required time - arrival time

1

1 3

23

c d e f

g h

Page 5: Timing Optimization

Restructure for Timing [SIS]

Two Steps:

• minimize area

• speed up

required time

arrival time

critical node = with negative slack time

output

input

Page 6: Timing Optimization

Basic Idea

collapse critical nodes and re-decompose

a b

c

y

a

b c

y

x

critical path a-x-y

Page 7: Timing Optimization

Speed Up

speed up(d)

1 compute the slack time of each node

2 find all critical nodes and compute cost for each critical node

3 select re-synthesis points ( find minimum cut set of all critical node )

4 collapse and re-decompose the re-synthesis points

5 if timing requirement is satisfied, done. otherwise go to step 1

Page 8: Timing Optimization

Step 2 of Speed-up Algorithm

Step 2 :

– compute cost function

• selecting re-synthesis points has to consider

(1)ease for speed-up (re-synthesis)

(2)area overhead

Page 9: Timing Optimization

Ease for Speed-Up

y

x

• let d = 1 (collapsing depth, given) y => 1 critical input 2 non-critical inputs x => 4 critical inputs• If y is chosen, it will be easier to perform re-decomposition.

Page 10: Timing Optimization

Area Penalty

f g

b c

dx

b-x-g critical collapse x into g

f g

b c

dx

duplicate

Page 11: Timing Optimization

Cost Function

• define weight for critical node X

Wx(d) = Wxt(d) + Wx

a(d)

– Wxt(d) reflect the ease for speed up

– Wxa(d) reflect area increase

N(d) = signals that are input to

re-synthesis region

M(d) = nodes in the re-synthesis region

M(d)

dy is shareM(d)ydW

dN

SydNydW

a

x

t

x

)(

)(

)()(

Page 12: Timing Optimization

Example of Computing Cost Function

d=3Wx

t(d) = 2/6Wx

a(d) = 3/5

Ex: x

y z

u

wv

a

b c d e

f

y

Page 13: Timing Optimization

Step 3 of Speep-up Algorithm

Step 3 :

Background:

A network N=(s,t,V,E,b) is a diagram (V, E) together with a source s V and a sink t V with bound (capacity),

b(u,v) Z+ for all edges.

A flow f in N is a vector in such that

1. 0 f(u,v) b(u,v) for all (u,v) E

2.

Ex:

5 4

3 3

17

2

1

The value of the flow f =6

s t

R E

f u v f v w V-{s,

E

( , ) ( , )

for all v t} (u,w)(u,v) E

Page 14: Timing Optimization

Min-cut

An s-t cut is a partition (W,W’) of the nodes of V into sets W and W’ such that s W and t W’. The capacity of an s-t cut

c W W b i, ji j E

( , ' ) ( )( , )

such thati w, j w'

s t

forward

backward

W W’

Max-flow = min-cut

Page 15: Timing Optimization

Example

Ex:

y x

z

vu

w

=> Network flow

Page 16: Timing Optimization

Transform Node-cut to Edge-cut

Step 3:

Duplicate each node

u’ v’

z

y’ x’

y x

w’z’

w

vu

w(y) w(x)

w(z) w(w)

w(u) w(v)

use maxflow(min-cost) algorithm to find resysthesis points

Page 17: Timing Optimization

Step 4 of Speed-up Algorithm

Step 4 :

Re-decompose

1. kernel based decomposition

• extract divisor

• the weight of a divisor is a linear sum of area component (literal saved) and time component (prefer the smallest arrival time)

2. and-or decomposition

0 0 1.0 2.0

0 0

1.02.0

Page 18: Timing Optimization

An Improved Cut Set (Separator Set)

• Un-balanced path delay• Minimum cost cut set = 4 ({C})• Delay reduction = 0.5

Ad=1

Bd=1.5

Ed=1

Cd=0.5

Fd=1.5

Dd=1

Gd=2

(-0.6/4/0.5)

(-0.6/2/0.25) (-0.6/2/0.5)(-0.6/1/0.25)

(-0.1/4/0.25)(-0.1/2/0.25)

(-0.6/4/0.5)

(x,y, z) means (slack, cost, delay reduction)

Page 19: Timing Optimization

Construct a Path-balanced Graph

• ds(e) = slack (HeadNode (e))– slack (TailNode(e))• If ds(e) > 0, insert a “padding node”• P1 and P2 are two padding nodes• Minimum cost cut-set = 1 ({E, P2}) • Delay reduction = 0.5

(-0.6/1/0.25)

Ad=1

Bd=1.5

Ed=1

Cd=0.5

Fd=1.5

Dd=1

Gd=2

(-0.6/4/0.5)

(-0.6/2/0.25) (-0.6/2/0.5)

(-0.1/4/0.5)(-0.1/2/0.25)

(-0.6/4/0.5)P1

d=0.5P2

d=0.5

(-0.6/0/0.5) (-0.6/0/0.5)

(x,y, z) means (slack, cost, delay reduction)

(-0.6/2/0.25)(-0.6/4/0.5)

Page 20: Timing Optimization

Technique Used in Other Optimization Steps

– Gate sizing

– Low power design (threshold voltage assignment)

• high threshold voltage:

– leakage power↓

– delay↑

• low threshold voltage:

– leakage power ↑

– delay↓

Page 21: Timing Optimization

How to Reduce Leakage Power Without Performance Loss

1 use low threshold voltage gates for timing optimization

2 compute the slack time of each node

3 find all non-critical nodes and compute cost for each non-critical node

4 replace candidate nodes by high threshold voltage gates for saving leakage power

5 re-compute the slack time of each node

6 if timing requirement is not violation, go to step 3. otherwise, rollback and done.