Sei sulla pagina 1di 33

Coupling Aware Timing

Optimization and Antenna


Avoidance in Layer Assignment
Di Wu, Jiang Hu and Rabi Mahapatra

Texas A&M University

Outline

Background and previous works


Problem formulation
Improved probabilistic coupling
capacitance model
Antenna avoidance through tree
partitioning
Layer assignment heuristic
Experimental results
2

Coupling capacitance

Coupling capacitance (crosstalk) induces two


different problems:
Functional noise:
Coupling capacitance betwee
segment i and j.

CC (i, j ) f ij

Delay noise:

Lenij
Distij

fij : switching activities


between i and j.
Lenij : coupling length.
Distij : coupling
distance.
and : technology
dependent constants.

Coupling induced delay

Delay from CC in Elmore delay model


s

CC
2

CC
2

Extra delay from CC to


the critical sink

b
critical sink

d ji Rsa CC Rab

non-critical sink

Same amount of coupling leads to different delay


depending on coupling location.
Most of previous works on layer/track assignment
consider crosstalk only, not its impact on timing.
[ThakurISCAS95] [KayISPD00]

CC
2

Antenna effect

Occurs during manufacturing

Conductor layers fabricated from lowest layer


to highest layer.
Conductor layers, connected only to the gate
oxide, called antenna.
Risk of gate damage is proportional to the
antenna size.
Antenna violation

Diffusion

Sink 1

Sink 2

Antenna avoidance methods

Diode insertion

Jumper insertion

Add protection diode to gate in case of antenna


violation.
[ChenISQED00] [HuangTCAD04]
Break long antenna by switching wire to the top
layer and switch back immediately. [HoISPD04]

Layer assignment
Reduce antenna length by layer
assignment. [ShirotaCICC98] [ChenISDFT00]
6

Jumper insertion vs. layer assignment

Antenna violation
Diffusion

Gate
Jumper insertion

Diffusion

Gate

Layer assignment
Diffusion

Gate

Each jumper costs two vias and a short


segment on the top layer.
7

Layer assignment problem formulation

Given

Global routing solution.


Required Arrival Time (RAT) for each sink.
Via constraints on the boundaries of two
adjacent GRCs. (Global Routing Cells)

Goal

Maximize the minimum slack among all sinks


considering coupling.
Number of antenna violations is minimized.
Via constraints are satisfied.
8

Probabilistic coupling model

A routing region r with n uniformly


spaced tracks and k wire segments.
Cr : probabilistic coupling capacitance
for a target wire i in r.
Routing region r

Cr?
?

target wire i
other wire

Improved probabilistic model

Linear model: a totally random model.


Improved model: suitable for a
track/detailed router with coupling avoidance.

If k < n/2, enough empty tracks to separate signal


nets.
Cr=0

If k > n/2, adjacent empty tracks are disallowed,


otherwise waste of empty tracks.

10

Derivation of the probabilistic model

Cr
k ,n ,1
k ,n , 2
CC ( k ,n 2 k ,n )

if k n / 2
otherwise

k,n,1: number of permutations target wire has


one adjacent wire.
k,n,2: number of permutations target wire has
two adjacent wires.
k,n: total number of permutations.
Each of k,n,1, k,n,2 and k,n limits to the cases
that no two empty tracks are adjacent to each
other.
11

Derivation of k,n
a wire
potential slot
for empty tracks

Empty tracks can only be inserted into limited


slots to avoid their adjacency.
After empty tracks are inserted, perform
permutation on the wires.
k 1
k!
k,n =
nk

k n / 2

k,n: total # of permutations


with no adjacent empty
tracks.

12

Derivation of k,n,1
target wire i empty track

other wire

bundle

potential position
for empty tracks

Target wire is not on


boundary

k 1

k,n,1 not_on_boundary =2
1

k 1
(k 1)!
n k 1

k n / 2

k,n,1: total # of
permutations target wire
has one neighboring wire.

13

Derivation of k,n,1
target wireempty
i
track
other wire bundle
potential position
for empty tracks

Target wire is on boundary


k 1
(k 1)!
nk

k,n,1 on_boundary2 =

k n / 2

k,n,1 = k,n,1 -not_on_boudary + k,n,1 -on_boudary


k,n,1: total # of permutations
target wire has one
neighboring wire.

14

Derivation of k,n,2
target wire i
other wire

bundle

potential position
for empty tracks

k 1

k,n,2 = 2
2

k 1

(k 2)!
nk

k n / 2

k,n,2: total # of permutations


target wire has two neighboring
15
wires.

Comparison of linear model and


improved model

Comparison of the improved probabilistic model with a


linear model [BecerSLIP02] when k =0 ~ 30 and n=30.

16

Antenna avoidance through layer


assignment
Meta
l1
Meta
l2
Meta
l3
Meta
l4

Sink v

Antenna for
v
dont care region
for v

Separators : segments that surround an antenna.


If separators are limited on the top metal layer (Ltop),
antenna problem becomes a tree partitioning problem.

17

Tree partitioning for antenna


avoidance (TPAA)

Find the minimum number of separators such that


the size of each resulting sub-tree (containing
sinks) is less than Amax (Maximum allowed
antenna size).
Example:
Ts

separators

W(Ts): total length of tree Ts

18

Linear optimal tree partitioning


algorithm

An bottom-up approach,
adapted from
[KunduSIAM77], each node in
the tree processed at most
once.
At each node u, if W(Tu) >
Amax, remove minimum
number of separators in Tu
(assign to Ltop), such that the
resulting W(Tu) Amax.
A O(n) SPLIT technique to
find minimum separators.
W(Tu): total length of tree Tu

Amax=5
19

Constrained tree partitioning

Each metal layer has a preferred routing direction


(horizontal or vertical) not every segment can be
assigned to Ltop.

Feasible branch: root edge of a branch can be assigned


to Ltop.
Define BMF(u) : maximal feasible branches for Tu.
Apply tree partitioning on BMF(u) with Amax,reduced.
Amax,reduced
=Amax-
Weight(
infeasible edge separating
infeasible
edge
u
BMF(u))

b
e

Amax=30
Amax,reduced=27

20

Tree partitioning based optimal jumper


insertion

Similar techniques can be applied to jumper


insertions.
Time complexity is O(n) and can be applied to
the work of [HoISPD04].

Amax=5

21

Layer assignment heuristic

Consider both coupling induced delay and


antenna effects.
Proceeds in a panel by panel order.
Within a panel, most congested region is
processed first.
Global cell processing order

22

Layer assignment heuristic


Within each global cell - an MILP
problem, we provide a simple heuristic:
1.
2.
3.

4.
5.

Assign antenna-critical segments to Ltop.


Sort non-critical segments in non-increasing
order of min timing slacks.
Partition the non-critical segments to layers
min slack is maximized. Coupling estimated with
the probabilistic model.
Enforce via constraints.
Update slacks for each segment (net) in this cell.

23

Layer assignment example

Layer assignment example on one


global cell.
antenna critical
Timing slacks before LA
300ps250ps100ps 20ps100ps

Layer 3
Layer 2
Layer 1
240ps230ps50ps

20ps100ps

Layer 0

Timing slacks after LA

24

Benchmark circuits

ISPD98/IBM circuits [AlpertISPD98].


Circuit

#GRC

#nets

#tracks
verti
panel

#tracks
hori panel

ibm01

6464

8.8K

10

10

ibm02

8064

15.7K

22

18

ibm03

8064

14.6K

15

14

ibm04

9664

17.9K

19

17

ibm05

12864

19.3K

34

32

ibm06

12864

21.9K

18

15

ibm07

19264

29.0K

23

21

ibm08

19264

36.3K

22

18

ibm09

25664

41.6K

18

14

ibm10

256128

43.7K

23

20

ibm11

256128

50.0K

13

12

ibm12

256128

51.6K

18

15

ibm13

256128

59.4K

13

12
25

Benchmark circuit

Placement by Dragon [WangICCAD00].


Global routing by a rip-up and re-route router.
Our method is compared with three other
methods:

Method 1: consider only total coupling capacitance.


Method 2: coupling capacitance estimated by a trial
track/layer assignment method.
Method 3: coupling capacitance is estimated using
the linear model.

Results are validated by a timing-driven track


router.
26

Experimental results - timing

27

Experimental results Antenna violations

LA: Layer Assignment without Antenna Avoidance.


LAAA: Layer Assignment with Antenna Avoidance.

28

Experimental results via violations

JI : Jumper
Insertion.

29

Experimental result - CPU

CPU time is similar for all methods

30

Conclusion

An improved probabilistic crosstalk model


is proposed to fit for a coupling-aware
timing-driven track/detailed router.
Antenna avoidance through tree
partitioning.
Experimental results showed :

significant via reductions compare to jumper


insertions.
timing improvement using the improved
probabilistic model.

Thank you!

31

Amax,reduced Amax (W (Tu ) bB

MF

(u )

W (b))

32

SPLIT example

A sub-tree Tu has 5 branches and Amax=24.


W(Tu)=28.
median-find-and-half : Find median, then halve.
SPLIT({6,2,9,7,4},24) = SPLIT ({9,7},12)={9}
Tu
2

33

Potrebbero piacerti anche