Presentation is loading. Please wait.

Presentation is loading. Please wait.

38 th Design Automation Conference, Las Vegas, June 19, 2001 Creating and Exploiting Flexibility in Steiner Trees Elaheh Bozorgzadeh, Ryan Kastner, Majid.

Similar presentations


Presentation on theme: "38 th Design Automation Conference, Las Vegas, June 19, 2001 Creating and Exploiting Flexibility in Steiner Trees Elaheh Bozorgzadeh, Ryan Kastner, Majid."— Presentation transcript:

1 38 th Design Automation Conference, Las Vegas, June 19, 2001 Creating and Exploiting Flexibility in Steiner Trees Elaheh Bozorgzadeh, Ryan Kastner, Majid Sarrafzadeh Embedded and Reconfigurable System Design (ER LAB) Computer Science Department UCLA Elaheh Bozorgzadeh, Ryan Kastner, Majid Sarrafzadeh Embedded and Reconfigurable System Design (ER LAB) Computer Science Department UCLAER UCLA UCLA

2 38 th Design Automation Conference, Las Vegas, June 19, 2001OutlineOutline Introduction Definition and Preliminaries Flexibility in Rectilinear Steiner Tree Our Approach to Create and Exploit Flexibility Experimental Results Conclusion and Future Work Introduction Definition and Preliminaries Flexibility in Rectilinear Steiner Tree Our Approach to Create and Exploit Flexibility Experimental Results Conclusion and Future Work

3 38 th Design Automation Conference, Las Vegas, June 19, 2001 Global Routing Global Routing Routability Important factor in global routing solution Satisfied if detailed router is able to find feasible solution from global router. Depends on highly constrained regions in global routing solution like congested regions. Delay Wire delay is becoming increasingly important Only 10 % of the nets are timing critical. Routability Important factor in global routing solution Satisfied if detailed router is able to find feasible solution from global router. Depends on highly constrained regions in global routing solution like congested regions. Delay Wire delay is becoming increasingly important Only 10 % of the nets are timing critical. Routability can be emphasized more when routing non-critical nets.

4 38 th Design Automation Conference, Las Vegas, June 19, 2001 Flexibility under Routing Flexibility: Geometrical property of RST Related to routability of steiner tree Flexible Edge Non-horizontal/vertical edge route Has more than one shortest path Exploited as soft edge in the routing algorithm proposed by Hu and Sepatnekar (ICCAD2000) Flexibility: Geometrical property of RST Related to routability of steiner tree Flexible Edge Non-horizontal/vertical edge route Has more than one shortest path Exploited as soft edge in the routing algorithm proposed by Hu and Sepatnekar (ICCAD2000) Flexible edges Steiner Node

5 38 th Design Automation Conference, Las Vegas, June 19, 2001 Pattern Routing and Flexibility Pattern routing the flexible edges More than one patterns defined More ability to maneuver the congested region Pattern routing the flexible edges More than one patterns defined More ability to maneuver the congested region Congested Area

6 38 th Design Automation Conference, Las Vegas, June 19, 2001 Flexibility under Routing Two given RSTs with same topology Study impact of flexibility in congestion Two given RSTs with same topology Study impact of flexibility in congestion Non-flexible RST Flexible RST

7 38 th Design Automation Conference, Las Vegas, June 19, 2001 Flexibility under Routing Two given RSTs with same topology Study impact of flexibility in congestion Two given RSTs with same topology Study impact of flexibility in congestion Non-flexible RST Flexible RST

8 38 th Design Automation Conference, Las Vegas, June 19, 2001 Flexibility Function Flexibility of an edge Two possible functions Flexibility of an edge increases if w or l increases. Flexibility of an edge Two possible functions Flexibility of an edge increases if w or l increases. w l

9 38 th Design Automation Conference, Las Vegas, June 19, 2001 Rectilinear Steiner Tree Constraints Given RST is stable (introduced by Ho, et.al DAC 89) Given RST is stable (introduced by Ho, et.al DAC 89) Topology of RST remains unchanged Topology of RST remains unchanged Given RST is stable (introduced by Ho, et.al DAC 89) Given RST is stable (introduced by Ho, et.al DAC 89) Topology of RST remains unchanged Topology of RST remains unchanged unstable stable Two RSTs with same topology

10 38 th Design Automation Conference, Las Vegas, June 19, 2001 Generating Flexibility in RST Problem Formulation: Given a stable Rectilinear Steiner Tree, Given a stable Rectilinear Steiner Tree, Maximize the flexibility of the RST Maximize the flexibility of the RST Subject to: Subject to:  Topology remains unchanged (and thus if we do min- length edge connection, total length remains unchanged)  Topology remains unchanged (and thus if we do min- length edge connection, total length remains unchanged)  No initial flexible edge is degraded in flexibility.

11 38 th Design Automation Conference, Las Vegas, June 19, 2001 Flexible Edges Flexible edges can be generated by moving the movable edges in RST. Movable Edge: Steiner-to-steiner edge. Edge degree of each steiner point is 3. parallel edges exists at both ends. Flexible candidate exists at least at one end. Flexible edges can be generated by moving the movable edges in RST. Movable Edge: Steiner-to-steiner edge. Edge degree of each steiner point is 3. parallel edges exists at both ends. Flexible candidate exists at least at one end. movable edge parallel edges flexible candidate

12 38 th Design Automation Conference, Las Vegas, June 19, 2001 Flexible Edges Flexible edges can be generated by moving the movable edges in RST. Movable Edge: Steiner-to-steiner edge. Edge degree of each steiner point is 3. parallel edges exists at both ends. Flexible candidate exists at least at one end. Flexible edges can be generated by moving the movable edges in RST. Movable Edge: Steiner-to-steiner edge. Edge degree of each steiner point is 3. parallel edges exists at both ends. Flexible candidate exists at least at one end. movable edge parallel edges flexible candidate

13 38 th Design Automation Conference, Las Vegas, June 19, 2001 Pseudo code Input: Edge Set of an RST S Output: RST R Algorithm: Generate Flexible Tree Begin For Each edge e If e and its adjacent edges are a movable set Create Movable Set Check Overlap For each movable set M If M has no overlap Move edge M Move Overlapped edges End Input: Edge Set of an RST S Output: RST R Algorithm: Generate Flexible Tree Begin For Each edge e If e and its adjacent edges are a movable set Create Movable Set Check Overlap For each movable set M If M has no overlap Move edge M Move Overlapped edges End

14 38 th Design Automation Conference, Las Vegas, June 19, 2001 Example of Flexible RST Construction

15 38 th Design Automation Conference, Las Vegas, June 19, 2001 Example of Flexible RST Construction

16 38 th Design Automation Conference, Las Vegas, June 19, 2001 Example of Flexible RST Construction

17 38 th Design Automation Conference, Las Vegas, June 19, 2001 Complexity of Our Algorithm Algorithm GenerateFlexibleTree generates the most flexible RST from a given stable RST under the constraints of wirelength and topology and stability remaining unchanged. Our method solves the problem optimally. If a linear flexibility function is used, the time complexity of the algorithm is O(E). If quadratic flexibility function is used, the time complexity of the algorithm is O(E+2 k )(pseudo-polynomial), where E is the edges in RST and k in the number of overlapping movable set pairs (k is normally small). Algorithm GenerateFlexibleTree generates the most flexible RST from a given stable RST under the constraints of wirelength and topology and stability remaining unchanged. Our method solves the problem optimally. If a linear flexibility function is used, the time complexity of the algorithm is O(E). If quadratic flexibility function is used, the time complexity of the algorithm is O(E+2 k )(pseudo-polynomial), where E is the edges in RST and k in the number of overlapping movable set pairs (k is normally small).

18 38 th Design Automation Conference, Las Vegas, June 19, 2001 Preliminary Experiments Route nets in C in nonflexible pattern Route nets in C in flexible pattern Maze route the nets other than nets in C C = 4 terminal Nets Maze route the nets other than nets in C C = 4 terminal Nets Pattern-route flexible edges (L-shape, Z-shape) Pattern-route flexible edges (L-shape, Z-shape) Compare Congestion! Preliminary Experiments to show relationship between routability and flexibility (many other flows are possible)

19 38 th Design Automation Conference, Las Vegas, June 19, 2001ExperimentsExperiments MCNC standard cell Benchmarks and ISPD98 benchmark Circuits placed by placer DRAGON MCNC standard cell Benchmarks and ISPD98 benchmark Circuits placed by placer DRAGON

20 38 th Design Automation Conference, Las Vegas, June 19, 2001 Conclusions and Future Work Introduced flexibility, a geometrical property of Steiner trees related to routability. Proposed an algorithm to generate optimally a flexible RST from given stable RST, which can be applied in early stages to assign the location of Steiner points in order to deal with congestion better. Preliminary experimental results show that flexible Steiner tree cause less congestion on routing resources Developing constructive Steiner tree algorithms which generate and exploit the flexibility in routing is a suggested future work. Introduced flexibility, a geometrical property of Steiner trees related to routability. Proposed an algorithm to generate optimally a flexible RST from given stable RST, which can be applied in early stages to assign the location of Steiner points in order to deal with congestion better. Preliminary experimental results show that flexible Steiner tree cause less congestion on routing resources Developing constructive Steiner tree algorithms which generate and exploit the flexibility in routing is a suggested future work.

21 38 th Design Automation Conference, Las Vegas, June 19, 2001IntroductionIntroduction Global Routing Finding approximate path (route) for each net Generating steiner tree for each net Steiner tree construction with minimum cost is NP-hard. Objectives Minimizing wirelength  Like Maze router and extended versions Minimizing the required number of vias Minimizing delay  Buffer insertion, wiresizing Minimizing Congestion Our cost: Total excess demand of routing edges in grid graph Global Routing Finding approximate path (route) for each net Generating steiner tree for each net Steiner tree construction with minimum cost is NP-hard. Objectives Minimizing wirelength  Like Maze router and extended versions Minimizing the required number of vias Minimizing delay  Buffer insertion, wiresizing Minimizing Congestion Our cost: Total excess demand of routing edges in grid graph Route edge


Download ppt "38 th Design Automation Conference, Las Vegas, June 19, 2001 Creating and Exploiting Flexibility in Steiner Trees Elaheh Bozorgzadeh, Ryan Kastner, Majid."

Similar presentations


Ads by Google