An Optimal Jumper An Optimal Jumper Insertion Algorithm for Antenna - - PowerPoint PPT Presentation

an optimal jumper an optimal jumper insertion algorithm
SMART_READER_LITE
LIVE PREVIEW

An Optimal Jumper An Optimal Jumper Insertion Algorithm for Antenna - - PowerPoint PPT Presentation

An Optimal Jumper An Optimal Jumper Insertion Algorithm for Antenna Insertion Algorithm for Antenna Avoidance/Fixing on General Routing Avoidance/Fixing on General Routing Trees with Obstacles Trees with Obstacles Bor- -Yiing Yiing Su and


slide-1
SLIDE 1

An Optimal Jumper Insertion Algorithm for Antenna Avoidance/Fixing on General Routing Trees with Obstacles An Optimal Jumper Insertion Algorithm for Antenna Avoidance/Fixing on General Routing Trees with Obstacles

Bor Bor-

  • Yiing

Yiing Su and Su and Yao Yao-

  • Wen

Wen Chang Chang

National Taiwan University

Jiang Jiang Hu Hu

Texas A&M University

slide-2
SLIDE 2

Outline Outline

  • Introduction

Introduction

  • Problem Definition

Problem Definition

  • An Optimal Algorithm for Jumper Insertion

An Optimal Algorithm for Jumper Insertion

  • Complexity Analysis

Complexity Analysis

  • Experimental Results

Experimental Results

  • Conclusions

Conclusions

slide-3
SLIDE 3

Antenna Effect Antenna Effect

  • The process antenna effect is a phenomenon of

The process antenna effect is a phenomenon of plasma plasma-

  • induced

induced gate oxide degradation gate oxide degradation caused caused by by charge accumulation charge accumulation on conductors.

  • n conductors.
  • During metallization, each time an additional

During metallization, each time an additional layer of interconnect is added. While the metal layer of interconnect is added. While the metal line is being manufactured, the line is being manufactured, the floating floating interconnect interconnect acts as a temporary acts as a temporary capacitor capacitor to to store charges induced from plasma etching. store charges induced from plasma etching.

a b Metal 1 Metal 2 Metal 3 A two-pin net

slide-4
SLIDE 4

Antenna Effect (cont’d) Antenna Effect (cont’d)

  • If the charged conductor is connected only to

If the charged conductor is connected only to the the gate oxide gate oxide, Fowler , Fowler-

  • Nordheim

Nordheim (F (F-

  • N) tunneling

N) tunneling current will discharge through the thin oxide current will discharge through the thin oxide and damage the gate. and damage the gate.

– – No harm to diffusion source (discharge

No harm to diffusion source (discharge through substrate) through substrate)

a b Metal 1 Metal 2 Metal 3 A two-pin net a b Metal 1 Metal 2 Metal 3 Poly Cross section view source terminalF-N tunneling current

slide-5
SLIDE 5

Solutions for Antenna Effect Solutions for Antenna Effect

  • Jumper Insertion

Jumper Insertion

– – Break the signal wires with antenna violations and

Break the signal wires with antenna violations and route them to the top route them to the top-

  • most layer

most layer

– – Induce

Induce vias vias

  • Embedded Protection Diode

Embedded Protection Diode

– – Add a protection diode on every input port of a cell

Add a protection diode on every input port of a cell

– – May consume unnecessary areas

May consume unnecessary areas

  • Diode Insertion

Diode Insertion

– – Insert

Insert “ “under under-

  • the

the-

  • wire

wire” ” diodes to fix the violation diodes to fix the violation

– – Need extra silicon space to place the diodes

Need extra silicon space to place the diodes

slide-6
SLIDE 6

Solutions for Antenna Effect Solutions for Antenna Effect

  • Jumper Insertion

Jumper Insertion

– – Break the signal wires with antenna violations and

Break the signal wires with antenna violations and route them to the highest layer route them to the highest layer

– – Induce

Induce vias vias

  • Embedded Protection Diode

Embedded Protection Diode

– – Add a protection diode on every input port of a cell

Add a protection diode on every input port of a cell

– – May consume unnecessary areas

May consume unnecessary areas

  • Diode Insertion

Diode Insertion

– – Insert

Insert “ “under under-

  • the

the-

  • wire

wire” ” diodes to fix the violation diodes to fix the violation

– – Need extra silicon space to place the diodes

Need extra silicon space to place the diodes

slide-7
SLIDE 7

Jumper Insertion Jumper Insertion

  • Jumper insertion reduces the charge amount

Jumper insertion reduces the charge amount for violated nets during manufacturing for violated nets during manufacturing

– – Side effects

Side effects: : Delay and congestion Delay and congestion

a b

a b

Metal 1 Metal 2 Metal 3 Metal 1 Metal 2 Metal 3 Poly a b

a b

A two-pin net A two-pin net with jumper insertion Jumper

slide-8
SLIDE 8

Steiner Tree Steiner Tree

  • Steiner points are just wire junctions. They

Steiner points are just wire junctions. They cannot help discharge the wire. cannot help discharge the wire.

  • s

s is a Steiner point. is a Steiner point. The charges accumulated The charges accumulated

  • n edges
  • n edges e(u

e(u, s), , s), e(s e(s, v , v1

1), and

), and e(s e(s, v , v2

2)

) will all will all cause antenna effect on the gate terminal cause antenna effect on the gate terminal u u. .

u v1

s

v2

gate terminal gate terminal

slide-9
SLIDE 9

Routing Obstacles Routing Obstacles

  • Since a jumper routes a signal wire to the

Since a jumper routes a signal wire to the topmost layer, we must consider the routing topmost layer, we must consider the routing with with obstacles

  • bstacles in the

in the active layers active layers, e.g., pre , e.g., pre-

  • routed nets, power/ground nets, clock nets.

routed nets, power/ground nets, clock nets.

– – Active layers: the layers from the current routing

Active layers: the layers from the current routing layer up to the topmost layer layer up to the topmost layer

  • Need to avoid obstacles when adding jumpers

Need to avoid obstacles when adding jumpers

u1 u2 Obstacle Jumper

Invalid!

slide-10
SLIDE 10

Previous Work Previous Work

  • Ho, Chang & Chen, ISPD

Ho, Chang & Chen, ISPD-

  • 04

04

– – Bottom

Bottom-

  • up dynamic programming in

up dynamic programming in loglinear loglinear time time

– – Insert jumpers

Insert jumpers right beside right beside nodes of a nodes of a spanning spanning tree tree

  • Wu,

Wu, Hu Hu & & Mahapatra Mahapatra, ISPD , ISPD-

  • 05

05

– – Insert jumpers

Insert jumpers at arbitrary positions at arbitrary positions of edges of a

  • f edges of a

Steiner Steiner tree in linear time tree in linear time

– – Optimal

Optimal only for some special tree topologies

  • nly for some special tree topologies
  • Su and Chang, DAC

Su and Chang, DAC-

  • 05

05

– – Insert jumpers

Insert jumpers at arbitrary positions at arbitrary positions of edges of a

  • f edges of a

spanning spanning tree in tree in loglinear loglinear time time

– – Optimal for a

Optimal for a spanning spanning tree with arbitrary topologies tree with arbitrary topologies

slide-11
SLIDE 11

Previous Work Previous Work

Previous works are optimal only for restricted Previous works are optimal only for restricted cases & do not consider obstacles!! cases & do not consider obstacles!!

Yes Yes N N N N N N DAC DAC-

  • 05

05 Yes Yes N N N N Consider Consider

  • bstacles?
  • bstacles?

Yes Yes Yes Yes N N Allow Allow arbitrary arbitrary insertion insertion positions positions? ? Yes Yes Yes Yes N N Consider Consider Steiner Steiner trees? trees? Yes Yes N N N N Optimal Optimal for general for general routing tree? routing tree? This This work work ISPD ISPD-

  • 05

05 ISPD ISPD-

  • 04

04

slide-12
SLIDE 12
  • Introduction

Introduction to Antenna Effect to Antenna Effect

  • Problem Definition

Problem Definition

  • An Optimal Algorithm for Jumper Insertion

An Optimal Algorithm for Jumper Insertion

  • Complexity Analysis

Complexity Analysis

  • Experimental Results

Experimental Results

  • Conclusions

Conclusions

Outline Outline

slide-13
SLIDE 13

Problem Definition Problem Definition

  • Formulate the problem of jumper insertion on a

Formulate the problem of jumper insertion on a routing tree for antenna avoidance/fixing as a routing tree for antenna avoidance/fixing as a tree tree-

  • cutting problem

cutting problem

  • T =

T = ( (V VG

G∪

∪V VN

N , E

, E): a Steiner tree ): a Steiner tree

– – Set

Set V VG

G of nodes represents all

  • f nodes represents all gate terminals

gate terminals

– – Set

Set V VN

N of nodes represents other nodes

  • f nodes represents other nodes

– – Set

Set E E of edges denotes the

  • f edges denotes the wires

wires connecting the connecting the circuit terminals or junctions circuit terminals or junctions

  • D:

D: set of set of obstacles

  • bstacles in the active layers

in the active layers

  • Projection of the obstacles in

Projection of the obstacles in D D defines the defines the forbidden regions forbidden regions for jumper insertion for jumper insertion

  • F

F: : set of the forbidden regions. set of the forbidden regions.

– – f(u

f(u) = 1 ) = 1 if node if node u u is in a forbidden region is in a forbidden region (u (u∈ ∈ F); F); f(u f(u) = 0, ) = 0, otherwise

  • therwise
slide-14
SLIDE 14

Edge Weight Modeling Edge Weight Modeling

  • The

The edge weight edge weight in a Steiner tree models the in a Steiner tree models the strength of antenna effect caused by the strength of antenna effect caused by the corresponding wire. corresponding wire.

  • The edge weight can be

The edge weight can be

– – the

the length length of the wire

  • f the wire

– – the

the area area of the wire

  • f the wire

– – the

the perimeter perimeter of the wire

  • f the wire

– – the

the ratio ratio of antenna strength to gate size, or

  • f antenna strength to gate size, or

– – any other reasonable models.

any other reasonable models.

slide-15
SLIDE 15
  • Problem

Problem JIROA JIROA ( (J Jumper umper I Insertion nsertion on a

  • n a Routing

Routing tree with tree with O Obstacles for bstacles for A Antenna ntenna avoidance/fixing avoidance/fixing) )

  • Input:

Input: A routing tree A routing tree T T = ( = (V VG

G∪

∪V

VN

N, E

, E), an upper ), an upper bound bound Lmax Lmax, and a set , and a set D D of rectangular obstacles

  • f rectangular obstacles
  • Goal

Goal: : find the minimum set find the minimum set C C of cutting nodes

  • f cutting nodes
  • Constraint

Constraint: : c c ≠ ≠ u u for any for any c c ∈ ∈ C C and and u u ∈ ∈ V V, , f(c f(c) = 0, ) = 0, ∀ ∀c c ∈ ∈ C C, such that , such that L L( (u u) ) ≤ ≤ Lmax Lmax, , ∀ ∀u u ∈ ∈ V VG

G .

.

– – L

L( (u u): ): sum of effective edge sum of effective edge weights on node u weights on node u

– – Lmax

Lmax : : antenna upper bound antenna upper bound

Problem JIROA Problem JIROA

Routing tree T Lmax L(u) Cutting nodes u

slide-16
SLIDE 16
  • Introduction

Introduction to Antenna Effect to Antenna Effect

  • Problem Definition

Problem Definition

  • An Optimal Algorithm for Jumper Insertion

An Optimal Algorithm for Jumper Insertion

  • Complexity Analysis

Complexity Analysis

  • Experimental Results

Experimental Results

  • Conclusion

Conclusion

Outline Outline

slide-17
SLIDE 17

Definitions Definitions

  • A

A subleaf subleaf is a node for which all its children are is a node for which all its children are leaf nodes, and all the children have been leaf nodes, and all the children have been processed. processed.

  • Let

Let u, v u, v be two adjacent nodes with be two adjacent nodes with f(v f(v) = 1 ) = 1. . Then Then r(u r(u, v) , v) denotes the cutting node denotes the cutting node c c on edge

  • n edge

e = (u, v) e = (u, v) with with f(c f(c) = 0 ) = 0 and and l(u l(u, c) , c) (weight between (weight between nodes u and c) nodes u and c) being the being the maximum maximum among among every node on edge every node on edge e. e.

u v Obstacle c = r(u,v)

f f( (v v) = 1 ) = 1

slide-18
SLIDE 18

Algorithm BUJIO Algorithm BUJIO

  • Algorithm

Algorithm BUJIO BUJIO ( (B Bottom

  • ttom U

Up p J Jumper umper I Insertion nsertion with with O Obstacles) bstacles) for jumper insertion applies a for jumper insertion applies a bottom bottom-

  • up approach

up approach to insert cutting nodes on a to insert cutting nodes on a routing tree. routing tree.

– – Step 1: Sort the obstacles in

Step 1: Sort the obstacles in D D by the by the x x-

  • axes and

axes and then the then the y y-

  • axes

axes

– – Step 2: Compute the initial

Step 2: Compute the initial weight weight for every node for every node

– – Step 3: Makes every

Step 3: Makes every leaf node leaf node satisfy the antenna satisfy the antenna rule rule

– – Step 4: Make every

Step 4: Make every subleaf subleaf node node satisfy the satisfy the antenna rule, and then cut the corresponding leaf antenna rule, and then cut the corresponding leaf nodes to turn a nodes to turn a subleaf subleaf node into a new leaf node node into a new leaf node

slide-19
SLIDE 19

Algorithm BUJIO Algorithm BUJIO

  • Algorithm BUJIO (Bottom Up Jumper Insertion

Algorithm BUJIO (Bottom Up Jumper Insertion with Obstacles) for jumper insertion uses a with Obstacles) for jumper insertion uses a bottom bottom-

  • up approach to insert cutting nodes on a

up approach to insert cutting nodes on a routing tree. routing tree.

– – Step 1: Sort the obstacles in

Step 1: Sort the obstacles in D D by the by the x x-

  • axes and

axes and then the then the y y-

  • axes

axes

– – Step 2: Compute the weight of every node

Step 2: Compute the weight of every node

– – Step 3: Let every

Step 3: Let every leaf node leaf node satisfy the antenna rule satisfy the antenna rule

– – Step 4: Make every

Step 4: Make every subleaf subleaf node node satisfy the satisfy the antenna rule, and then cut the corresponding leaf antenna rule, and then cut the corresponding leaf nodes to turn a nodes to turn a subleaf subleaf node into a new leaf node node into a new leaf node

Iteratively apply Steps 3 & 4 until Iteratively apply Steps 3 & 4 until all gate terminals satisfy the antenna rule all gate terminals satisfy the antenna rule

slide-20
SLIDE 20

u1 u3 u2 Obstacle d1 d2 d3

Steps 1 and 2: I nitialization Steps 1 and 2: I nitialization

  • Step 1: Sort the obstacles in

Step 1: Sort the obstacles in D D by the by the x x-

  • axes

axes and and then the then the y y-

  • axes

axes

– – Determine

Determine f(u f(u) ) for some node u in for some node u in O( O(lg lg D) D) time time

  • Step 2: Compute the initial

Step 2: Compute the initial weight weight of every node

  • f every node

– – w(u

w(u) ): accumulated edge weights on node : accumulated edge weights on node u u

u w(u) = l(u,d1) + l(u,d2) + l(u,d3)

slide-21
SLIDE 21

Step 3: Leaf Node Processing Step 3: Leaf Node Processing

  • Step 3: Make every

Step 3: Make every leaf node leaf node which is a gate which is a gate terminal satisfy the antenna rule terminal satisfy the antenna rule

Tree node Cutting node

Lmax - w(u)

p(u) u l (u, p(u)) + w(u) > Lmax f(c) = 0 Lmax: upper bound on antenna C : cutting set p(u) : parent of u l(e), l(u,v) : weight of the edge e = (u,v) Cut c l (u, p(u)) + w(u) > Lmax f(c) = 1 p(u) u Cut c Cut c1 = r(u,c)

slide-22
SLIDE 22
  • Step 4: Make every

Step 4: Make every subleaf subleaf node node satisfy antenna rule satisfy antenna rule

  • totallen(

totallen(up)

): total weights of the edges

: total weights of the edges between the node between the node up and its children and its children

  • Classify the

Classify the subleaf subleaf nodes according to nodes according to totallen totallen

– – Case 1: u

Case 1: up

p and all its children are not gate terminals

and all its children are not gate terminals

– – Case 2:

Case 2: totallen( totallen(up) ) + + w(u w(up

p)

) ≤ ≤ L Lmax

max

– – Case 3:

Case 3: totallen( totallen(up) ) + + w(u w(up

p)

) > > L Lmax

max

Step 4: Subleaf Node Processing Step 4: Subleaf Node Processing

totallen( totallen(up) ) = ∑i=1 l(ui , up) + w(ui)

k

up : a subleaf node ui : subleaf’s children, ∀1 ≤ i ≤ k

up u1 u2

slide-23
SLIDE 23

u1 u2

Case 1: up and All Its Children Are in VN Case 1: up and All Its Children Are in VN

  • u

up

p and all its children are

and all its children are not gate terminals not gate terminals, so , so no antenna violation occurs. no antenna violation occurs.

– – w(u

w(up

p)

) ← ← w(u w(up

p) +

) + totallen( totallen(up) )

– – Cut off

Cut off u up

p’

’s children to turn s children to turn u up

p into a

into a leaf node leaf node

up

w(u w(up

p)

)← ← w(u w(up

p) +

) + totallen( totallen(up) ) Steiner point Steiner point

slide-24
SLIDE 24

u1 u2

  • bstacle

Case 2: totallen(up) + w(up) ≤ Lmax Case 2: totallen(up) + w(up) ≤ Lmax

  • If u

If up

p has a parent

has a parent

– – If

If totallen( totallen(up) ) + + w(u w(up

p) +

) + l(u l(up

p,

, p(u p(up

p))

)) ≤ ≤ L Lmax

max

  • If

If u up

p∈

∈ V VN,

N, assign

assign w(u w(up

p)

) ← ← w(u w(up

p) +

) + totallen( totallen(up) )

  • Cut

Cut u up

p’

’s children from the tree, make s children from the tree, make u up

p a leaf node

a leaf node

– – Else insert the cutting node to make

Else insert the cutting node to make totallen( totallen(up) ) + + w(u w(up

p)+

)+ l(u l(up

p, c)

, c) = = L Lmax

max

  • If

If f(c f(c) = ) = 1 1, use , use c c1

1=

= r(u r(up

p,c

,c) ) to replace to replace c c

  • Reduce the tree to make

Reduce the tree to make c c or

  • r c

c1

1 a leaf node

a leaf node

Tree node Cutting node

p(up) up

w(u w(up

p)

) ← ← w(u w(up

p) +

) + totallen( totallen(up) )

p(up) u1 u2 up

totallen( totallen(up) ) +

+ w(u w(up

p) +

) + l(u l(up

p, c)

, c) = = L Lmax

max

c c1 = r(up,c)

slide-25
SLIDE 25

Case 3: totallen(up) + w(up) > Lmax Case 3: totallen(up) + w(up) > Lmax

  • Case 3:

Case 3: totallen( totallen(up) ) + + w(u w(up

p)

) > > L Lmax

max

– – Step 1:

Step 1: S = S =∪

∪i=1

i=1{l(e(u

{l(e(ui

i,u

,up

p)) +

)) + w(u w(ui

i)}

)}

– – Step 2: Find

Step 2: Find S = S = S Sl

l∪

∪S Sh

h,

, S

Sl

l∩

∩S Sh

h=

=φ φ, such that , such that

  • For any

For any a a∈

∈S Sl

l and b

and b ∈ ∈S Sh

h, a

, a ≤

≤ b b

s s ≤

≤ L Lmax

max-

  • w(u

w(up

p)

)

  • For any

For any b

b ∈ ∈S Sh

h,

, ∑ s + b > s + b > L

Lmax

max-

  • w(u

w(up

p)

)

– – Step 3: Add cutting nodes

Step 3: Add cutting nodes c c1

1,

, … …, , c cSh

Sh on every

  • n every s

s ∈

∈S Sh

h

– – Step 4: Use

Step 4: Use Case 2 Case 2 to cut u to cut up

p into a leaf node

into a leaf node

Tree node for Sl Tree node for Sh up

s s ∈ ∈

S S

l l

C1, C2, … CSh k

s s ∈ ∈

S S

l l

Cutting node

u u1

1, u

, u2

2, ..,

, .., u uk

k

slide-26
SLIDE 26

An Example An Example

u u1

1

u u2

2

u u3

3

u u4

4

u u5

5

u u6

6

u u7

7

u u8

8

s s1

1

s s2

2

  • 1

1

  • 2

2

  • 3

3

slide-27
SLIDE 27

An Example An Example

u u1

1

u u2

2

u u3

3

u u4

4

u u5

5

u u6

6

u u7

7

u u8

8

s s1

1

s s2

2

  • 1

1

  • 3

3

w(u w(u5

5) = 5

) = 5

slide-28
SLIDE 28

An Example An Example

u u1

1

u u2

2

u u3

3

u u4

4

u u5

5

u u6

6

u u7

7

u u8

8

s s1

1

s s2

2

  • 1

1

  • 3

3

6 6 15 15 7 7 7 7 5 5 6 6 7 7 13 13 6 6

Lmax Lmax = 10 = 10

slide-29
SLIDE 29

An Example An Example

u u1

1

u u2

2

u u3

3

u u4

4

u u5

5

u u6

6

u u7

7

u u8

8

s s1

1

s s2

2

  • 1

1

  • 3

3

6 6 15 15 7 7 7 7 5 5 6 6 7 7 13 13 6 6 3 3 10 10 5 5 10 10 2 2 13 13 c c3

3

c c c c2

2

w(u w(u5

5)=5

)=5 c c1

1

5 5 2 2

Lmax Lmax = 10 = 10

slide-30
SLIDE 30

An Example An Example

u u1

1

u u2

2

u u5

5

u u6

6

u u8

8

s s1

1

s s2

2

  • 1

1

  • 4

4

6 6 7 7 5 5 6 6 7 7 6 6 3 3 13 13 c c3

3

c c2

2

c c4

4

1 1 5 5 c c1

1

2 2

Lmax Lmax = 10 = 10

slide-31
SLIDE 31

An Example An Example

u u1

1

u u2

2

u u5

5

u u6

6

s s1

1

  • 1

1

  • 4

4

6 6 7 7 5 5 7 7 13 13 c c2

2

c c4

4

5 5 c c5

5

c c6

6

Lmax Lmax = 10 = 10

slide-32
SLIDE 32

An Example An Example

u u1

1

u u2

2

  • 1

1

6 6 7 7 13 13 c c2

2

c c6

6

c c7

7 c

c8

8

Lmax Lmax = 10 = 10

slide-33
SLIDE 33

An Example An Example

u u1

1

u u2

2

u u3

3

u u4

4

u u5

5

u u6

6

u u7

7

u u8

8

s s1

1

s s2

2

  • 1

1

  • 3

3

6 6 15 15 7 7 7 7 5 5 6 6 7 7 13 13 6 6 c c1

1

c c2

2

c c3

3

c c4

4

c c5

5

c c6

6

c c8

8

c c7

7

Totally we insert Totally we insert 8 jumpers 8 jumpers

  • n this
  • n this

Steiner Steiner tree! tree!

slide-34
SLIDE 34
  • Introduction

Introduction to Antenna Effect to Antenna Effect

  • Problem Definition

Problem Definition

  • An Optimal Algorithm for Jumper Insertion

An Optimal Algorithm for Jumper Insertion

  • Complexity Analysis

Complexity Analysis

  • Experimental Results

Experimental Results

  • Conclusions

Conclusions

Outline Outline

slide-35
SLIDE 35
  • The tree

The tree-

  • cutting problem JIROA exhibits the

cutting problem JIROA exhibits the properties of optimal substructures and properties of optimal substructures and greedy choices. greedy choices.

  • Algorithm BUJIO optimally solves the JIROA

Algorithm BUJIO optimally solves the JIROA problem in O((V + D) problem in O((V + D) lg lg D) time using O(V) D) time using O(V) space space

– – V: # of tree nodes

V: # of tree nodes

– – D: # of obstacles

D: # of obstacles

Time & Space Complexity Time & Space Complexity

slide-36
SLIDE 36
  • Introduction

Introduction to Antenna Effect to Antenna Effect

  • Problem Definition

Problem Definition

  • An Optimal Algorithm for Jumper Insertion

An Optimal Algorithm for Jumper Insertion

  • Complexity Analysis

Complexity Analysis

  • Experimental Results

Experimental Results

  • Conclusions

Conclusions

Outline Outline

slide-37
SLIDE 37

Experimental Settings Experimental Settings

Implemented BUJIO in C++ on a 2.4 GHz Intel

Pentium PC with 256 MB memory in Windows XP

  • Generated gate terminals on

Generated gate terminals on 1 cm x 1 cm planes with a number of nodes and obstacles

Compared with ISPD-04, ISPD-05, DAC-05 works,

extending their works to handle obstacles using the same obstacle processing in this paper

Our BUJIO and the ISPD-05 algorithms work on

Steiner trees while the ISPD-04 and DAC-05 ones

  • n spanning trees.
slide-38
SLIDE 38

Experiment #1: #Jumpers for Random Cases Experiment #1: #Jumpers for Random Cases

+0.2% +0.2% +0.2% +0.3% +0.5% +0.5% +0.4% +0.5% +0.3% %More 435 518 601 708 827 966 1149 1348 1537 #J ISPD-05 562 649 779 919 1050 1210 1378 1607 1806 #J DAC-05 +29.5% +25.5% +30.0% +30.2% +27.6% +26.0% +20.5% +19.8% +17.8% %More +48.6% 645 434 300 +48.4% 767 517 290 +55.0% 928 599 280 +57.1% 1109 706 270 +55.4% 1279 823 260 +56.2% 1501 961 250 +52.3% 1742 1144 240 +50.6% 2020 1341 230 +53.9% 2359 1533 220 %More #J #J ISPD-04 BUJIO Lmax (um)

Random cases (10,000 nodes, 500 obstacles) Quality rating: BUJIO > ISPD-05 > DAC-05 > ISPD-04 Runtimes are about the same for all methods (0.15 sec)

+0.3% +0.3% +52% +52% +25% +25%

slide-39
SLIDE 39

Experiment #2: #Jumpers for Synthetic Cases Experiment #2: #Jumpers for Synthetic Cases

+26.0% +26.8% +27.1% +27.0% +27.3% +27.4% +27.6% +27.8% +27.6% %More 4541 4637 4738 4844 4951 5061 5174 5311 5455 #J ISPD-05 3728 3809 3895 3983 4076 4187 4305 4421 4557 #J DAC-05 +3.4% +4.2% +4.5% +4.4% +4.8% +5.4% +6.1% +6.4% +6.6% %Mor e +33.0% 4796 3605 300 +34.4% 4915 3657 290 +34.9% 5028 3728 280 +35.2% 5157 3814 270 +36.3% 5299 3889 260 +37.3% 5455 3972 250 +38.2% 5604 4056 240 +38.6% 5762 4157 230 +39.1% 5943 4272 220 %More #J #J ISPD-04 BUJIO Lmax (um)

Synthetic cases: make gate terminals adjacent to each other

Quality rating: BUJIO > DAC-05 > ISPD-05 > ISPD-04

+27% +27% +36% +36% +5% +5%

slide-40
SLIDE 40

Resulting Layout Resulting Layout

1000 nodes, 500 obstacles, 426 jumpers, Lmax = 500 um

X

Tree node Tree node Steiner point Steiner point Obstacle Obstacle Jumper Jumper

slide-41
SLIDE 41
  • Introduction

Introduction to Antenna Effect to Antenna Effect

  • Problem Definition

Problem Definition

  • An Optimal Algorithm for Jumper Insertion

An Optimal Algorithm for Jumper Insertion

  • Complexity Analysis

Complexity Analysis

  • Experimental Results

Experimental Results

  • Conclusions

Conclusions

Outline Outline

slide-42
SLIDE 42

Conclusions Conclusions

  • We have presented

We have presented the first the first optimal

  • ptimal algorithm to

algorithm to solve the JIROA problem in solve the JIROA problem in O((V+D) O((V+D) lg lg D) D) time time and and O(V) O(V) space space, where V is the number of , where V is the number of vertices and D is the number of obstacles. vertices and D is the number of obstacles.

  • Experimental results have shown that our

Experimental results have shown that our algorithm leads to more robust and much better algorithm leads to more robust and much better solutions than the previous works. solutions than the previous works.

  • Our work can be applied to any routing trees,

Our work can be applied to any routing trees, and thus readily be incorporated into a router and thus readily be incorporated into a router for antenna avoidance or a post for antenna avoidance or a post-

  • layout optimizer

layout optimizer for antenna fixing. for antenna fixing.

slide-43
SLIDE 43

Thank You!!

slide-44
SLIDE 44
slide-45
SLIDE 45
slide-46
SLIDE 46

Obstacle Example Obstacle Example

Metal 1 Metal 1 Layer Layer Metal 2 Metal 2 Layer Layer

Gate terminal Gate terminal Nets Nets Nets Nets Jumper Jumper

Antenna violation occurs! Antenna violation occurs! Jumper Inserted Jumper Inserted Collision! Cannot insert a jumper here! Collision! Cannot insert a jumper here! No collision occurs. No collision occurs. We can insert a jumper here. We can insert a jumper here.