Obstacle-Aware Length-Matching Bus Routing Yan † and Zhi-Wei Chen ‡ Jin-Tai † Department of Computer Science and Information Engineering ‡ College of Engineering ISPD-2011
Outline Introduction Problem Formulation Problem Formulation Obstacle-Aware Length-Matching Bus Routing Obstacle-Aware Region Partition in Routing Grids Obstacle-Aware Region Partition in Routing Grids Obstacle-Aware Shortest-Path Generation Iterative Length-Matching Path Generation Experimental Results Conclusions 2
Routing in PCB g Three processes in PCB routing 1. Escape Routing E R i 2. Untangling Processing 3. Bus Routing Pin array 2 2 2 1 1 3 3 1 4 3 4 4 1 1 2 2 2 1 4 4 3 3 3 4 Escape routing Untangling Bus routing Untangle Escape routing 3
PCB Routing Challenges g g More than thousands of pins are involved in modern PCBs in modern PCBs. Physical “obstacles” on PCB Component mounting pads: DIP / SMD Pre-route predictions: analog / TTL design reservation Various design constraints Various design constraints Layer constraints Length matching: each routed net must be bounded within specific wire length bounded within specific wire length Source from : http://www.pc01.cn/ 4
Previous Works BGA-Route T. Yan and M. D. F. Wong, “BSG-Route: A length-matching router for general topology,” ICCAD,2008. Limitations : no obstacle constraint / remainder area in BSG cells US Routing Y. Kohira et. al, “A fast longer path algorithm for routing grid with obstacles using biconnectivity based length upper bound,” ASPDAC,2009 Limitations : high time complexity / optimal solution is not guaranteed Limitations : high time complexity / optimal solution is not guaranteed CAFE-router Y. Kohira et.al, “CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles ” ASPDAC 2010 Routing Algorithm for Routing Grid with Obstacles, ASPDAC,2010 Limitations : length-matching with high length error 5
Motivations Limitations in the previous works 1 Without consideration of obstacles 1. Without consideration of obstacles 2. Length-matching with length error An efficient length-matching approach for bus routing An efficient length matching approach for bus routing 1. Bus routing with considering obstacles 2. More accurate result under the constraint of length-matching g g 6
Preliminary Routing area in a single layer can be represented by a set of routing grids An arbitrary-shaped obstacle can be form by a set of routing grids (drawn by black) Grid-based routing path for a net Grid based routing path for a net Two grids are specified as the locations of the start and target terminals, S and T A path connects S and T by using horizontal or vertical segments and passes each available grid at most once The length of a connecting path is defined as the number of passed grids in the routing The length of a connecting path is defined as the number of passed grids in the routing path Flip operations for path detouring R-flip : a partial path can be detoured by using adjacent routing grids and inserting a detouring path, P’ C-flip : a partial path, P, can be replaced by using another partial path, P’, where the length of P’ is larger than that of P P T T T T P’ P’ S S S S 7
Problem Formulation Input Two sequential sets of start and target terminals of r nets in a bus q g Routing panel is divided into a m x n routing grids with s obstacle grids Each net, i , has its connecting length of the shortest path, d i Constraints Constraints Length constraints, l 1 , l 2 ,...,l r are given to satisfy the timing constraints 1 r l d or l mn s No Solution!! No Solution!! i i i i i i 1 1 r l d or l mn s i i Solution available!! Solution available!! i i Non-crossing between any two pair of nets Non crossing between any two pair of nets Objective The length-matching paths of r nets are generated in the bus 8
Example p 1 1 2 2 3 3 4 4 4 4 5 5 6 6 1 1 2 2 3 3 4 4 4 4 5 5 6 6 20x18 routing grids; 82 obstacle grids; length constraints = 46 0x 8 ou g g ds; 8 obs ac e g ds; e g co s a s 6 ( d 1 =28, d 2 =28, d 3 =28, d 4 =28, d 5 =,28 d 6 =34 ) 9
Design Flow g INPUT: 1. Start and target terminals for Iterative Length-Matching Path b bus routing ti Generation 2. Length-matching constraints in Diffusion-based Longest a bus Path Generation Obstacle-Aware Region Partition Internal Length-Matching inside Routing Grids Path Modification Obstacle-Aware Shortest-Path External Length-Matching Generation Path Modification Diffusion-based Shortest Path Generation OUTPUT: Convergence-based Shortest Obstacle-aware length-matching Path Generation Path Generation b bus routing result i l 10
Region Definition g Outer Boundary : minimum covering rectangular covering rectangular 1 1 boundaries 2 3 4 Including all the routing grids: 5 available & obstacle grids 6 Extended lines on hor. and vert. boundaries of obstacles vert boundaries of obstacles Independent region: hor. or vert. extended line 1 2 Two obstacle boundaries 1. 3 One obstacle boundary and one 4 2. 5 outer boundary outer boundary 6 6 11
Iterative Obstacle-Aware Region Partition g Partition process Step 1: If all the routing grids are assigned into independent regions p g g g p g process done Step 2: According to the extended lines of obstacles and outer boundary, independent region can be found independent region can be found. Step 3: Take the found independent regions as newly obstacles, go to Step 1 Merging process If any independent region is able to be horizontally or vertically merged with its adjacent independent region, merging with their adjacent regions Regions including start or target terminals are defined as start Regions including start or target terminals are defined as start region and target region 12
Partition & Merging Process 1 IR 1 IR 9 R 1 2 R 3 IR 3 R 11 3 IR IR 8 R R s IR IR 2 4 5 6 R 4 IR 4 IR 14 R 8 IR 12 R 2 R 5 IR 5 1 5 2 IR 10 R 9 R 8 R 6 IR 6 3 IR 13 R T 4 IR 11 R 7 5 R 10 6 IR 7 13
Adjacent Graph Construction j p Adjacent graph, G(V, E) : an undirected edge-weight graph Any V i , in V represents a partitioned region, R i . Any E i,j , in E represents the adjacent relation between two partitioned regions, R i and R j , and the edge weight, w i,j , represents the allowable net capacity between R i and R j . 1 R 1 2 R 3 R 11 3 R s 4 V 1 2 2 5 V 11 V 3 6 3 V S 2 3 R 4 6 R 8 V 8 6 1 R 2 V T 1 V 4 V 2 2 2 2 4 V 9 4 1 R 5 1 V 5 1 2 R 9 R 8 1 3 1 V 6 V 7 V 10 R T R T 6 4 4 10 R 7 5 R 10 6 14
Flow-Based Path Generation According to the adjacent graph, with V S and V T , the number of maximum flow(routed path), M, can be number of maximum flow(routed path), M, can be obtained by performing maximum-flow algorithm Un-routable condition The flow, M , is smaller than the number of nets, r , in a bus Routed path assignment M flows, form 1 to M and r nets, from 1 to r, and M ≥ r M fl f 1 t M d t f 1 t d M ≥ Balanced distribution expression V 1 V 1 2 2 V 3 1 1 3 V S V 0 2 (i − 1)(M − 1) 4 f i = 1 + , if 1 ≤ i ≤ r V 8 3 1 V T 1 V 4 r - 1 V 2 2 3 V 9 3 1 V 5 V 5 1 1 1 1 V 7 V 6 V 10 15
Assigned Region Relations g g Three relations between net and its assigned routed region Private region 1. Only one net is assigned into this region All routing grids inside this region O l t i i d i t thi i All ti id i id thi i are only used by the route of the net Share region 2. Without any net is assigned into the region All routing grids inside this region can be used by all possible nets b d b ll ibl t Public region 3. Some nets are assigned into this region All routing grids inside this region can be used by the routes of these assigned nets V 1 2 V 11 2 V 3 V S Assign region path : 0 2 Net1, Net2 : V S Net1 Net2 : V V V V V 4 V 1 V 3 V 8 V T V 8 3 1 V T 1 Net3 : V S V 2 V 4 V 8 V T V 4 V 2 2 Net4, Net5 : V S V 2 V 5 V 9 V T 3 V 9 3 1 Net6 : V S V 2 V 5 V 9 V 6 V 7 V 10 V T V 5 1 1 1 V 7 V 6 V 10 16
Initial Obstacle-Aware Path Generation t a Obstac e wa e at Ge e at o Objective: determine the routing path inside the assigned region for all nets Two-phase shortest path generation 1. Diffusion-based shortest path: sequentially generate the shortest path for all nets First and last of un-routed nets are routed firstly Route as the outer routing grids as possible The routed nets are regarded as obstacles g 2. Convergence-based shortest path: integrate the available routing grids together and distribute in the outer routing area Routing with reverse routing order in the first phase g g p Reassign the routing grids as convergent as possible 17
Example of Initial Path Generation p 1 1 2 2 3 3 4 4 5 5 6 6 1 1 1 1 2 2 3 3 4 4 5 5 6 6 18
Recommend
More recommend