Presentation is loading. Please wait.

Presentation is loading. Please wait.

BSG-Route: A Length-Matching Router for General Topology T. Yan and M. D. F. Wong University of Illinois at Urbana-Champaign ICCAD 2008.

Similar presentations


Presentation on theme: "BSG-Route: A Length-Matching Router for General Topology T. Yan and M. D. F. Wong University of Illinois at Urbana-Champaign ICCAD 2008."— Presentation transcript:

1 BSG-Route: A Length-Matching Router for General Topology T. Yan and M. D. F. Wong University of Illinois at Urbana-Champaign ICCAD 2008

2 Outline Introduction Backgrounds  The length-matching routing problem  Problem formulation  Bounded-Sliceline grid BSG-Route Experimental Results Conclusion

3 Introduction Length-matching routing is very important issue for PCB routing. Length-matching constraints: all the wires in a bus are expected to be routed with specified length bounds. Previous length-matching routers all have assumptions on the routing topology, e.g., each wire must be routed monotonically in one direction, from left to right.

4 Introduction This paper propose a length-matching router that is capable of handling any given topology. Regard the length-matching routing problem as an area assignment problem. Introduce a placement structure, Bounded-Sliceline Grid (BSG), to solve the problem.

5 Backgrounds The length-matching routing problem  Bus routing for PCB has two phases: Escape routing Area routing  Escape routing is to route from the pin array inside a component to the boundary of the component.  Area routing is to complete the connections between the boundaries.

6 Backgrounds The length-matching routing problem  Escape routing must guarantee that the pin ordering on both boundaries are matched.  Area routing is to detour the wires to meet the length bounds while maintaining the topology inherited from escape routing.  Area routing as “length-matching routing”

7 Backgrounds Problem formulation  Input: The location and size of the components and the location of the pins on the components’ boundaries. A planar topology of the nets connecting the pins. A rectangular domain for the routing. A separation rule ε>0 for wires. Length bounds (l i, u i ) for each net i. l i is the lower bound, u i is the upper bound. l i <= u i.  Output: A rectilinear routing following the given topology and satisfying the separation rule. The length of each net i satisfies l i <= length(i) <= u i.

8 Backgrounds Bounded-Sliceline Grid  It uses a set of vertical and horizontal segments to partition the whole plane into rectangular cells.  Each cell in the grid is bounded by four segments, two vertical (V-walls) and two horizontal (H-walls).  Each wall spans over two cells.

9 Backgrounds Bounded-Sliceline Grid  The size and location of a cell are determined by the positions of the four walls surrounding it.  By moving the wall, we can enlarge a cell (A), shrink a cell (B), move a cell (C), make a cell vanish (D).

10 BSG-Route The length of a wire is the area it occupies divided by ε if the wire is a fat wire with width ε (ε is the separation rule). Instead of how to detour the wires to meet the length bounds. Consider how to assign the area to the nets such that the assigned area of each net matches its length bounds.

11 BSG-Route The flow of the router: Embed the given topology onto a BSG. Size the cells in the BSG so that the total area of the cells occupied by a net satisfies its length bounds. Perform detail routing inside each cell to turn the assigned area into expected length.

12 BSG Embedding Map the components, pins and nets onto a BSG. BSG is a structure that represents left-right, above-below relations between objects.  If a pin is above another pin, its cell should also be above the other’s cell. Allow at least one empty cell between two nets. A component should be mapped into multiple cells forming a rectangular area.

13 BSG Embedding Even though the initial embeddings are different, the shape and size of the area assigned to the net are the same after cell sizing.

14 Cell Sizing For every V-wall v, x v represents its x coordinate. For every H-wall h, y h represents its y coordinate. For every cell i, we have four walls surrounding it. Left, right, bottom, top walls as x i,l, x i,r, y i,b and y i,t. For example, x i,r, x j,l x p,r and x q,l all refer to the same variable x v of wall v.

15 Cell Sizing Basic Constraints: Every cell of the BSG must have a non-negative area. The top wall of a cell cannot be placed below the bottom wall of the cell. The right wall of a cell cannot lie to the left of the wall of the same cell.

16 Cell Sizing If a cell is occupied by a net, both the width and the height of the cell should be at least ε: So the basic constraints for a cell are either (1), (2) or (3), (4) depending on whether the cell is empty or occupied.

17 Cell Sizing Location Constraints: Fix the walls on the four boundaries of a component. For a component m with its left-bottom corner located at (L m, B m ) and right-top corner located at (R m, T m ):

18 Cell Sizing If a pin p is on the top boundary of a component. The y-coordinate of this pin is already fixed by (8). The following constraints to fix it at its x-coordinate X p (suppose its BSG cell is i):

19 Cell Sizing Length Constraints: For a net k, (11) for its upper length bound u k and (12) for its lower length bound l k :

20 Detail Routing A net must enter a cell by going through a wall (entrance wall). Exit the cell by going through another wall (exit wall). If the entrance wall and exit wall of a cell are of the same type (both H-walls or both V-walls), we call the cell straight cell. Otherwise, we call it corner cell. A point on its entrance wall (entrance point). A point on its exit wall (exit point).

21 Detail Routing For a straight cell i, the minimum routing length from the entrance point to the exit point is their Manhattan distance w i +h i -ε(w i and h i denote the width and height of the cell).

22 Detail Routing First detour horizontally as much as possible and then detour vertically as much as possible. The routing length is at least wh/ε-4ε. Introduce a parameter δ in (12) to enlarge the area requirement. δ=0.05

23 Detail Routing A very skinny cell with its height less than 2ε but its width very large. Force the cell to be ε×εlarge. (15), (16) instead of (3), (4).

24 Solve The Problem (12) is not convex. Fix the V-walls (x as constants) and solve for the H-walls (y as variables) under all the constraints involving y. A LP which we call H-problem. Use the solution of the H-problem as constraints and solve for the location of V-walls under the constraints involving x. Another LP problem which call V-problem. Alternately solve the H-problems and V-problems.

25 Question What if we get an infeasible LP problem during the iterations? Avoid this infeasibility by introducing a slack variable s>=0 into the length constraints: When s=0, the two constraints are the same as (11) and (12). Minimize s under the new constraints (13) and (14). Iteratively solve the H-problem and the V-problem until s=0 or s cannot be further reduced.

26 Experimental Results

27

28 Conclusion This paper introduced a length-matching router that handles general topology. It is the first time that the length matching routing problem is solved without any restriction on the routing topology.


Download ppt "BSG-Route: A Length-Matching Router for General Topology T. Yan and M. D. F. Wong University of Illinois at Urbana-Champaign ICCAD 2008."

Similar presentations


Ads by Google