260 likes | 326 Views
CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles. Y. Kohira and A. Takahashi School of Computer Science and Engineering The University of Aizu, Japan. ASPDAC 2010. Outline. Introduction Problem Formulation Preliminaries CAFE Router
E N D
CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science and Engineering The University of Aizu, Japan ASPDAC 2010
Outline • Introduction • Problem Formulation • Preliminaries • CAFE Router • R-Flip • Wall • Experimental Results • Conclusion
Introduction • In the routing design of PCB, the controllability of wire length is often focused on. • If a routing method has the higher controllability on wire length, the routing delay would be controlled with higher accuracy. • Specification of signal propagation delay: target length. • Each net must be routed so that target length is satisfied.
Introduction • PCB routing is divided into two parts: • Escape routing • River routing (Area routing)
Problem Formulation • Length-matching routing problem for multiple nets with obstacles: • Input: routing grid with obstacles (single layer), two terminals for each net, target length for each net • Output: a set of feasible routes • Pass each non-obstacle grid at most once • The obtained routes of nets must not intersect each other • Objective: Minimize the sum of the absolute length errors of nets • Length error: the difference between actual wire length and target length
Preliminaries • A routing area is represented by a routing grid consisting of unit squares. • Black square: off-square • White or gray square: on-square • The length of a net is defined by the number of edges of the route in the grid graph.
Preliminaries • Trunk routing problem • This paper handle the trunk routing problem which is a sub-problem of the river routing problem. • Instance satisfies the trunk routing topology condition: • All terminals are put on the boundary of the routing area. • The boundary terminal sequence can be divided into the source terminal sequence S and the sink terminal sequence T.
Preliminaries • A flow graph corresponding to the instance • The vertex set corresponds to on-square • The capacity of each vertex is set to 1 • If two grids are adjacent, two vertices are connected by two directed edges
Preliminaries • If an instance satisfies the trunk routing topology condition • Each unit flow in a maximum flow corresponds to a feasible route of a net when: • The amount of a max flow = the number of nets • When the amount of a max flow is less than the number of nets, no feasible route of a net exists
CAFE Router • This paper propose a fast heuristic algorithm CAFE (Connectivity Aware Frontier Exploration) router. • The route of a net is fixed by the movement of the frontier of the net from the source to the sink. • The route of a net is divided into two parts: the fixed part and the unfixed part • The routed from the source to the on-square just before the frontier is the fixed part fixed part frontier
CAFE Router • An on-square which is passed by the fixed part of a net is called passed. • An on-square which has the frontier of a net is called occupied. • An on-square which is neither passed nor occupied is called free. free passed occupied
CAFE Router • Step 1: Choose a focused net whose frontier is moved. • A net with the max remained length is chosen as the focused net • The remained length is the difference between the target length and the length of the fixed part of the net Target length Remained length T 6 7 6 6 - 2 = 4 7 - 2 = 5 6 - 2 = 4 S
CAFE Router • Step 2: Check whether the connectivity is kept for each adjacent free on-square. • Max flow = # nets: can be connected • Max flow < # nets: cannot be connected • The flow graph is modified as follows: passed on-squares are regarded as off-squares, and occupied squares are set to source. infeasible on-square
CAFE Router • Step 2: Check whether the connectivity is kept for each adjacent free on-square. • Max flow = # nets: can be connected • Max flow < # nets: cannot be connected • The flow graph is modified as follows: passed on-squares are regarded as off-squares, and occupied squares are set to source. feasible on-square
CAFE Router • Step 2: Check whether the connectivity is kept for each adjacent free on-square. • Max flow = # nets: can be connected • Max flow < # nets: cannot be connected • The flow graph is modified as follows: passed on-squares are regarded as off-squares, and occupied squares are set to source. feasible on-square
CAFE Router • Step 3: Select a square among feasible on-squares to which the frontier is moved. • Estimated length = fixed part length + shortest path length from frontier to sink • Frontier is moved to the adjacent grid so that estimated length approaches to target length
The overall flow of CAFE Router Choose a focused net whose frontier is moved Repeat until all nets are connected Check the connectivity for each adjacent grid Move the frontier to an adjacent grid
R-Flip • The routes are modified greedily in order to reduce errors of lengths of nets in a post processing. • If the net has positive error (long), find a 2x2 rectangle and replace it by a partial route of length 1. • If the net has negative error (short), find a 2x2 rectangle and replace it by a partial route of length 3. • R-Flip is applied to the nets whose errors are not equal to 0, until the routes of all nets cannot be improved.
Wall • If terminals are placed inside the routing area, a flow in the max flow in the flow graph might connect between the terminals of different nets • The max flow might not correspond to a feasible route in the grid graph • An edge set in the grid graph which is removed from the grid graph is referred to walls With wall Without wall
Experimental Results • Average error: average absolute errors of all nets • Worst error: error of the net whose absolute value is maximum data1
Experimental Results data2 data3
Experimental Results data1
Experimental Results data2 (target length: 50)
Experimental Results data3
Conclusion • This paper proposes a fast heuristic algorithm CAFE router in order to obtain the route with small errors between lengths of routes and target lengths. • Errors are improved by applying R-Flip as the post processing.