21
1 ER Group @ UCLA ISPD: Sonoma County, CA, April, 2001 An Exact Algorithm for An Exact Algorithm for Coupling-Free Routing Coupling-Free Routing Ryan Kastner, Elaheh Bozorgzadeh,Majid Sarrafzadeh {kastner,elib,majid}@cs.ucla.edu Embedded and Reconfigurable Systems Embedded and Reconfigurable Systems Group Group Computer Science Department Computer Science Department UCLA UCLA Los Angeles, CA 90095 Los Angeles, CA 90095

1 ER Group @ UCLA ISPD: Sonoma County, CA, April, 2001 An Exact Algorithm for Coupling-Free Routing Ryan Kastner, Elaheh Bozorgzadeh,Majid Sarrafzadeh

Embed Size (px)

Citation preview

Page 1: 1 ER Group @ UCLA ISPD: Sonoma County, CA, April, 2001 An Exact Algorithm for Coupling-Free Routing Ryan Kastner, Elaheh Bozorgzadeh,Majid Sarrafzadeh

1

ER Group @ UCLA

ISPD: Sonoma County, CA, April, 2001

An Exact Algorithm for An Exact Algorithm for Coupling-Free RoutingCoupling-Free RoutingAn Exact Algorithm for An Exact Algorithm for Coupling-Free RoutingCoupling-Free Routing

Ryan Kastner, Elaheh Bozorgzadeh,Majid Sarrafzadeh

{kastner,elib,majid}@cs.ucla.edu

Ryan Kastner, Elaheh Bozorgzadeh,Majid Sarrafzadeh

{kastner,elib,majid}@cs.ucla.edu

Embedded and Reconfigurable Systems GroupEmbedded and Reconfigurable Systems Group

Computer Science DepartmentComputer Science Department

UCLAUCLA

Los Angeles, CA 90095Los Angeles, CA 90095

Embedded and Reconfigurable Systems GroupEmbedded and Reconfigurable Systems Group

Computer Science DepartmentComputer Science Department

UCLAUCLA

Los Angeles, CA 90095Los Angeles, CA 90095

Page 2: 1 ER Group @ UCLA ISPD: Sonoma County, CA, April, 2001 An Exact Algorithm for Coupling-Free Routing Ryan Kastner, Elaheh Bozorgzadeh,Majid Sarrafzadeh

2

ER Group @ UCLA

ISPD: Sonoma County, CA, April, 2001

OutlineOutlineOutlineOutline

Basic definitions Coupling-Free Routing Coupling-Free Routing Decision Problem (CFRDP) Implication graph Maximum Coupling-Free Layout (MAX-CFL) Conclusion

Basic definitions Coupling-Free Routing Coupling-Free Routing Decision Problem (CFRDP) Implication graph Maximum Coupling-Free Layout (MAX-CFL) Conclusion

Page 3: 1 ER Group @ UCLA ISPD: Sonoma County, CA, April, 2001 An Exact Algorithm for Coupling-Free Routing Ryan Kastner, Elaheh Bozorgzadeh,Majid Sarrafzadeh

3

ER Group @ UCLA

ISPD: Sonoma County, CA, April, 2001

CouplingCouplingCouplingCoupling

Definition - capacitance between adjacent wires Deep submicron trends:

Interconnect has more dominant role Scale wire height at slow rate compared to width

Definition - capacitance between adjacent wires Deep submicron trends:

Interconnect has more dominant role Scale wire height at slow rate compared to width

smaller device sizes

Coupling can account for up to 70% of interconnect capacitance even in .25 micron designs

Coupling can account for up to 70% of interconnect capacitance even in .25 micron designs

Page 4: 1 ER Group @ UCLA ISPD: Sonoma County, CA, April, 2001 An Exact Algorithm for Coupling-Free Routing Ryan Kastner, Elaheh Bozorgzadeh,Majid Sarrafzadeh

4

ER Group @ UCLA

ISPD: Sonoma County, CA, April, 2001

Simplify definition of couplingSimplify definition of couplingSimplify definition of couplingSimplify definition of coupling

Pair-wise boolean relationship between any 2 nets Easy to generalize to non-boolean, makes algorithm

more complex

Pair-wise boolean relationship between any 2 nets Easy to generalize to non-boolean, makes algorithm

more complex

distance < ddistance < d

length > llength > l

Two wires couple if Two wires couple if

distance < d and length > ldistance < d and length > l

Two wires couple if Two wires couple if

distance < d and length > ldistance < d and length > l

ij

jiij

ijijc

d

wwd

lf(i,j)C

21

1

Two wires couple if Two wires couple if

CCcc(i,j) > threshold(i,j) > threshold

Two wires couple if Two wires couple if

CCcc(i,j) > threshold(i,j) > threshold

Page 5: 1 ER Group @ UCLA ISPD: Sonoma County, CA, April, 2001 An Exact Algorithm for Coupling-Free Routing Ryan Kastner, Elaheh Bozorgzadeh,Majid Sarrafzadeh

5

ER Group @ UCLA

ISPD: Sonoma County, CA, April, 2001

Coupling-Free Routing (CFR)Coupling-Free Routing (CFR)Coupling-Free Routing (CFR)Coupling-Free Routing (CFR)

Given a set of nets S={Ni={(x1i,y1i),(x2i,y2i)} | 1 i n} S is coupling-free if there is a single bend layout for

every net such that no two routes couple

Given a set of nets S={Ni={(x1i,y1i),(x2i,y2i)} | 1 i n} S is coupling-free if there is a single bend layout for

every net such that no two routes couple

Coupled layoutCoupled layout Coupling-free layoutCoupling-free layout

Page 6: 1 ER Group @ UCLA ISPD: Sonoma County, CA, April, 2001 An Exact Algorithm for Coupling-Free Routing Ryan Kastner, Elaheh Bozorgzadeh,Majid Sarrafzadeh

6

ER Group @ UCLA

ISPD: Sonoma County, CA, April, 2001

Benefits of CFRBenefits of CFRBenefits of CFRBenefits of CFR Smaller interconnect delay

One bend routing insures minimum wirelength Only one via Coupling between nets minimized

Aids in wire planning Speeds up routing process See “Predictable Routing”, ICCAD’00

Smaller interconnect delay One bend routing insures minimum wirelength Only one via Coupling between nets minimized

Aids in wire planning Speeds up routing process See “Predictable Routing”, ICCAD’00

Maze Route remaining netsMaze Route remaining nets

CFR critical netsCFR critical nets

Detailed/Single Layer routingDetailed/Single Layer routingDetailed/Single Layer routingDetailed/Single Layer routing

Page 7: 1 ER Group @ UCLA ISPD: Sonoma County, CA, April, 2001 An Exact Algorithm for Coupling-Free Routing Ryan Kastner, Elaheh Bozorgzadeh,Majid Sarrafzadeh

7

ER Group @ UCLA

ISPD: Sonoma County, CA, April, 2001

CFR in Global RoutingCFR in Global RoutingCFR in Global RoutingCFR in Global Routing

Coupling at global routing is hard to determine Routes are not exact, makes it difficult to know adjacency

relations of nets Detailed router will often make local changes

Global routing allows global changes, it is very hard to make global changes at the detailed stage

Coupling-avoidance in congested areas very important

A coupling-free global layout will produce a coupling-free detailed layout

Coupling at global routing is hard to determine Routes are not exact, makes it difficult to know adjacency

relations of nets Detailed router will often make local changes

Global routing allows global changes, it is very hard to make global changes at the detailed stage

Coupling-avoidance in congested areas very important

A coupling-free global layout will produce a coupling-free detailed layout

Page 8: 1 ER Group @ UCLA ISPD: Sonoma County, CA, April, 2001 An Exact Algorithm for Coupling-Free Routing Ryan Kastner, Elaheh Bozorgzadeh,Majid Sarrafzadeh

8

ER Group @ UCLA

ISPD: Sonoma County, CA, April, 2001

CFRDP definitionCFRDP definitionCFRDP definitionCFRDP definition

Given a set of two-terminal nets. Is there a single bend routing for every net such that no two routings couple?

We solve via a transformation to the 2-satisfiability problem (2SAT)

Given a set of two-terminal nets. Is there a single bend routing for every net such that no two routings couple?

We solve via a transformation to the 2-satisfiability problem (2SAT)

CFRDP

CFRDP algorithm overviewCFRDP algorithm overviewCFRDP algorithm overviewCFRDP algorithm overview

transform totransform to 2SAT

Solved in time O(n)Solved in time O(n)

Solving CFRDP takes time O(n2)Solving CFRDP takes time O(n2)

O(n2)O(n2)

Page 9: 1 ER Group @ UCLA ISPD: Sonoma County, CA, April, 2001 An Exact Algorithm for Coupling-Free Routing Ryan Kastner, Elaheh Bozorgzadeh,Majid Sarrafzadeh

9

ER Group @ UCLA

ISPD: Sonoma County, CA, April, 2001

CFRDP to 2SATCFRDP to 2SATCFRDP to 2SATCFRDP to 2SAT

Assign a boolean variable to every net A variable is true (false) if it is routed in upper-L (lower-

L) The clauses are formed based on forcing interactions

between the nets

Assign a boolean variable to every net A variable is true (false) if it is routed in upper-L (lower-

L) The clauses are formed based on forcing interactions

between the nets

Net ANet A

Net BNet B Net CNet C

Net A = uANet A = uA

Net B = uBNet B = uB

Net C = uCNet C = uC

Page 10: 1 ER Group @ UCLA ISPD: Sonoma County, CA, April, 2001 An Exact Algorithm for Coupling-Free Routing Ryan Kastner, Elaheh Bozorgzadeh,Majid Sarrafzadeh

10

ER Group @ UCLA

ISPD: Sonoma County, CA, April, 2001

Forcing interactionsForcing interactionsForcing interactionsForcing interactions

In order to avoid coupling, a routing of a net forces another net into a particular route

In order to avoid coupling, a routing of a net forces another net into a particular route

Net 1Net 1

Net 2Net 2 To avoid coupling

Net 2 must be lower-L

To avoid coupling

Net 2 must be lower-L

Net 1Net 1

Net 2Net 2

An lower-L routing of Net 1 forces a lower-L routing of Net 2ûA ûB

An lower-L routing of Net 1 forces a lower-L routing of Net 2ûA ûB

Page 11: 1 ER Group @ UCLA ISPD: Sonoma County, CA, April, 2001 An Exact Algorithm for Coupling-Free Routing Ryan Kastner, Elaheh Bozorgzadeh,Majid Sarrafzadeh

11

ER Group @ UCLA

ISPD: Sonoma County, CA, April, 2001

Forcing interactionsForcing interactionsForcing interactionsForcing interactions There are 10 possible forcing interactions between Net A (solid -

uA) and Net B (dotted - uB) Each interaction can be encoded into clauses in 2SAT

There are 10 possible forcing interactions between Net A (solid - uA) and Net B (dotted - uB)

Each interaction can be encoded into clauses in 2SAT

1) No interaction, no clauses

2) Unroutable, return FALSE

3) (uA,,uB)

4) (uA,,ûB)

5) (ûA,,uB)

6) (ûA,,ûB)

7) (uA,,ûB), (ûA,,uB)

8) (uA,,ûB), (ûA,,ûB)

9) (uA,,uB), (ûA,,uB)

10) (uA,,uB), (ûA,,ûB)

1) No interaction, no clauses

2) Unroutable, return FALSE

3) (uA,,uB)

4) (uA,,ûB)

5) (ûA,,uB)

6) (ûA,,ûB)

7) (uA,,ûB), (ûA,,uB)

8) (uA,,ûB), (ûA,,ûB)

9) (uA,,uB), (ûA,,uB)

10) (uA,,uB), (ûA,,ûB)

Page 12: 1 ER Group @ UCLA ISPD: Sonoma County, CA, April, 2001 An Exact Algorithm for Coupling-Free Routing Ryan Kastner, Elaheh Bozorgzadeh,Majid Sarrafzadeh

12

ER Group @ UCLA

ISPD: Sonoma County, CA, April, 2001

Implication GraphImplication GraphImplication GraphImplication Graph Given a set of nets N Implication graph is a directed graph G(V,E) The vertices are the routes of the nets The edges are defined by the forcing

If Route A forces Route B, then there is an edge from Vertex A to Vertex B

Implication graph is constructed in time O(|N|2)

Given a set of nets N Implication graph is a directed graph G(V,E) The vertices are the routes of the nets The edges are defined by the forcing

If Route A forces Route B, then there is an edge from Vertex A to Vertex B

Implication graph is constructed in time O(|N|2)

Net ANet A

Net BNet B

Net CNet C

Net DNet DC

C

B

B

A

A

D

D

Page 13: 1 ER Group @ UCLA ISPD: Sonoma County, CA, April, 2001 An Exact Algorithm for Coupling-Free Routing Ryan Kastner, Elaheh Bozorgzadeh,Majid Sarrafzadeh

13

ER Group @ UCLA

ISPD: Sonoma County, CA, April, 2001

Property - Direct ForcingProperty - Direct ForcingProperty - Direct ForcingProperty - Direct Forcing

Edges formed according to (direct) forcings Therefore, the out degree of the Vertex A is the number

of routes forced by Route A

Edges formed according to (direct) forcings Therefore, the out degree of the Vertex A is the number

of routes forced by Route A

C has out degree = 2

Every other vertex has out degree = 1

C has out degree = 2

Every other vertex has out degree = 1

C

C

B

B

A

A

D

DNet ANet A

Net BNet B

Net CNet C

Net DNet D

Page 14: 1 ER Group @ UCLA ISPD: Sonoma County, CA, April, 2001 An Exact Algorithm for Coupling-Free Routing Ryan Kastner, Elaheh Bozorgzadeh,Majid Sarrafzadeh

14

ER Group @ UCLA

ISPD: Sonoma County, CA, April, 2001

Property - Indirect ForcingProperty - Indirect ForcingProperty - Indirect ForcingProperty - Indirect Forcing

A routing may force other routes indirectly A routing may force other routes indirectly

Route 1Route 1Route 2Route 2 Route 3Route 3

Route 4Route 4

Route 1directly forces Route 2

Route 2 directly forces Route 3

Route 3 directly forces Route 4

Route 1directly forces Route 2

Route 2 directly forces Route 3

Route 3 directly forces Route 4

Route 1 indirectly forces Routes 3 and 4Route 1 indirectly forces Routes 3 and 4

Page 15: 1 ER Group @ UCLA ISPD: Sonoma County, CA, April, 2001 An Exact Algorithm for Coupling-Free Routing Ryan Kastner, Elaheh Bozorgzadeh,Majid Sarrafzadeh

15

ER Group @ UCLA

ISPD: Sonoma County, CA, April, 2001

Property - Indirect forcingProperty - Indirect forcingProperty - Indirect forcingProperty - Indirect forcing

The number of indirect forcings of Route A is the number of vertices reachable from vertex A minus the out degree of vertex A

The number of indirect forcings of Route A is the number of vertices reachable from vertex A minus the out degree of vertex A

Modified DFS algorithm can be used to determine indirect forcings

Modified DFS algorithm can be used to determine indirect forcings

C

C

B

B

A

A

D

D

A indirectly forces 2 routes (B, D)A indirectly forces 2 routes (B, D)

Net ANet A

Net BNet B

Net CNet C

Net DNet D

Page 16: 1 ER Group @ UCLA ISPD: Sonoma County, CA, April, 2001 An Exact Algorithm for Coupling-Free Routing Ryan Kastner, Elaheh Bozorgzadeh,Majid Sarrafzadeh

16

ER Group @ UCLA

ISPD: Sonoma County, CA, April, 2001

MAX-CFL DefinitionMAX-CFL DefinitionMAX-CFL DefinitionMAX-CFL Definition

Given a set of two-terminal nets S and a positive integer K < |S|. Is there a single bend routing for at least K nets such that no two routings couple?

Additional routing constraints can easily be added Routed nets must be planar Routed nets must be routed on two layers

MAX-CFL for planar layouts is NP-Complete General MAX-CFL NP-Complete?

Given a set of two-terminal nets S and a positive integer K < |S|. Is there a single bend routing for at least K nets such that no two routings couple?

Additional routing constraints can easily be added Routed nets must be planar Routed nets must be routed on two layers

MAX-CFL for planar layouts is NP-Complete General MAX-CFL NP-Complete?

Page 17: 1 ER Group @ UCLA ISPD: Sonoma County, CA, April, 2001 An Exact Algorithm for Coupling-Free Routing Ryan Kastner, Elaheh Bozorgzadeh,Majid Sarrafzadeh

17

ER Group @ UCLA

ISPD: Sonoma County, CA, April, 2001

We developed three algorithms Greedy Direct Forcing Implication

Algorithms try to maximize number of nets routed and/or criticality of routed nets

We developed three algorithms Greedy Direct Forcing Implication

Algorithms try to maximize number of nets routed and/or criticality of routed nets

AlgorithmsAlgorithmsAlgorithmsAlgorithms

Presented at ASIC’00Presented at ASIC’00

Page 18: 1 ER Group @ UCLA ISPD: Sonoma County, CA, April, 2001 An Exact Algorithm for Coupling-Free Routing Ryan Kastner, Elaheh Bozorgzadeh,Majid Sarrafzadeh

18

ER Group @ UCLA

ISPD: Sonoma County, CA, April, 2001

Implication AlgorithmImplication AlgorithmImplication AlgorithmImplication Algorithm

1 Given a set of nets N

2 Create an implication graph G(V,E)

3 R NULL

4 for each vertex v V

5 do r.net route(v)

6 r.num_forcing Forcings(route(v))

7 R R U r

8 Sort R by function(direct forcings, indirect forcings)

9 for each routing r R

10 do if r.net is unrouted and r is routable

11 then route r

1 Given a set of nets N

2 Create an implication graph G(V,E)

3 R NULL

4 for each vertex v V

5 do r.net route(v)

6 r.num_forcing Forcings(route(v))

7 R R U r

8 Sort R by function(direct forcings, indirect forcings)

9 for each routing r R

10 do if r.net is unrouted and r is routable

11 then route r

Running time is O(n3)Running time is O(n3)

Page 19: 1 ER Group @ UCLA ISPD: Sonoma County, CA, April, 2001 An Exact Algorithm for Coupling-Free Routing Ryan Kastner, Elaheh Bozorgzadeh,Majid Sarrafzadeh

19

ER Group @ UCLA

ISPD: Sonoma County, CA, April, 2001

BenchmarksBenchmarksBenchmarksBenchmarks

Data file Num Cells Num Nets Num Pins MCNC Benchmarksprimary1 833 1156 3303primary2 3014 3671 12914avqs 21584 30038 84081biomed 6417 7052 22253struct 1888 1920 5407 ISPD98 Benchmarksibm01 12036 13056 45815ibm05 28146 29647 127509ibm10 68685 29647 127509ibm15 161187 186991 716206ibm18 210341 202192 819969

Page 20: 1 ER Group @ UCLA ISPD: Sonoma County, CA, April, 2001 An Exact Algorithm for Coupling-Free Routing Ryan Kastner, Elaheh Bozorgzadeh,Majid Sarrafzadeh

20

ER Group @ UCLA

ISPD: Sonoma County, CA, April, 2001

Experimental FlowExperimental FlowExperimental FlowExperimental Flow

Algorithm l crit l root l crit l̂ 2 crit % routedgreedy 1.186 1.478 1.898 30.28%direct 1 1 1 35.30%imp(.5) 1.078 1.116 1.156 35.45%imp(1) 1.062 1.169 1.296 31.79%imp(2) 1.078 1.116 1.156 35.45%imp(5) 1.078 1.116 1.156 35.45%imp(10) 1.078 1.116 1.156 35.45%imp(infty) 1 1 1 31.79%

ResultsResultsResultsResults

Select

x most

critical

nets

x = {25,50,75, … , 250}

Benchmark:

{fract,biomed,

ibm01,etc.}

Perform

MAX-CFL

algorithm

greedy, direct forcing, implication algorithms

Statistics:

{criticality, % routed}

Page 21: 1 ER Group @ UCLA ISPD: Sonoma County, CA, April, 2001 An Exact Algorithm for Coupling-Free Routing Ryan Kastner, Elaheh Bozorgzadeh,Majid Sarrafzadeh

21

ER Group @ UCLA

ISPD: Sonoma County, CA, April, 2001

ConclusionConclusionConclusionConclusion Coupling-free routing useful for many routing algorithms

Detailed routing Global routing Single layer routing

Benefits of CFR Smaller interconnect delay Aides wire planning Speeds up routing process

Implication algorithm maximizes routes placed Greedy algorithm maximizes criticality placed Open problems – extending to consider weighted edges

Coupling-free routing useful for many routing algorithms Detailed routing Global routing Single layer routing

Benefits of CFR Smaller interconnect delay Aides wire planning Speeds up routing process

Implication algorithm maximizes routes placed Greedy algorithm maximizes criticality placed Open problems – extending to consider weighted edges