Steiner Routing ECE6133 Physical Design Automation of VLSI Systems - - PowerPoint PPT Presentation

steiner routing
SMART_READER_LITE
LIVE PREVIEW

Steiner Routing ECE6133 Physical Design Automation of VLSI Systems - - PowerPoint PPT Presentation

Steiner Routing ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu Lim School of Electrical and Computer Engineering Georgia Institute of Technology ARM A53 Placement 1/11 TSMC 28nm BEOL Spec 2/11 Width Pitch R C Dir.


slide-1
SLIDE 1

Steiner Routing

ECE6133 Physical Design Automation of VLSI Systems

  • Prof. Sung Kyu Lim

School of Electrical and Computer Engineering Georgia Institute of Technology

slide-2
SLIDE 2

1/11

ARM A53 Placement

slide-3
SLIDE 3

2/11

TSMC 28nm BEOL Spec

Width (um) Pitch (um) Dir. M1 0.05 0.135 V M2 0.05 0.100 H M3 0.05 0.100 V M4 0.05 0.100 H M5 0.05 0.100 V M6 0.05 0.100 H R (ohm/um) C (fF/um) M1 7.24 0.172 M2 9.05 0.175 M3 9.06 0.181 M4 9.05 0.177 M5 9.06 0.180 M6 9.05 0.177

slide-4
SLIDE 4

3/11

Full-Chip Routing

M1 M2 M3

slide-5
SLIDE 5

4/11

Full-Chip Routing

M4 M5 M6

slide-6
SLIDE 6

5/11

M1 Layer (Mostly Intra-Cell Routing)

yellow: signal

slide-7
SLIDE 7

6/11

M2 Layer

yellow: signal magenta: clock, red: power/ground

slide-8
SLIDE 8

7/11

M3 Layer

yellow: signal magenta: clock

slide-9
SLIDE 9

8/11

M4

yellow: signal magenta: clock

slide-10
SLIDE 10

9/11

M5

yellow: signal magenta: clock, red: power/ground

slide-11
SLIDE 11

10/11

M6

yellow: signal cyan: power/ground

slide-12
SLIDE 12

11/11

M7 and M8

magenta: power/ground

slide-13
SLIDE 13

Routing

placement Generates a "loose" route for each net. Assigns a list of routing regions to each net without specifying the actual layout of wires. global routing compaction Finds the actual geometric layout of each net within the assigned routing regions. detailed routing

Global routing Detailed routing

slide-14
SLIDE 14

Routing Constraints

  • 100% routing completion + area minimization, under a set of constraints:

– Placement constraint: usually based on fixed placement – Number of routing layers – Geometrical constraints: must satisfy design rules – Timing constraints (performance-driven routing): must satisfy delay constraints – Crosstalk? – Process variations?

Two−layer routing

w s

Geometrical constraint

slide-15
SLIDE 15

Graph Models for Global Routing: Grid Graph

  • Each cell is represented by a vertex.
  • Two vertices are joined by an edge if the corresponding cells are adjacent

to each other.

  • The occupied cells are represented as filled circles, whereas the others

are as clear circles.

a b c d a b c d

slide-16
SLIDE 16

Graph Model: Channel Intersection Graph

  • Channels are represented as edges.
  • Channel intersections are represented as vertices.
  • Edge weight represents channel capacity.
  • Extended channel intersection graph: terminals are also represented as

vertices.

channel intersection graph extended channel intersection graph

slide-17
SLIDE 17

Global-Routing Problem

  • Given a netlist N={N1, N2, . . . , Nn}, a routing graph G = (V, E), find a

Steiner tree Ti for each net Ni, 1 ≤ i ≤ n, such that U(ej) ≤ c(ej), ∀ej ∈ E and n

i=1 L(Ti) is minimized,

where – c(ej): capacity of edge ej; – xij = 1 if ej is in Ti; xij = 0 otherwise; – U(ej) = n

i=1 xij: # of wires that pass through the channel corre-

sponding to edge ej; – L(Ti): total wirelength of Steiner tree Ti.

  • For high-performance, the maximum wirelength (maxn

i=1 L(Ti)) is mini-

mized (or the longest path between two points in Ti is minimized).

slide-18
SLIDE 18

Classification of Global-Routing Algorithm

  • Sequential approach: Assigns priority to nets; routes one net at a time

based on its priority (net ordering?).

  • Concurrent approach: All nets are considered at the same time (com-

plexity?)

global−routing algorithm sequential approach two−terminal multi−terminal line−search maze Steiner−tree based Lee Hadlock Soukup concurrent approach hierarchical integer programming

slide-19
SLIDE 19 j A lgorithms for VLSI Physic al Design A utomation c Sherw ani
  • Data
Structur es and Basic A lgorithms Spanning T ree
  • Problem
F
  • rm
ulation Giv en a graph G
  • V
  • E
  • select
a subset V
  • V
  • suc
h that V
  • has
prop ert y P
  • Minim
um Spanning T ree
  • Problem
F
  • rm
ulation Giv en an edgew eigh ted graph G
  • V
  • E
  • select
a subset
  • f
edges E
  • E
suc h that E
  • induces
a tree and the total cost
  • f
edges P e i E
  • w
te i
  • is
minim um
  • v
er all suc h trees where w te i
  • is
the cost
  • r
w eigh t
  • f
the edge e i
  • Used
in routing applications
slide-20
SLIDE 20 j A lgorithms for VLSI Physic al Design A utomation c Sherw ani
  • Data
Structur es and Basic A lgorithms Steiner T rees
  • Problem
form ulation Giv en an edge w eigh ted graph G
  • V
  • E
  • and
a subset D
  • V
  • select
a subset V
  • V
  • suc
h that D
  • V
  • and
V
  • induces
a tree
  • f
minim um cost
  • v
er all suc h trees The set D is referred to as the set
  • f
demand p
  • ints
and the set V
  • D
is referred to as Steiner p
  • ints
  • Used
in the global routing
  • f
m ultiterminal nets

Demand Point B C D F J H

7 7 5 4 9 5 6 12 8 6 5 5 2 3 5 6 6 6

A I E G

(a) (b)

slide-21
SLIDE 21 j A lgorithms for VLSI Physic al Design A utomation c Sherw ani
  • Data
Structur es and Basic A lgorithms Underlying Grid Graph
  • The
underlying grid graph is dened b y the in tersections
  • f
the horizon tal and v ertical lines dra wn through the demand p
  • in
ts

Hanan's Thm (69'): There exists an optimal RST with all Steiner points (set S) chosen from the intersection points of horizontal and vertical lines drawn from points of D.

slide-22
SLIDE 22 j A lgorithms for VLSI Physic al Design A utomation c Sherw ani
  • Data
Structur es and Basic A lgorithms Dieren t Steiner trees constructed from a MST

(a) (b) (c) (d) (e)

Hwang's Thm (76'): The ratio of the cost of a rectilinear MST to that of an optimal RST is no greater than 3/2.

slide-23
SLIDE 23

Routing Practical Problems in VLSI Physical CAD 1-Steiner Algorithms

The 1-Steiner Problem

Definition

slide-24
SLIDE 24

Routing Practical Problems in VLSI Physical CAD 1-Steiner Algorithms

Why 1-Steiner Insertion?

Can Reduce Wirelength

slide-25
SLIDE 25

Routing Practical Problems in VLSI Physical CAD 1-Steiner Algorithms

1-Steiner by Kahng/Robins

Iterative 1-Steiner Insertion Algorithm

Keep adding 1-Steiner point one-by-one until no more gain

Naïve implementation: O(n2 × n log n × n) Sophisticated implementation: O(n3)

slide-26
SLIDE 26

Practical Problems in VLSI Physical Design 1-Steiner Algorithm (1/17)

1-Steiner Routing by Kahng/Robins

Perform 1-Steiner Routing by Kahng/Robins

Need an initial MST: wirelength is 20 16 locations for Steiner points

slide-27
SLIDE 27

Practical Problems in VLSI Physical Design 1-Steiner Algorithm (2/17)

First 1-Steiner Point Insertion

There are six 1-Steiner points

Two best solutions: we choose (c) randomly

before insertion

slide-28
SLIDE 28

Practical Problems in VLSI Physical Design 1-Steiner Algorithm (3/17)

First 1-Steiner Point Insertion (cont)

before insertion

slide-29
SLIDE 29

Practical Problems in VLSI Physical Design 1-Steiner Algorithm (4/17)

Second 1-Steiner Point Insertion

Need to break tie again

Note that (a) and (b) do not contain any more 1-Steiner point: so

we choose (c)

before insertion

slide-30
SLIDE 30

Practical Problems in VLSI Physical Design 1-Steiner Algorithm (5/17)

Third 1-Steiner Point Insertion

Tree completed: all edges are rectilinearized

Overall wirelength reduction = 20 − 16 = 4

before insertion

slide-31
SLIDE 31

Routing Practical Problems in VLSI Physical CAD 1-Steiner Algorithms

1-Steiner by Borah/Owens/Irwin

Interesting Observation

slide-32
SLIDE 32

Routing Practical Problems in VLSI Physical CAD 1-Steiner Algorithms

Gain Computation

Things to do Thus, the gain is

slide-33
SLIDE 33

Routing Practical Problems in VLSI Physical CAD 1-Steiner Algorithms

Overall Algorithm

Multi-pass Heuristic

Entire algorithm can be repeated

slide-34
SLIDE 34

Practical Problems in VLSI Physical Design 1-Steiner Algorithm (6/17)

1-Steiner Routing by Borah/Owens/Irwin

Perform a single pass of Borah/Owens/Irwin

Initial MST has 5 edges with wirelength of 20 Need to compute the max-gain (node, edge) pair for each edge in

this MST

slide-35
SLIDE 35

Practical Problems in VLSI Physical Design 1-Steiner Algorithm (7/17)

Best Pair for (a,c)

slide-36
SLIDE 36

Practical Problems in VLSI Physical Design 1-Steiner Algorithm (8/17)

Best Pair for (b,c)

Three nodes can pair up with (b,c)

l(a,c) − l(p,a) = 4 − 2

slide-37
SLIDE 37

Practical Problems in VLSI Physical Design 1-Steiner Algorithm (9/17)

Best Pair for (b,c) (cont)

All three pairs have the same gain

Break ties randomly

l(b,d) − l(p,d) = 5 − 4 l(c,e) − l(p,e) = 4 − 3

slide-38
SLIDE 38

Practical Problems in VLSI Physical Design 1-Steiner Algorithm (10/17)

Best Pair for (b,d)

Two nodes can pair up with (b,d)

both pairs have the same gain

l(b,c) − l(p,c) = 4 − 3 l(b,c) − l(p,e) = 4 − 3

slide-39
SLIDE 39

Practical Problems in VLSI Physical Design 1-Steiner Algorithm (11/17)

Best Pair for (c,e)

Three nodes can pair up with (c,e)

l(b,c) − l(p,b) = 4 − 3 l(b,d) − l(p,d) = 5 − 4

slide-40
SLIDE 40

Practical Problems in VLSI Physical Design 1-Steiner Algorithm (12/17)

Best Pair for (c,e) (cont)

l(e,f) − l(p,f) = 3 − 2

slide-41
SLIDE 41

Practical Problems in VLSI Physical Design 1-Steiner Algorithm (13/17)

Best Pair for (e,f)

Can merge with c only

l(c,e) − l(p,c) = 4 − 3

slide-42
SLIDE 42

Practical Problems in VLSI Physical Design 1-Steiner Algorithm (14/17)

Summary

Max-gain pair table

Sort based on gain value

slide-43
SLIDE 43

Practical Problems in VLSI Physical Design 1-Steiner Algorithm (15/17)

First 1-Steiner Point Insertion

Choose {b, (a,c)} (max-gain pair)

Mark e1 = (a,c), e2 = (b,c) Skip {a, (b,c)}, {c, (b,d)}, {b, (c,e)} since their e1/e2 are already

marked

Wirelength reduces from 20 to 18

slide-44
SLIDE 44

Practical Problems in VLSI Physical Design 1-Steiner Algorithm (16/17)

Second 1-Steiner Point Insertion

Choose {c, (e,f)} (last one remaining)

Wirelength reduces from 18 to 17

slide-45
SLIDE 45

Routing Practical Problems in VLSI Physical CAD 1-Steiner Algorithms

Comparison

Kahng/Robins vs Borah/Owens/Irwin

Kahng/Robins tends to give better results Borah/Owens/Irwin runs much faster: O(n4 log n) vs O(n2)

slide-46
SLIDE 46

Routing Practical Problems in VLSI Physical CAD BRBC Algorithm

Bounded Radius Routing

Why Radius?

Longest source-sink path length among all sinks Smaller path resistance: better performance

Both Radius and Cost?

Cost = wirelength Radius (= R) and wirelength (= C) are both important for RC-

delay reduction

Bounded PRIM vs Bounded Radius/Cost

  • J. Cong, A. B. Kahng, G. Robins, M. Sarrafzadeh, and C. K.

Wong, "Provably good performance-driven global routing", TCAD, 1992.

slide-47
SLIDE 47

Routing Practical Problems in VLSI Physical CAD BRBC Algorithm

Radius vs Wirelength

slide-48
SLIDE 48

Practical Problems in VLSI Physical Design Bounded Radius Routing (9/16)

BPRIM Under ε = ∞

Radius bound = ∞ = regular PRIM

slide-49
SLIDE 49

Practical Problems in VLSI Physical Design Bounded Radius Routing (10/16)

BPRIM Under ε = ∞ (cont)

slide-50
SLIDE 50

Routing Practical Problems in VLSI Physical CAD BRBC Algorithm

Bounded PRIM Algorithm

Variation of PRIM’s MST algorithm

slide-51
SLIDE 51

Routing Practical Problems in VLSI Physical CAD BRBC Algorithm

Bounded PRIM Algorithm

Comparison (e = 0, 0.5, infinity)

Radius bound/value increase Wirelength decreases

slide-52
SLIDE 52

Practical Problems in VLSI Physical Design Bounded Radius Routing (1/16)

Bounded Radius Routing

Perform bounded PRIM algorithm

Under ε = 0, ε = 0.5, and ε = ∞ Compare radius and wirelength Radius = 12 for this net

slide-53
SLIDE 53

Practical Problems in VLSI Physical Design Bounded Radius Routing (2/16)

BPRIM Under ε = 0

Example

Edges connecting to nearest neighbors = (c,d) and (c,e)

  • We choose (c,d) based on lexicographical order

s-to-d path length along T = 12+5 > 12 (= radius bound) First appropriate edge found = (s,d)

slide-54
SLIDE 54

Practical Problems in VLSI Physical Design Bounded Radius Routing (3/16)

BPRIM Under ε = 0 (cont)

Radius bound = 12

edges connecting to nearest neighbors s-to-y path length along T ties broken lexicographically should be ≤ 12;

  • therwise

appropriate used first feasible appr-edge

slide-55
SLIDE 55

Practical Problems in VLSI Physical Design Bounded Radius Routing (4/16)

BPRIM Under ε = 0 (cont)

slide-56
SLIDE 56

Practical Problems in VLSI Physical Design Bounded Radius Routing (5/16)

BPRIM Under ε = 0 (cont)

slide-57
SLIDE 57

Practical Problems in VLSI Physical Design Bounded Radius Routing (6/16)

BPRIM Under ε = 0.5

Radius bound = 18

edges connecting to nearest neighbors s-to-y path length along T ties broken lexicographically should be ≤ 18;

  • therwise

appropriate used first feasible appr-edge should be ≤ 12

slide-58
SLIDE 58

Practical Problems in VLSI Physical Design Bounded Radius Routing (7/16)

BPRIM Under ε = 0.5 (cont)

slide-59
SLIDE 59

Practical Problems in VLSI Physical Design Bounded Radius Routing (8/16)

BPRIM Under ε = 0.5 (cont)

slide-60
SLIDE 60

Practical Problems in VLSI Physical Design Bounded Radius Routing (11/16)

Comparison

As the bound increases (12 → 18 → ∞)

Radius value increases (12 →17 → 22) Wirelength decreases (56 → 49 → 36)

slide-61
SLIDE 61

Routing Practical Problems in VLSI Physical CAD BRBC Algorithm

Bounded Radius Spanning Tree

“Shallow Light” Algorithm

slide-62
SLIDE 62

Routing Practical Problems in VLSI Physical CAD BRBC Algorithm

Bounded Radius Spanning Tree

Bounded-radius Spanning Tree Construction

Augmentation of Q: added edges shown in dotted lines Final BR-MST is SPT on Q

slide-63
SLIDE 63

Routing Practical Problems in VLSI Physical CAD BRBC Algorithm

Why BRBC Works?

slide-64
SLIDE 64

Routing Practical Problems in VLSI Physical CAD BRBC Algorithm

Why BRBC Works?

slide-65
SLIDE 65

Practical Problems in VLSI Physical Design Bounded Radius Routing (12/16)

Bounded Radius Bounded Cost

Perform BRBC under ε = 0.5

ε defines both radius and wirelength bound Perform DFS on rooted-MST Node ordering L = {s, a, b, c, e, f, e, g, e, c, d, h, d, c, b, a, s} We start with Q = MST

slide-66
SLIDE 66

Practical Problems in VLSI Physical Design Bounded Radius Routing (13/16)

MST Augmentation

Example: visit a via (s,a)

Running total of the length of visited edges, S = 5 Rectilinear distance between source and a, dist(s,a) = 5 We see that ε · dist(s,a) = 0.5 · 5 < S Thus, we reset S and add (s,a) to Q (note (s,a) is already in Q)

slide-67
SLIDE 67

Practical Problems in VLSI Physical Design Bounded Radius Routing (14/16)

MST Augmentation (cont)

dotted edges are added visit nodes based on L

slide-68
SLIDE 68

Practical Problems in VLSI Physical Design Bounded Radius Routing (15/16)

Last Step: SPT Computation

Compute rooted shortest path tree on augmented Q

slide-69
SLIDE 69

Practical Problems in VLSI Physical Design Bounded Radius Routing (16/16)

BPRIM vs BRBC

Under the same ε = 0.5

BPRIM: radius = 18, wirelength = 49 BRBC: radius = 12, wirelength = 52 BRBC: significantly shorter radius at slight wirelength increase