obstacle aware length matching bus routing
play

Obstacle-Aware Length-Matching Bus Routing Yan and Zhi-Wei Chen - PowerPoint PPT Presentation

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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