Buffering Interconnect From Basics to Breakthroughs

Download Report

Transcript Buffering Interconnect From Basics to Breakthroughs

A Polynomial Time Approximation Scheme
For Timing Constrained Minimum Cost Layer
Assignment
Shiyan Hu*, Zhuo Li**, Charles J. Alpert**
*Dept of Electrical and Computer Engineering, Michigan Technological University
**IBM Austin Research Lab
Outline





Motivation
Problem Formulation
Algorithm
Experimental Results
Conclusion
2
Layer Assignment
4X
2X
1X

In 65nm/45nm technology, layer assignment is
critical for timing and buffer area optimization.
3
Wire RC and Delay
M2
M4
M2
M6
M6
2.50E+02
Capacitance
2.00E+00
1.50E+00
1.00E+00
5.00E-01
2.00E+02
1.50E+02
1.00E+02
5.00E+01
0.00E+00
0.00E+00
90
80
70
wire delay
Resistance
M4
60
M2
M4
M6
50
40
30
Wire in higher
layer has much
smaller delay
20
10
0
0.1
0.2
0.3
0.4
wire length
0.5
0.6
0.7
4
Impact to Buffering

A buffer can
drive longer
distance in
higher layer


Timing is
improved
Fewer buffers
are needed
5
Impact to Routing/Buffering
IP
IP
6
Example: Considering Layer
Assignment In Buffering
7
Problem Formulation
Can be different
layers

Given
– A Buffered Steiner tree
– Timing constraint
– Wire layers with RC
parameters and cost
Same Layer

Find a minimal cost layer assignment such that the
timing constraint is satisfied.
– Between any buffers, one wire layer is used. Wire
tapering is not desired in practice.
8
Polynomial Time Approximation
Scheme


The problem is NP-hard
A Polynomial Time Approximation Scheme (PTAS)
– Provably Good
– Within (1+ɛ) the optimal cost for any ɛ>0
– Runs in time polynomial in n (nodes), m (layers), and
1/ɛ
– Ultimate solution for an NP-hard problem in theory
– Works well in practice for layer assignment problem
9
Algorithmic Flow


Denote by W* the cost of the optimal layer
assignment
Oracle (x): able to decide whether x>W* or not
– Without knowing W*
– Answer efficiently
Setup upper and lower bounds of cost W*
Run a binary search on the bounds
Oracle (x)
10
Oracle Construction by Dynamic
Programming

Oracle (x)
– Constructed by dynamic programming (DP)
– Only interested in whether there is a solution with
cost up to x satisfying timing constraint
Denote by W the maximum cost
 W=x
 Runs in polynomial time in terms of W

11
Dynamic Programming

A loop starts with
w=1
– Propagate q(v,w)
from sinks to
driver
– q(v,w): largest
RAT at node v
with total cost w
– Two operations
q(v,w) is propagated toward the
source



Add Wire
Branch Merge
Increment w.
Repeat the above
process until w
reaches W
12
Propagating q(v,w): Add Wire
q(v2, w2)

x
q(v1, w1)
q(v2,w) is max of
– q(v2,w-1)
– updating q(v1,w) by wire delay and wire cost in the
same layer
13
Propagating q(v,w): Branch Merge
Merge q(vl,w) and
q(vr,w) to get q(v,w)
q(vl,w)
q(vr,w)
 q(v,w)
is max of
DP: After q is propagated
to driver,

– q(v,w-1)
w is incremented, repeat the
process
until w reaches W.
– min of q(vl,w) and
2
Runs in O(mnW ) time.
q(vr,w) in the same
layer
14
Oracle Construction

Given any input x in Oracle(x)
– Scale and round each wire cost
– DP is performed to the scaled problem with W=n/ɛ
 Yes,
there is a solution satisfying the timing
constraint. The optimal cost of the unscaled
problem W*<(1+ɛ)x
 No, W*>x
15
Fast Logarithmic Scale Binary Search


U (L): set all wires to the max (min) cost layers
Loop
– Set


– Query Oracle(x)
– Update U or L accordingly and repeat the process
Runs in loglogM time where M=U/L
The (1+ɛ) approximation runs in
time
Set upper bound U and lower bound L of W*
Run a logarithmic scale binary search
Oracle (x)
16
Experiments

Experiment Setup
– 500 buffered netlists
– Compare between PTAS and dynamic
programming (DP)
17
Cost Ratio Compared to DP
Cost Ratio
0.5
0.45
0.4
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0
PTAS
0.05
0.1
0.2
0.3
0.4
Approximation Ratio ɛ
0.5
18
Speedup Compared to DP
3
2.5
2
Speedup
1.5
PTAS
1
0.5
0
0.05
0.1
0.2
0.3
0.4
Approximation Ratio ɛ
0.5
19
Observations

Compare PTAS with DP
– Larger approximation ratio
larger speedup and worse
solution quality (i.e., worse actual approximation ratio)
– As expected from theory
20
Conclusion


Propose a provably good (1+ɛ) approximation for
timing constrained minimum cost layer assignment
running in
time
– 2x speedup in experiments
– Few percent additional wire as guaranteed
theoretically
Future work
– Make oracle run faster, i.e., faster DP
– Reduce time for performing binary search style
oracle queries since current PTAS depends on the
ratio between upper and lower bounds of cost
21
Thanks
22