cafe router: a fast connectivity aware multiple nets routing algorithm for routing grid with...
TRANSCRIPT
CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles
Y. Kohira and A. TakahashiSchool of Computer Science and EngineeringThe 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
frontierfixed part
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.
passed occupied
free
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
6
7
6
6 - 2 = 4
7 - 2 = 5
6 - 2 = 4
S
T
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
Check the connectivity for each adjacent grid
Move the frontier to an adjacent grid
Repeat until all nets are connected
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
Without wall With wall
Experimental Results
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 Resultsdata1
Experimental Resultsdata2 (target length: 50)
Experimental Resultsdata3
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.