38 th design automation conference, las vegas, june 19, 2001 creating and exploiting flexibility in...
Post on 19-Dec-2015
217 views
TRANSCRIPT
38th Design Automation Conference, Las Vegas, June 19, 2001
Creating and Exploiting Creating and Exploiting Flexibility Flexibility
in in Steiner TreesSteiner Trees
Elaheh Bozorgzadeh, Ryan Kastner, Majid SarrafzadehElaheh Bozorgzadeh, Ryan Kastner, Majid Sarrafzadeh
Embedded and Reconfigurable System Design (ER LAB)Embedded and Reconfigurable System Design (ER LAB)
Computer Science DepartmentComputer Science Department
UCLAUCLA
ERER UCLAUCLA
38th Design Automation Conference, Las Vegas, June 19, 2001
OutlineOutlineOutlineOutline
Introduction Definition and Preliminaries Flexibility in Rectilinear Steiner Tree Our Approach to Create and Exploit Flexibility Experimental Results Conclusion and Future Work
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 RoutingGlobal Routing Global RoutingGlobal 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 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.Routability can be emphasized more when routing non-critical nets.
38th Design Automation Conference, Las Vegas, June 19, 2001
Flexibility under RoutingFlexibility under RoutingFlexibility under RoutingFlexibility 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)
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 edgesFlexible edges
Steiner NodeSteiner Node
38th Design Automation Conference, Las Vegas, June 19, 2001
Pattern Routing and FlexibilityPattern Routing and FlexibilityPattern Routing and FlexibilityPattern Routing and Flexibility
Pattern routing the flexible edges More than one patterns defined More ability to maneuver the congested region
Pattern routing the flexible edges More than one patterns defined More ability to maneuver the congested region
Congested AreaCongested Area
38th Design Automation Conference, Las Vegas, June 19, 2001
Flexibility under RoutingFlexibility under RoutingFlexibility under RoutingFlexibility under Routing
Two given RSTs with same topology
Study impact of flexibility in congestion
Two given RSTs with same topology
Study impact of flexibility in congestion
Non-flexible RSTNon-flexible RST Flexible RSTFlexible RST
38th Design Automation Conference, Las Vegas, June 19, 2001
Flexibility under RoutingFlexibility under RoutingFlexibility under RoutingFlexibility under Routing
Two given RSTs with same topology
Study impact of flexibility in congestion
Two given RSTs with same topology
Study impact of flexibility in congestion
Non-flexible RSTNon-flexible RST Flexible RSTFlexible RST
38th Design Automation Conference, Las Vegas, June 19, 2001
Flexibility FunctionFlexibility FunctionFlexibility FunctionFlexibility Function
Flexibility of an edge Two possible functions
Flexibility of an edge increases if w or l increases.
Flexibility of an edge Two possible functions
Flexibility of an edge increases if w or l increases.
lwf
lwf
2
1
lwf
lwf
2
1w
l
38th Design Automation Conference, Las Vegas, June 19, 2001
Rectilinear Steiner Tree ConstraintsRectilinear Steiner Tree ConstraintsRectilinear Steiner Tree ConstraintsRectilinear Steiner Tree Constraints
Given RST is stable (introduced by Ho, et.al DAC 89)Given RST is stable (introduced by Ho, et.al DAC 89)
Topology of RST remains unchangedTopology of RST remains unchanged
Given RST is stable (introduced by Ho, et.al DAC 89)Given RST is stable (introduced by Ho, et.al DAC 89)
Topology of RST remains unchangedTopology of RST remains unchanged
unstableunstablestablestable
Two RSTs with same topologyTwo RSTs with same topology
38th Design Automation Conference, Las Vegas, June 19, 2001
Generating Flexibility in RSTGenerating Flexibility in RSTGenerating Flexibility in RSTGenerating Flexibility in RST
Problem Formulation: Problem Formulation: Given a stable Rectilinear Steiner Tree,Given a stable Rectilinear Steiner Tree, Maximize the flexibility of the RST Maximize the flexibility of the RST Subject to:Subject to:
Topology remains unchanged (and thus if we do min-Topology remains unchanged (and thus if we do min-length edge connection, length edge connection, total length remains unchangedtotal length remains unchanged)) No initial flexible edge is degraded in flexibility.No initial flexible edge is degraded in flexibility.
38th Design Automation Conference, Las Vegas, June 19, 2001
Flexible EdgesFlexible EdgesFlexible EdgesFlexible 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.
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.
movable edgemovable edge
parallel edgesparallel edges
flexible candidateflexible candidate
38th Design Automation Conference, Las Vegas, June 19, 2001
Flexible EdgesFlexible EdgesFlexible EdgesFlexible 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.
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.
movable edgemovable edge
parallel edgesparallel edges
flexible candidateflexible candidate
38th Design Automation Conference, Las Vegas, June 19, 2001
Pseudo codePseudo codePseudo codePseudo 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
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
38th Design Automation Conference, Las Vegas, June 19, 2001
Example of Flexible RST ConstructionExample of Flexible RST ConstructionExample of Flexible RST ConstructionExample of Flexible RST Construction
38th Design Automation Conference, Las Vegas, June 19, 2001
Example of Flexible RST ConstructionExample of Flexible RST ConstructionExample of Flexible RST ConstructionExample of Flexible RST Construction
38th Design Automation Conference, Las Vegas, June 19, 2001
Example of Flexible RST ConstructionExample of Flexible RST ConstructionExample of Flexible RST ConstructionExample of Flexible RST Construction
38th Design Automation Conference, Las Vegas, June 19, 2001
Complexity of Our AlgorithmComplexity of Our AlgorithmComplexity of Our AlgorithmComplexity 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).
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 ExperimentsPreliminary ExperimentsPreliminary ExperimentsPreliminary Experiments
Route nets in C in nonflexible patternRoute nets in C in nonflexible patternRoute nets in C in nonflexible patternRoute nets in C in nonflexible pattern Route nets in C in flexible patternRoute nets in C in flexible patternRoute nets in C in flexible patternRoute nets in C in flexible pattern
Maze route the nets other than nets in CMaze route the nets other than nets in C C = 4 terminal Nets
Maze route the nets other than nets in CMaze route the nets other than nets in C C = 4 terminal Nets
Pattern-route flexible edgesPattern-route flexible edges
(L-shape, Z-shape)(L-shape, Z-shape)
Pattern-route flexible edgesPattern-route flexible edges
(L-shape, Z-shape)(L-shape, Z-shape)Compare Congestion!Compare Congestion!
Preliminary Experiments to show relationship between routability and flexibility (many other flows are possible)
Preliminary Experiments to show relationship between routability and flexibility (many other flows are possible)
38th Design Automation Conference, Las Vegas, June 19, 2001
ExperimentsExperimentsExperimentsExperiments
circuit Number of Nets Length of route in C
avqlarge 18 151avqsmall 4 26
avqsmall.2 14 127biomed 5 170
biomed.2 8 318ibm01.1 24 259ibm01.2 66 1519ibm05.1 4 94ibm05.2 16 485ibm10.1 99 2437ibm10.2 221 10707
primary1 4 45primary2 21 652
circuit Overflow Improvement Demand Improvement
avqlarge 74% 15.2%avqsmall 8% 5.5%
avqsmall.2 23% 7.4%biomed 3% 2.8%
biomed.2 22% 1.6%ibm01.1 19% 4.8%ibm01.2 20% 4.7%ibm05.1 8% 3.4%ibm05.2 5% 1.7%ibm10.1 12% 3.0%ibm10.2 24% 5.1%
primary1 26% 4.2%primary2 19% 5%
Average 20% 4.49%
))()((_)(
Croutee
ecapacityedemandoverflowTotal
)(
)(__Croutee
enetsNumdemandTotal
MCNC standard cell Benchmarks and ISPD98 benchmark
Circuits placed by placer DRAGON
MCNC standard cell Benchmarks and ISPD98 benchmark
Circuits placed by placer DRAGON
38th Design Automation Conference, Las Vegas, June 19, 2001
Conclusions and Future WorkConclusions and Future WorkConclusions and Future WorkConclusions 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.
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
IntroductionIntroductionIntroductionIntroduction
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 wirelengthLike 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
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 wirelengthLike 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 edgeRoute edge