1 er group @ ucla ispd: sonoma county, ca, april, 2001 an exact algorithm for coupling-free routing...
TRANSCRIPT
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
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
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
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
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
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
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
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)
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
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
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)
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
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
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
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
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?
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
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)
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
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}
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