cafe router: a fast connectivity aware multiple nets routing algorithm for routing grid with...

26
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, Ja pan ASPDAC 2010

Upload: joella-thomas

Post on 27-Dec-2015

220 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science

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

Page 2: CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science

Outline

Introduction Problem Formulation Preliminaries CAFE Router R-Flip Wall Experimental Results Conclusion

Page 3: CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science

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.

Page 4: CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science

Introduction

PCB routing is divided into two parts: Escape routing River routing (Area routing)

Page 5: CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science

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

Page 6: CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science

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.

Page 7: CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science

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.

Page 8: CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science

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

Page 9: CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science

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

Page 10: CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science

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

Page 11: CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science

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

Page 12: CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science

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

Page 13: CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science

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

Page 14: CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science

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

Page 15: CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science

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

Page 16: CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science

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

Page 17: CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science

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

Page 18: CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science

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.

Page 19: CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science

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

Page 20: CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science

Experimental Results

Page 21: CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science

Experimental Results

Average error: average absolute errors of all nets Worst error: error of the net whose absolute value is maximum

data1

Page 22: CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science

Experimental Results

data2

data3

Page 23: CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science

Experimental Resultsdata1

Page 24: CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science

Experimental Resultsdata2 (target length: 50)

Page 25: CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science

Experimental Resultsdata3

Page 26: CAFE router: A Fast Connectivity Aware Multiple Nets Routing Algorithm for Routing Grid with Obstacles Y. Kohira and A. Takahashi School of Computer Science

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.