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

33
Robust Layer Assignment for Via Optimization in Multi-layer Global Routing Tsung-Hsien Lee Inst. of Information Science Academia Sinica Ting-Chi Wang Dept. of Computer Science National Tsing Hua University 1

Upload: others

Post on 11-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

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

Page 2: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

OutlineIntroduction

Motivation

Algorithm

Experimental results

Conclusions

Problem Formulation

2

Page 3: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

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

Page 4: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

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

Page 5: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

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

Page 6: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

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

Page 7: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

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

Page 8: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

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

Page 9: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

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

Page 10: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

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

Page 11: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

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

Page 12: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

AlgorithmOur algorithm contains 3 steps

Single-net Layer Assignment

12

Net O

rder

Refinement

Net O

rderNet Order

Determination

Page 13: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

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

Page 14: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

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

Page 15: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

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

Page 16: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

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

Page 17: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

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

Page 18: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

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

Page 19: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

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′

Page 20: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

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′

Page 21: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

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

Page 22: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

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

Page 23: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

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

Page 24: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

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

Page 25: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

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

Page 26: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

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

Page 27: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

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

Page 28: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

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

Page 29: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

Experiment Flow

29

2D routing results

COLA

3D routing results

Compression

Ours

Layer Assignment3D results

Page 30: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

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”

Page 31: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

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”

Page 32: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

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

32

Page 33: p2-ISPD2009 Robust Layer Assignment for Via Optimization ... · # nets processed Routing ... ⎯COLA finds a layer assignment result with minimum via count for a 2D net Extends from

Q & A

Thank You!and

33