optimal bus sequencing for escape routing in dense pcbs

22
Optimal Bus Sequencing for Escape Routing in Dense PCBs H.Kong, T.Yan, M.D.F.Wong and M.M.Ozdal Department of ECE, University of Illinois at U-C ICCAD 07

Upload: ashton-chavez

Post on 30-Dec-2015

29 views

Category:

Documents


0 download

DESCRIPTION

Optimal Bus Sequencing for Escape Routing in Dense PCBs. H.Kong, T.Yan, M.D.F.Wong and M.M.Ozdal Department of ECE, University of Illinois at U-C. ICCAD 07. Outline. Introduction Problem Formulation Optimal LCIS Algorithm Experimental Results Conclusions. Introduction. - PowerPoint PPT Presentation

TRANSCRIPT

Optimal Bus Sequencing for Escape Routing in Dense PCBs

H.Kong, T.Yan, M.D.F.Wong and M.M.Ozdal

Department of ECE, University of Illinois at U-C

ICCAD 07

Outline

Introduction Problem Formulation Optimal LCIS Algorithm Experimental Results Conclusions

Introduction

The shrinkage of die sizes and the increase in functional complexities have made circuit designs more and more dense.

Boards and packages have reduced in size while the pin counts have been increasing.

Traditional routing algorithms cannot handle the new challenges effectively.

Introduction

The PCB routing problem can be decomposed into two separate problems:

(1) routing nets from pin terminals to component (MCM, memory, etc.) boundaries, which is called escape routing.

(2) routing nets between component boundaries, which is called area routing.

Only discuss the escape routing problem for a single layer.

Introduction

(1)

(1)

(2)

Introduction

Previous escape routing algorithms are net-centric. However, in industrial routing solutions, nets are usually

organized in bus structures, and nets in a bus are expected to be routed together without foreign wires in between.

Directly applying the net-centric algorithms to all the buses will result in mixing nets of different buses together.

Introduction

A sample net-centric escape routing solution for a problem with two buses. Nets of these two buses are mixed up.

Introduction

The escape routing problem is bus-centric and can be divided into two subproblems:

1) Finding a subset of buses that can be routed on the same layer without net mixings and crossings, which is the bus sequencing problem..

2) Finding the escape routing solution for each chosen bus, which can be solved by a net-centric escape router.

Problem Formulation

A bus is a group of 2-pin nets, and it has a pin cluster in each component.

For each bus, its projection interval on a component can be obtained by projecting the bounding box of its pin cluster onto the component boundary.

The nets of a bus typically escape a component from its projection interval.

Problem Formulation

For the buses chosen to be routed together, their intervals in each component should have no overlapping.

Intervals of buses B, C and D overlap in component 1, so they do not form a sequence.

But intervals of buses B, D and E do form a sequence in component 1.

Problem Formulation

The two sequences of intervals should have the same ordering; otherwise their nets have crossings.

<A,B,D> in component 1, but those in component 2 correspond to <B,A,D>.

A common interval sequence is a bus interval sequence existing on both components, such as <A,D,E>.

Problem Formulation

The weight of a bus is the number of its nets. Problem definition: Given a bus set B={b1,b2,…,bn}, its corresponding intervals

on the left side are L={l1,l2,…,ln} and the intervals on the right side are R={r1,r2,…,rn}. Each bus bi also has a weight wi.

The Longest Common Interval Sequence(LCIS) problem is to find a common interval sequence of L and R such that the total weight of the corresponding buses is maximized. This total weight is denoted as LCIS(L, R).

Problem Formulation

The net-centric algorithm is applied to the buses chosen by the bus sequencing algorithm one by one.

A net-centric escape routing solution for bus D.

Optimal LCIS Algorithm

Assume all intervals are parallel with the y axis, where the y coordinates increase from top to bottom.

Each interval ],[ ui

lii lll

liluil

: lower endpoint.: upper endpoint.

ui

li ll

ui

li rr

],[ ui

lii rrr

Optimal LCIS Algorithm

For a bus bi, define the set of buses above its lower endpoints on both sides as its above set Ai:

Define the set of buses above its upper endpoints on both sides as its strictly above set SAi:

Optimal LCIS Algorithm

For a bus bi, define the longest common interval sequence length LCIS(bi) as the longest length of the common interval sequence that are above the lower endpoint of bi.

A2 = {b1,b3,b6}

SA2 = {b1,b6}

Optimal LCIS Algorithm

Optimal LCIS Algorithm

max bjSAi LCIS(bj)

max bkAi LCIS(bk)

Compare max bjSAi LCIS(bj)+wi with max bkAi LCIS(bk)

))(,( ili bLCISr

UPPER[j]

max

LCIS(bi)

An Example

8>5, 3<5

Experimental Results

Experimental Results

Conclusion

Introduce a new optimization problem called the Longest Common Interval Sequence (LCIS) problem and formulated the bus sequencing problem as an LCIS problem.

The LCIS algorithm can find an optimal solution in O(nlogn) which is a lower-bound for this problem.