38 th design automation conference, las vegas, june 19, 2001 creating and exploiting flexibility in...

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

Post on 19-Dec-2015

217 views

Category:

Documents


2 download

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