Title: An Exact Algorithm for CouplingFree Routing
1An Exact Algorithm for Coupling-Free Routing
- Ryan Kastner, Elaheh Bozorgzadeh,Majid
Sarrafzadeh - kastner,elib,majid_at_cs.ucla.edu
Embedded and Reconfigurable Systems
Group Computer Science Department UCLA Los
Angeles, CA 90095
2Outline
- Basic definitions
- Coupling-Free Routing
- Coupling-Free Routing Decision Problem (CFRDP)
- Implication graph
- Maximum Coupling-Free Layout (MAX-CFL)
- Conclusion
3Coupling
- 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
4Simplify definition of coupling
- Pair-wise boolean relationship between any 2 nets
- Easy to generalize to non-boolean, makes
algorithm more complex
length gt l
distance lt d
Two wires couple if Cc(i,j) gt threshold
Two wires couple if distance lt d and length gt l
5Coupling-Free Routing (CFR)
- Given a set of nets SNi(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 layout
Coupling-free layout
6Benefits 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, ICCAD00
7CFR 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
8CFRDP 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)
CFRDP algorithm overview
2SAT
CFRDP
transform to
9CFRDP 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
Net A uA
Net A
Net B uB
Net B
Net C
Net C uC
10Forcing interactions
- In order to avoid coupling, a routing of a net
forces another net into a particular route
Net 1
Net 1
To avoid coupling Net 2 must be lower-L
Net 2
Net 2
An lower-L routing of Net 1 forces a lower-L
routing of Net 2 ûA ?ûB
11Forcing 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
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)
12Implication 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(N2)
13Property - 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
C has out degree 2 Every other vertex has out
degree 1
14Property - Indirect Forcing
- A routing may force other routes indirectly
Route 1
Route 1directly forces Route 2 Route 2 directly
forces Route 3 Route 3 directly forces Route 4
Route 2
Route 3
Route 4
Route 1 indirectly forces Routes 3 and 4
15Property - 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
A indirectly forces 2 routes (B, D)
Modified DFS algorithm can be used to
determine indirect forcings
16MAX-CFL Definition
- Given a set of two-terminal nets S and a positive
integer K lt 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?
17Algorithms
- We developed three algorithms
- Greedy
- Direct Forcing
- Implication
- Algorithms try to maximize number of nets routed
and/or criticality of routed nets
Presented at ASIC00
18Implication 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
Running time is O(n3)
19Benchmarks
20Experimental Flow
greedy, direct forcing, implication algorithms
Benchmark fract,biomed, ibm01,etc.
Select x most critical nets
Perform MAX-CFL algorithm
Statistics criticality, routed
x 25,50,75, , 250
Results
21Conclusion
- 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