regularroute an efficient detailed router with regular
play

RegularRoute: An Efficient Detailed Router with Regular Routing - PowerPoint PPT Presentation

RegularRoute: An Efficient Detailed Router with Regular Routing Patterns Yanheng Zhang and Chris Chu Yanheng Zhang and Chris Chu Electrical and Computer Engineering Department Iowa State University Outline Motivation and Overview Local


  1. RegularRoute: An Efficient Detailed Router with Regular Routing Patterns Yanheng Zhang and Chris Chu Yanheng Zhang and Chris Chu Electrical and Computer Engineering Department Iowa State University

  2. Outline  Motivation and Overview  Local Net Routing  Local Net Routing  Global Segment Assignment  Experimental Results p  Conclusion and Discussion 2

  3. Outline  Motivation and Overview  Local Net Routing  Local Net Routing  Global Segment Assignment  Experimental Results p  Conclusion and Discussion 3

  4. Previous Detailed Routing Techniques  Iterative ripup and reroute  Mighty [Shin et al. TCAD-87] g y [ ] Sequential in nature Sequential in nature  Multi-level methodology  DUNE [Cong et al. TCAD-01] Net ordering issue  MR [Chang et al. TCAD-04] MR [Ch t l TCAD 04]  Boolean satisfiability Concurrent approach  SAT Router for FPGA [Nam et al. TCAD-02] SAT Router for FPGA [Nam et al. TCAD 02] Long runtime  Track routing Pin access issue  Track Routing [Batterywala et al. ICCAD-02]  Escape routing Not handle  Escape Routing for Pin Clusters [Ozdal TCAD-09] full-chip routing 4

  5. Apply Regular Routing Patterns  Regular routing patterns  Potentially improve design rule satisfaction Potentially improve design rule satisfaction  Explore solution space more efficiently  Might affect routability due to restricted routing patterns Might affect routability due to restricted routing patterns Non-trivial routing patterns Regular routing patterns 5

  6. Problem Formulation for Detailed Routing  Input  3-D detailed routing grids  2-D global routing solution organized in global segments  Complete netlist  Objective  Objective  Generate detailed routing solution to route as many nets as possible  Secondary objectives include minimizing wirelength, via count and non-preferred usage non-preferred usage  Assumptions  Each grid edge can accommodate exact one wire except blockage  Each layer has preferred routing direction. They are perpendicular for adjacent layers. Metal_1 is assumed to be horizontal  Pins are assumed to be on metal_1 _ 6

  7. RegularRoute: Flow and Overview Input 2-D Global Routing Solution and 3-D Grids Local Nets Routing by Single Trunk V-Tree Single Trunk V Tree Global Segment Extraction g Global Segment Assignment A i t Unassigned segments Assigned segments Output Detailed Routing Output Detailed Routing Solution 7

  8. RegularRoute: Our Contributions  Applying regular routing patterns A l i l i  Use regular routing patterns instead of non-trivial patterns  Correct-by-construction for satisfying more design rules Co ect b const ction fo satisf ing mo e design les  Panel based global segments allocation  Formulate assigning global segments in one panel as Formulate assigning global segments in one panel as MWIS proble  All nets inside each panel are considered simultaneously p y  Novel techniques to improve routability  Effective partial assignment for further assignment  Pin promotion to prevent pin access issue  Fast computational time  Fast heuristic in solving the MWIS  Can easily be adapted to parallel version 8

  9. Outline  Motivation and Overview  Local Net Routing  Local Net Routing  Global Segment Assignment  Experimental Results p  Conclusion and Discussion 9

  10. Local Net Routing Input 2-D Global Routing Solution and 3-D Grids Solution and 3 D Grids Local Net Routing by Single Trunk V-Tree Si l T k V T Global Segment Extraction Global Segment Extraction Global Segment Assignment O tp t Detailed Ro ting Output Detailed Routing Solution 10

  11. Single-Trunk V-Tree  Single-Trunk V-Tree  Find pin with median X coordinate p  Construct trunk with vertical wire (metal_2)  Connect other pins to trunk as branch  Time complexity: O(n) G C ll G-Cell trunk branch branch 11

  12. V-Tree vs. Arbitrary Tree  V-Tree vs. Arbitrary Tree  Number of blocked horizontal tracks: V-Tree = Arbitrary Tree y  Number of blocked vertical tracks: V-Tree < Arbitrary Tree Minimize metal 2 usage Minimize metal_2 usage Single Trunk V-Tree Arbitrary Tree 12

  13. Outline  Motivation and Overview  Local Net Routing  Local Net Routing  Global Segment Assignment  Experimental Results p  Conclusion and Discussion 13

  14. Global Segment Assignment From 1 st layer Input 2-D Global Routing Solution and 3-D Grids Solution and 3 D Grids Sol e Global Solve Global Next layer Segment Assignment for Local Nets Routing by all panels p Si Single Trunk V-Tree l T k V T Terminal Partial Promotion Assignment Global Segment Extraction g No Top Global Segment layer? layer? A Assignment i t Yes Panel Output Detailed Routing Output Detailed Routing M Merging and i d Solution Maze Routing 14

  15. Global Segment Assignment in one Panel Input  A set of global segments that have not been assigned  A set of routing tracks inside one panel g p  Objective  Assign as many segments as possible in regular routing patterns  Minimize wirelength via count non-preferred usage Minimize wirelength, via count, non preferred usage   Concepts  Track : A sequence of grids in preferred routing direction  Panel : A collection of tracks in one column/row of G Cells Panel : A collection of tracks in one column/row of G-Cells  15

  16. Concept of a Choice  Choice  A valid regular routing solution for one segment A valid regular routing solution for one segment  Number of choice reflects the flexibility of assignment for one segment  Two choices that cannot co-exist cause a conflict t4 t3 t2 t1 conflict fli t 16

  17. MWIS problem  Maximum Weighted Independent Set (MWIS) g p ( )  Formulate Global Segment Assignment in one Panel as MWIS problem  Introduce conflict graph G with vertex set V and edge set E : each vertex represents one choice, each edge represents conflict between two choices p  Each vertex is assigned a weight representing assignment priority  Objective: find the independent set of vertices to maximize total weight 17

  18. Example of Conflict Graph c4 t4 c2 c2 t3 c3 t2 c1 t1 c5 c5 conflict c2 c1 c3 c5 clique li c4 18

  19. Calculate weight for vertices W(v) = L - α 1 × ||R|| + α 2 × AvD + + α 3 × (F 1 + F 2 ) × (F + F )  Contains five components p  Segment length (number of spanned G-Cells)  Terminal connection  G-Cell boundary density  Flexibility component for ending G-Cell with pending segment segment 19

  20. Solve MWIS C( ) C(v) =W(v) – β × i_deg(v) – γ ×o_deg(v) ( ) β i d ( ) d ( )  Solve MWIS problem  Rank vertices based on cost  Rank vertices based on cost  Extract vertex with largest weight and do assignment  Update incident vertices and in/out degrees  Use heap for efficient extraction and update 20

  21. Partial Assignment  Partial Assignment  Improve resource utilization after MWIS  Assign partial segment starting from terminals  Post-processing after MWIS 21

  22. Terminal Promotion  Terminal Promotion  Terminal connection issue: segment is assigned in upper layer while terminals are on lower layers  Promote terminals after processing current layer  Treat new terminals as if they are on upper layer Treat new terminals as if they are on upper layer 22

  23. Unassigned Segments on Top Layer  Panel Merging  Allow violation of the input global routing solution Allow violation of the input global routing solution  Offers more flexibility  Can be applied in lower layers Can be applied in lower layers  Maze Routing  Line probe based maze routing p g  3-D maze routing  Optimal MWIS Solver p  Last resort for better solving the problem  Generally slow and solution quality is not guaranteed 23

  24. Outline  Motivation and Overview  Local Net Routing  Local Net Routing  Global Segment Assignment  Experimental Results p  Conclusion and Discussion 24

  25. Experimental Set-up  Testcases  ISPD98 placement benchmark suite derived testcases  ISPD05 placement contest benchmark suites derived testcases  Computing Platform  Computing Platform  3.16 GHz Intel Xeon processor with 32G memory  Input to RegularRoute  Global routing testcases with similar format to ISPD07/08 global routing contest benchmark suites  2-D global routing solutions  Input to WROUTE  LEF/DEF design for placed testcases 25

  26. Flow for making testcases Input Placement Benchmark Placer(Dragon, FastPlace 3.1) Placed Testcases In-house script Publicly available conversion tool conversion tool Global routing testcases PlaceUtil by Umich similar to ISPD07/08 Global Router Global Router (FastRoute) LEF/DEF design 2-D global routing solutions l ti WROUTE RegularRoute 26

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend