Robust Layer Assignment for Via Optimization in Multi-layer Global - - PowerPoint PPT Presentation

robust layer assignment for via optimization in multi
SMART_READER_LITE
LIVE PREVIEW

Robust Layer Assignment for Via Optimization in Multi-layer Global - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

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

slide-2
SLIDE 2

Outline

Introduction Motivation Algorithm Experimental results Conclusions Problem Formulation

2

slide-3
SLIDE 3

Introduction to Layer Assignment

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

3

Projection Projection 2D Routing 2D Routing Layer Layer Assignment Assignment

p1 p3 p2 p1 ′ p2 ′ p3 ′ p1 ′ p2 ′ p3 ′ p1 p3 p2

Projection Projection 2D Routing 2D Routing Layer Layer Assignment Assignment

p1 p3 p2 p1 ′ p1 ′ p2 ′ p2 ′ p3 ′ p3 ′ p1 ′ p1 ′ p2 ′ p2 ′ p3 ′ p3 ′ p1 p3 p2

slide-4
SLIDE 4

Introduction to Layer Assignment

Layer assignment determines the final routing result

⎯ A bad layer assignment devastates all the previous

efforts

B a d B a d L a y e r L a y e r A s s i g n m e n t A s s i g n m e n t Additional wire overflow longer wirelength

p1 p3 p2 p1 ′ p2 ′ p3 ′

4

slide-5
SLIDE 5

Introduction to Layer Assignment

Layer assignment determines the final routing result

⎯ A good layer assignment keeps all the previous efforts

G

  • d

G

  • d

L a y e r L a y e r A s s i g n m e n t A s s i g n m e n t p3 p2 p1 No additional wire overflow Minimal wirelength

p1 ′ p2 ′ p3 ′

5

slide-6
SLIDE 6

Motivation

ISPD’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 !

Allowable in the contest Still allowable in the contest

6

slide-7
SLIDE 7

Motivation

A better layer assignment should take the via capacity into account

B e t t e r B e t t e r L a y e r L a y e r A s s i g n m e n t A s s i g n m e n t G

  • d

G

  • d

L a y e r L a y e r A s s i g n m e n t A s s i g n m e n t

Via overflow

net A net B

7

slide-8
SLIDE 8

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

Obstacles and Pre-routed wires

Didn’t specify in the benchmarks

8

slide-9
SLIDE 9

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-routed wire

  • bstacle

tile width tile height capacity Transform Transform

9

slide-10
SLIDE 10

Problem Formulation

Via capacity of a tile

= (tile_area – preoccupied_area) / via_area = (capacity × tile_width) / via_area

routing track routing track routing track tile width

pre-routed wire

  • bstacle

tile width tile height capacity Transform Transform

10

slide-11
SLIDE 11

Problem Formulation

Given 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

Layer Layer Assignment Assignment p3 p2 p1 No additional wire overflow Minimal via overflow Minimal wirelength

p1 ′ p2 ′ p3 ′

11

slide-12
SLIDE 12

Algorithm

Our algorithm contains 3 steps Single-net Layer Assignment

12

Net Order

Refinement

Net Order

Net Order Determination

slide-13
SLIDE 13

Net Order Determination

Due to the limited routing resources, a net processed earlier has larger solution space

# nets processed Routing resources # nets processed Solution space for a net

Net order should maximize resource utilization

13

slide-14
SLIDE 14

Net Order Determination

For 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

slide-15
SLIDE 15

Net Order Determination — Length

A net with longer length will occupy more routing resources

⎯ Length(T) ↑, Score(T) ↓

net A net B

net A net B

15

slide-16
SLIDE 16

Net Order Determination — PinNum

The 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

slide-17
SLIDE 17

Net Order Determination — Bends

Changing 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

slide-18
SLIDE 18

Net Order Determination

Score(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

slide-19
SLIDE 19

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 COLA COLA

p3 p2 p1

p2 ′

19

Via count

p1 ′ p3 ′

slide-20
SLIDE 20

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

Extends from COLA, our algorithm can deal with via

  • verflow and via count

Extended Extended COLA COLA

p3 p1 p2

20

Via count Via overflow

p2 ′ p1 ′ p3 ′

slide-21
SLIDE 21

Single-net Layer Assignment

DP-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 b z

Assign a

a b

Assign b

slide-22
SLIDE 22

Single-net Layer Assignment

Vias are placed after edges are assigned

⎯ Vias are determined by edges and pins

Since vias on different tiles are independent, the via

  • verflow increase on each tile can be calculated

independently

22

a b

I II III IV

slide-23
SLIDE 23

Single-net Layer Assignment

Memorize the minimum via overflow one on each stage and propagate it to the next stage

23

a b

I II III IV

slide-24
SLIDE 24

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

  • ne with minimum via count

Single-net Layer Assignment

24

Optimal result

slide-25
SLIDE 25

Refinement

net A net B

Can’t pass

2D view 3D view

Refinement can improve the via overflow of the

  • riginal layer assignment result

⎯ Rip-up and re-layer assignment for each net

Enhance the net order

25

slide-26
SLIDE 26

Refinement

Net 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

slide-27
SLIDE 27

Refinement

If net A chooses improperly, net B will generate via

  • verflow inevitably

⎯ It is impossible for net A to know how to choose before net

B is assigned

Via overflow

27

Net B Net B’ ’s s Layer Layer Assignment Assignment

slide-28
SLIDE 28

Refinement

With 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 A Net A’ ’s s re re-

  • layer

layer Assignment Assignment

slide-29
SLIDE 29

Experiment Flow

29

2D routing results

COLA

3D routing results

Compression

Ours

Layer Assignment 3D results

slide-30
SLIDE 30

Experimental Results without Refinement

Without 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”

slide-31
SLIDE 31

Experimental Results with Refinement

With refinement, our algorithm induced 5~15% via

  • verflow 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”

slide-32
SLIDE 32

Conclusions

Develop a layer assignment algorithm considering via overflow and via count Future work: a more effective net order and layer assignment method

32

slide-33
SLIDE 33

Q & A

Thank You!

and

33