Title: Creating and Exploiting Flexibility in Steiner Trees
1Creating and Exploiting Flexibility in Steiner
Trees
- Elaheh Bozorgzadeh, Ryan Kastner, Majid
Sarrafzadeh - Embedded and Reconfigurable System Design (ER
LAB) - Computer Science Department
- UCLA
2Outline
- Introduction
- Definition and Preliminaries
- Flexibility in Rectilinear Steiner Tree
- Our Approach to Create and Exploit Flexibility
- Experimental Results
- Conclusion and Future Work
3 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.
4Flexibility under Routing
- Flexibility
- Geometrical property of RST
- Related to routability of steiner tree
- Flexible Edge
- 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)
Flexible edges
Steiner Node
5Pattern Routing and Flexibility
- Pattern routing the flexible edges
- More than one patterns defined
- More ability to maneuver the congested region
Congested Area
6Flexibility under Routing
- Two given RSTs with same topology
- Study impact of flexibility in congestion
Flexible RST
Non-flexible RST
7Flexibility under Routing
- Two given RSTs with same topology
- Study impact of flexibility in congestion
Flexible RST
Non-flexible RST
8Flexibility Function
- Flexibility of an edge Two
possible functions - Flexibility of an edge increases if w or l
increases.
w
l
9Rectilinear Steiner Tree Constraints
- Given RST is stable (introduced by Ho, et.al DAC
89) - Topology of RST remains unchanged
stable
unstable
Two RSTs with same topology
10Generating 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 min-length edge connection, total length
remains unchanged) - ? No initial flexible edge is degraded in
flexibility.
11Flexible Edges
- Flexible edges can be generated by moving
themovable 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.
parallel edges
flexible candidate
movable edge
12Flexible Edges
- Flexible edges can be generated by moving
themovable 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.
parallel edges
flexible candidate
movable edge
13Pseudo 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
- Create Movable Set
- Check Overlap
- For each movable set M
- If M has no overlap
- Move edge M
- Move Overlapped edges
- End
14Example of Flexible RST Construction
15Example of Flexible RST Construction
16Example of Flexible RST Construction
17Complexity 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(E2k)(pseudo-polynomial), where E is the edges
in RST and k in the number of overlapping movable
set pairs (k is normally small).
18Preliminary 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
Route nets in C in flexible pattern
Compare Congestion!
Pattern-route flexible edges (L-shape, Z-shape)
19Experiments
- MCNC standard cell Benchmarks and ISPD98
benchmark - Circuits placed by placer DRAGON
20Conclusions 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.
21Introduction
- 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
- Minimizing delay
- ?Buffer insertion, wiresizing
- Minimizing Congestion
- Our cost Total excess demand of routing edges in
grid graph
Route edge