1 / 21

An Exact Algorithm for Coupling-Free Routing

An Exact Algorithm for Coupling-Free Routing. Ryan Kastner, Elaheh Bozorgzadeh,Majid Sarrafzadeh {kastner,elib,majid}@cs.ucla.edu. Embedded and Reconfigurable Systems Group Computer Science Department UCLA Los Angeles, CA 90095. Outline. Basic definitions Coupling-Free Routing

axl
Download Presentation

An Exact Algorithm for Coupling-Free Routing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. Coupling • 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

  4. Simplify definition of coupling • Pair-wise boolean relationship between any 2 nets • Easy to generalize to non-boolean, makes algorithm more complex length > l distance < d Two wires couple if Cc(i,j) > threshold Two wires couple if distance < d and length > l

  5. 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 Coupled layout Coupling-free layout

  6. Benefits of CFR Detailed/Single Layer routing CFR critical nets Maze Route remaining nets • 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

  7. CFR 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

  8. CFRDP definition Solved in time O(n) O(n2) Solving CFRDP takes time O(n2) • 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

  9. CFRDP 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

  10. Forcing 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

  11. Forcing 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)

  12. Implication Graph A B C D Net D Net B A B C D Net A Net C • 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)

  13. Property - Direct Forcing A B C D Net D Net B A B C D Net A Net C • 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

  14. Property - 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

  15. Property - Indirect forcing A B C D Net D Net B A B C D Net A Net C • 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

  16. MAX-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?

  17. Algorithms • We developed three algorithms • Greedy • Direct Forcing • Implication • Algorithms try to maximize number of nets routed and/or criticality of routed nets Presented at ASIC’00

  18. Implication 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)) 7R  R U r 8 Sort R by function(direct forcings, indirect forcings) 9for each routing r  R 10 do if r.net is unrouted and r is routable 11 then route r Running time is O(n3)

  19. Benchmarks

  20. Experimental 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

  21. Conclusion • 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

More Related