Creating and Exploiting Flexibility in Steiner Trees Elaheh Bozorgzadeh, Ryan Kastner, Majid Sarrafzadeh Embedded and Reconfigurable System Design (ER LAB) Computer Science Department UCLA 38th Design Automation Conference,

Download Report

Transcript Creating and Exploiting Flexibility in Steiner Trees Elaheh Bozorgzadeh, Ryan Kastner, Majid Sarrafzadeh Embedded and Reconfigurable System Design (ER LAB) Computer Science Department UCLA 38th Design Automation Conference,

Creating and Exploiting
Flexibility
in
Steiner Trees
Elaheh Bozorgzadeh, Ryan Kastner, Majid Sarrafzadeh
Embedded and Reconfigurable System Design (ER LAB)
Computer Science Department
UCLA
38th Design Automation Conference, Las Vegas, June 19, 2001
ER
UCLA
Outline






Introduction
Definition and Preliminaries
Flexibility in Rectilinear Steiner Tree
Our Approach to Create and Exploit Flexibility
Experimental Results
Conclusion and Future Work
38th Design Automation Conference, Las Vegas, June 19, 2001
Global Routing


Routability
 Important factor in global routing solution
 Satisfied if detailed router is able to find feasible solution from
global router.
 Depends on highly constrained regions in global routing
solution like congested regions.
Delay
 Wire delay is becoming increasingly important
 Only 10 % of the nets are timing critical.
Routability can be emphasized more when routing
non-critical nets.
38th Design Automation Conference, Las Vegas, June 19, 2001
Flexibility under Routing

Flexibility:
 Geometrical property of RST
 Related to routability of steiner tree

Flexible Edge
Steiner Node
 Non-horizontal/vertical edge route
 Has more than one shortest path
 Exploited as soft edge in the routing algorithm proposed
by Hu and Sepatnekar (ICCAD2000)
38th Design Automation Conference, Las Vegas, June 19, 2001
Flexible edges
Pattern Routing and Flexibility

Pattern routing the flexible edges


More than one patterns defined
More ability to maneuver the congested region
Congested Area
38th Design Automation Conference, Las Vegas, June 19, 2001
Flexibility under Routing

Two given RSTs with same topology
Non-flexible RST

Flexible RST
Study impact of flexibility in congestion
38th Design Automation Conference, Las Vegas, June 19, 2001
Flexibility under Routing

Two given RSTs with same topology
Non-flexible RST

Flexible RST
Study impact of flexibility in congestion
38th Design Automation Conference, Las Vegas, June 19, 2001
Flexibility Function

Flexibility of an edge
w
l

Two possible functions
f1  w  l
f2  w  l
Flexibility of an edge increases if w or l increases.
38th Design Automation Conference, Las Vegas, June 19, 2001
Rectilinear Steiner Tree Constraints

Given RST is stable (introduced by Ho, et.al DAC 89)
stable

unstable
Topology of RST remains unchanged
Two RSTs with same topology
38th Design Automation Conference, Las Vegas, June 19, 2001
Generating Flexibility in RST
Problem Formulation:



Given a stable Rectilinear Steiner Tree,
Maximize the flexibility of the RST
Subject to:
 Topology remains unchanged (and thus if we do minlength edge connection, total length remains unchanged)
 No initial flexible edge is degraded in flexibility.
38th Design Automation Conference, Las Vegas, June 19, 2001
Flexible Edges

Flexible edges can be generated by moving the
movable edges in RST.
Movable Edge:
 Steiner-to-steiner edge.
 Edge degree of each steiner
point is 3.
 parallel edges exists at
both ends.
 Flexible candidate exists at
least at one end.
flexible candidate
38th Design Automation Conference, Las Vegas, June 19, 2001
parallel edges
movable edge
Flexible Edges

Flexible edges can be generated by moving the
movable edges in RST.
Movable Edge:
 Steiner-to-steiner edge.
 Edge degree of each steiner
point is 3.
 parallel edges exists at
both ends.
 Flexible candidate exists at
least at one end.
flexible candidate
38th Design Automation Conference, Las Vegas, June 19, 2001
parallel edges
movable edge
Pseudo code


Input: Edge Set of an RST S
Output: RST R
Algorithm: Generate Flexible Tree
 Begin

For Each edge e

If e and its adjacent edges are a movable set



For each movable set M

If M has no overlap



Create Movable Set
Check Overlap
Move edge M
Move Overlapped edges
End
38th Design Automation Conference, Las Vegas, June 19, 2001
Example of Flexible RST Construction
38th Design Automation Conference, Las Vegas, June 19, 2001
Example of Flexible RST Construction
38th Design Automation Conference, Las Vegas, June 19, 2001
Example of Flexible RST Construction
38th Design Automation Conference, Las Vegas, June 19, 2001
Complexity of Our Algorithm

Algorithm GenerateFlexibleTree generates the most flexible RST
from a given stable RST under the constraints of wirelength and
topology and stability remaining unchanged.

Our method solves the problem optimally.

If a linear flexibility function is used, the time complexity of the
algorithm is O(E).

If quadratic flexibility function is used, the time complexity of the
algorithm is O(E+2k)(pseudo-polynomial), where E is the edges in
RST and k in the number of overlapping movable set pairs (k is
normally small).
38th Design Automation Conference, Las Vegas, June 19, 2001
Preliminary Experiments
Preliminary Experiments to show relationship between
routability and flexibility (many other flows are possible)

Maze route the nets other than nets in C
C = 4 terminal Nets
Route nets in C in nonflexible pattern
Compare Congestion!
Route nets in C in flexible pattern
Pattern-route flexible edges
(L-shape, Z-shape)
38th Design Automation Conference, Las Vegas, June 19, 2001
Experiments
circuit
Number of Nets Length of route in C
avqlarge
18
151
avqsmall
4
26
avqsmall.2
14
127
biomed
5
170
biomed.2
8
318
ibm01.1
24
259
ibm01.2
66
1519
ibm05.1
4
94
ibm05.2
16
485
ibm10.1
99
2437
ibm10.2
221
10707
primary1
4
45
primary2
21
652
MCNC standard cell
Benchmarks and ISPD98
benchmark

Circuits placed by placer
DRAGON

Total _ demand
Total _ overflow
circuit
avqlarge
avqsmall
avqsmall.2
biomed
biomed.2
ibm01.1
ibm01.2
ibm05.1
ibm05.2
ibm10.1
ibm10.2
primary1
primary2
Average
 Num _ nets(e)
eroute (C )
 (demand(e)  capacity(e))
eroute (C )
Overflow Improvement
74%
8%
23%
3%
22%
19%
20%
8%
5%
12%
24%
26%
19%
20%
38th Design Automation Conference, Las Vegas, June 19, 2001
Demand Improvement
15.2%
5.5%
7.4%
2.8%
1.6%
4.8%
4.7%
3.4%
1.7%
3.0%
5.1%
4.2%
5%
4.49%
Conclusions and Future Work

Introduced flexibility , a geometrical property of Steiner trees related
to routability.

Proposed an algorithm to generate optimally a flexible RST from
given stable RST, which can be applied in early stages to assign
the location of Steiner points in order to deal with congestion better.

Preliminary experimental results show that flexible Steiner tree
cause less congestion on routing resources

Developing constructive Steiner tree algorithms which generate and
exploit the flexibility in routing is a suggested future work.
38th Design Automation Conference, Las Vegas, June 19, 2001
Introduction

Global Routing
 Finding approximate path (route)
for each net
 Generating steiner tree for each
net


Steiner tree construction with
minimum cost is NP-hard.
Objectives
 Minimizing wirelength
Like Maze router and extended
versions


Minimizing the required number of
vias
Route edge
Minimizing delay
Buffer insertion, wiresizing

Minimizing Congestion
 Our cost: Total excess demand
38 Design
Conference, Las Vegas, June 19, 2001
of routing edges
inAutomation
grid graph
th