p2-ispd2009 robust layer assignment for via optimization ... · # nets processed routing ......

Post on 11-Oct-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Robust Layer Assignment for Via Optimization in Multi-layer Global Routing

Tsung-Hsien LeeInst. of Information Science

Academia Sinica

Ting-Chi WangDept. of Computer Science

National Tsing Hua University

1

OutlineIntroduction

Motivation

Algorithm

Experimental results

Conclusions

Problem Formulation

2

Introduction to Layer AssignmentLayer assignment is a major step in multi-layer global routing

3

ProjectionProjection

2D Routing

2D Routing

LayerLayerAssignmentAssignment

p1

p3

p2

p1′ p2′

p3′

p1′ p2′

p3′

p1

p3

p2

ProjectionProjection

2D Routing

2D Routing

LayerLayerAssignmentAssignment

p1

p3

p2

p1′p1′ p2′p2′

p3′p3′

p1′p1′ p2′p2′

p3′p3′

p1

p3

p2

Introduction to Layer AssignmentLayer assignment determines the final routing result⎯ A bad layer assignment devastates all the previous

efforts

BadBad Layer

Layer

Assignment

Assignment

Additional wire overflowlonger wirelength

p1

p3

p2

p1′ p2′

p3′

4

Introduction to Layer AssignmentLayer assignment determines the final routing result⎯ A good layer assignment keeps all the previous efforts

GoodGood Layer

Layer

Assignment

Assignment

p3

p2

p1

No additional wire overflowMinimal wirelengthp1′ p2′

p3′

5

MotivationISPD’07 and ISPD’08 Global Routing Contest did not limit # of vias placed in a tile

Routing result without considering via capacity is not practical !

Allowablein the contest

Still allowablein the contest

6

MotivationA better layer assignment should take the via capacity into account

Better

Better LayerLayer

Assignment

Assignment

GoodGood Layer

Layer

Assignment

Assignment

Via overflow

net A

net B

7

Previous Work for Via Capacity[Hsu et al., ICCAD’08]“Multi-layer Global Routing Considering Via and Wire Capacities”⎯ Considering via capacity for each tile⎯ No detailed information of its layer assignment step

Via capacity of a tile= remaining_area / via_area= (tile_area – preoccupied_area) / via_area

Obstaclesand

Pre-routed wiresDidn’t specify

in the benchmarks8

Problem Formulation“Congestion is modeled by including capacity adjustments. In the global routing benchmarks, there may be obstacles, or pre-routed wires.” -quoted from “details of file formats” of ISPD’08 Global Routing Contest rules

routing track

routing track

routing track

tile width

pre-routedwire obstacle

tile width

tile

heig

ht capacity

TransformTransform

9

Problem FormulationVia capacity of a tile= (tile_area – preoccupied_area) / via_area= (capacity × tile_width) / via_area

routing track

routing track

routing track

tile width

pre-routedwire obstacle

tile width

tile

heig

ht capacity

TransformTransform

10

Problem FormulationGiven a 2D routing result, finds a 3D counterpart through layer assignment⎯ Minimize via overflow, and wirelength⎯ Keep the same wire overflow from 2D routing result

LayerLayerAssignmentAssignment

p3

p2

p1

No additional wire overflowMinimal via overflowMinimal wirelength

p1′ p2′

p3′

11

AlgorithmOur algorithm contains 3 steps

Single-net Layer Assignment

12

Net O

rder

Refinement

Net O

rderNet Order

Determination

Net Order DeterminationDue to the limited routing resources, a net processed earlier has larger solution space

# nets processed

Routingresources

# nets processed

Solutionspace for a net

Net order should maximize resource utilization

13

Net Order DeterminationFor each 2D net T, we use 3 parameters to determine its order - Score(T)⎯ Length(T) : # of edges in T⎯ PinNum(T) : # of pins in T⎯ Bends(T) : # of bends in T

Net Order derived from sorting Score(T) for each net T decreasingly

14

net B

net A A has 4 edges, 3 pins, and 1 bend

B has 2 edges, 2 pins, and 0 bend

net A

net B

net A

net B

net B

net A A has 4 edges, 3 pins, and 1 bend

B has 2 edges, 2 pins, and 0 bend

net A

net B

net A

net B

net A

net B

net A

net B

Net Order Determination — LengthA net with longer length will occupy more routing resources⎯ Length(T) ↑, Score(T) ↓

net A

net B

net A

net B

15

Net Order Determination — PinNumThe role of pin in global routing, just like the role of checkpoints in race⎯ PinNum(T) ↑, Score(T) ↑

net A

net B

3 pins = 3 checkpoints

2 pins = 2 checkpoints

net A

net B

16

Net Order Determination — BendsChanging routing direction needs vias, so bend is similar to pin⎯ Bends(T) ↑, Score(T) ↑

net A

net B

1 bend at least needs an via

0 bend may not need vias

net A

net B

17

Net Order DeterminationScore(T)’s relationships with Length(T), PinNum(T), and Bends(T).⎯ Length(T) ↑, Score(T) ↓⎯ PinNum(T) ↑, Score(T) ↑⎯ Bends(T) ↑, Score(T) ↑

Score(T)= (α× Bends(T) +β× PinNum(T)) / Length(T)

18

Single-net Layer Assignment[Lee et al., TCAD’08]“Congestion-Constrained Layer Assignment for Via Minimization in Global Routing”⎯ COLA finds a layer assignment result with minimum via

count for a 2D net

COLACOLA

p3

p2

p1

p2′

19

Via countp1′

p3′

Single-net Layer Assignment[Lee et al., TCAD’08]“Congestion-Constrained Layer Assignment for Via Minimization in Global Routing”⎯ COLA finds a layer assignment result with minimum via

count for a 2D netExtends from COLA, our algorithm can deal with via overflow and via count

ExtendedExtendedCOLACOLA

p3

p1

p2

20

Via count

Via overflow

p2′p1′

p3′

Single-net Layer AssignmentDP-based layer assignment method⎯ Minimize increase on via overflow, and via count

For a net, assign one edge at a time

21

2D view

3D view

a bz

Assign a

a bA

ssign b

Single-net Layer AssignmentVias are placed after edges are assigned⎯ Vias are determined by edges and pins

Since vias on different tiles are independent, the via overflow increase on each tile can be calculated independently

22

a b

I II III IV

Single-net Layer AssignmentMemorize the minimum via overflow one on each stage and propagate it to the next stage

23

a b

I II III IV

In the end, the optimal result is the one with minimum total via overflow increase

If there is a tie on via overflow increase, choose the one with minimum via count

Single-net Layer Assignment

24

Optimal result

Refinement

net A

net B

Can’t pass2D view 3D view

Refinement can improve the via overflow of the original layer assignment result⎯ Rip-up and re-layer assignment for each net

Enhance the net order

25

RefinementNet A assigned first, and net B assigned second⎯ Net A has 2 choices with the same via overflow increase

and via count

I II

26

RefinementIf net A chooses improperly, net B will generate via overflow inevitably⎯ It is impossible for net A to know how to choose before net

B is assigned

Via overflow

27

Net BNet B’’ss LayerLayerAssignmentAssignment

RefinementWith refinement, the via overflow will be improved by the re-layer assignment of net A⎯ The re-layer assignment will not generate worse result

than pervious

Via overflow No via overflow

28

Net ANet A’’s s rere--layerlayerAssignmentAssignment

Experiment Flow

29

2D routing results

COLA

3D routing results

Compression

Ours

Layer Assignment3D results

Experimental Results without RefinementWithout refinement, our algorithm induced 23~35%via overflow with 1~3% WL increase compared with COLA [1]

30

[1] Lee et al., TCAD’08, “Congestion-Constrained Layer Assignment for Via Minimization in Global Routing”

Experimental Results with RefinementWith refinement, our algorithm induced 5~15% via overflow with 4~6% WL increase compared with COLA [1]

31

[1] Lee et al., TCAD’08, “Congestion-Constrained Layer Assignment for Via Minimization in Global Routing”

ConclusionsDevelop a layer assignment algorithm considering via overflow and via countFuture work: a more effective net order and layer assignment method

32

Q & A

Thank You!and

33

top related