predictable routing
DESCRIPTION
Predictable Routing. Ryan Kastner, Elaheh Borzorgzadeh, and Majid Sarrafzadeh. ER Group Dept. of Computer Science UCLA Los Angeles, CA. NuCAD Group Dept. of Electrical & Computer Engineering Northwestern University Evanston, IL. Outline. Pattern Routing Predictable Routing Experiments - PowerPoint PPT PresentationTRANSCRIPT
ERER UCLAUCLA
ICCAD: November 5, 2000
Predictable RoutingPredictable RoutingPredictable RoutingPredictable Routing
Ryan Kastner, Elaheh Borzorgzadeh, and Majid Sarrafzadeh
Ryan Kastner, Elaheh Borzorgzadeh, and Majid Sarrafzadeh
ER Group
Dept. of Computer Science
UCLA
Los Angeles, CA
ER Group
Dept. of Computer Science
UCLA
Los Angeles, CA
NuCAD Group
Dept. of Electrical & Computer Engineering
Northwestern University
Evanston, IL
NuCAD Group
Dept. of Electrical & Computer Engineering
Northwestern University
Evanston, IL
ERER UCLAUCLA
ICCAD: November 5, 2000
OutlineOutlineOutlineOutline
Pattern Routing Predictable Routing Experiments
Smallest First Pattern Routing x-density Pattern Routing Wire length and Run time
Conclusion
Pattern Routing Predictable Routing Experiments
Smallest First Pattern Routing x-density Pattern Routing Wire length and Run time
Conclusion
ERER UCLAUCLA
ICCAD: November 5, 2000
Pattern routingPattern routingPattern routingPattern routing
Use simple patterns to connect the terminals of a net Simplest pattern is single bend routing
Given a two-terminal net, single bend routes are the two distinct 1-bend routes
Sometimes called L-shaped routing
Use simple patterns to connect the terminals of a net Simplest pattern is single bend routing
Given a two-terminal net, single bend routes are the two distinct 1-bend routes
Sometimes called L-shaped routing
Upper-L RoutesLower-L Routes
There are many other types of patterns
We focus exclusively on L-shaped patternsWe focus exclusively on L-shaped patterns
There are many other types of patterns
We focus exclusively on L-shaped patternsWe focus exclusively on L-shaped patterns
ERER UCLAUCLA
ICCAD: November 5, 2000
Maze Routing O(|E|) = all edges in Grid Graph = 275 bin edges Maze Routing O(|E|) = all edges in Grid Graph = 275 bin edges Pattern Routing O(|A|) = edges on the bounding box = 20 bin edges Pattern Routing O(|A|) = edges on the bounding box = 20 bin edges
Why use patterns?Why use patterns?Why use patterns?Why use patterns?
Faster routing Number of bin edges searched
Faster routing Number of bin edges searched
ERER UCLAUCLA
ICCAD: November 5, 2000
Why use patterns?Why use patterns?Why use patterns?Why use patterns?
Small wire delay The route has minimum wire length Only one via introduced
Minimal interconnect resistance and capacitance Fewer number vias fewer detailed routing constraints
Small wire delay The route has minimum wire length Only one via introduced
Minimal interconnect resistance and capacitance Fewer number vias fewer detailed routing constraints
One viaOne viaMinimum lengthMinimum length
Downside – may degrade quality of routing solution Maze routing will consider every possible path L-shape routing considers 2 paths
Downside – may degrade quality of routing solution Maze routing will consider every possible path L-shape routing considers 2 paths
ERER UCLAUCLA
ICCAD: November 5, 2000
What is Predictable Routing?What is Predictable Routing?What is Predictable Routing?What is Predictable Routing?
Definition: Pattern route a subset of critical nets Definition: Pattern route a subset of critical nets
Critical Nets – pattern route
Non-critical Nets – maze route
Benefits Wire planning - Organizes routing
Important routing metrics more accurately modeled a priori
Congestion
Wire length
Benefits Wire planning - Organizes routing
Important routing metrics more accurately modeled a priori
Congestion
Wire length Allows early, accurate buffer insertion and wire sizing Allows early, accurate buffer insertion and wire sizing
ERER UCLAUCLA
ICCAD: November 5, 2000
Predictable RoutingPredictable RoutingPredictable RoutingPredictable Routing
Number of patterns should be small Fewer patterns higher route predictability
Number of patterns should be small Fewer patterns higher route predictability
50% chance
for upper-L
50% chance
for lower-L
Net Terminals
Steiner Point
Two-terminal Net
We focus on two-terminal nets Majority of nets are two terminal Multi-terminal nets two-terminal nets using any
Steiner Tree algorithm
We focus on two-terminal nets Majority of nets are two terminal Multi-terminal nets two-terminal nets using any
Steiner Tree algorithm
ERER UCLAUCLA
ICCAD: November 5, 2000
ExperimentsExperimentsExperimentsExperiments
Focus on pattern routing “critical” nets Criticality label by high level CAD tools Criticality increasingly dependent on wire length
Goal: Show that you can pattern route critical nets without degrading the routing solution quality We focus on routability Wire length, run time considered as secondary
factors
Focus on pattern routing “critical” nets Criticality label by high level CAD tools Criticality increasingly dependent on wire length
Goal: Show that you can pattern route critical nets without degrading the routing solution quality We focus on routability Wire length, run time considered as secondary
factors
ERER UCLAUCLA
ICCAD: November 5, 2000
Benchmark circuit informationBenchmark circuit informationBenchmark circuit informationBenchmark circuit information
Data file Num Cells Num Nets Num Pins Global Binsprimary1 833 1156 3303 8 x 16primary1.2 833 1156 3303 16 x 16primary2 3014 3671 12914 8 x 16primary2.2 3014 3671 12914 32 x 32avqs 21584 30038 84081 30 x 80avqs.2 21584 30038 84081 80 x 80biomed 6417 7052 22253 20 x 40biomed.2 6417 7052 22253 40 x 40struct 1888 1920 5407 20 x 16
5 MCNC standard-cell benchmark circuits Unfortunately, benchmarks provide no criticality data
5 MCNC standard-cell benchmark circuits Unfortunately, benchmarks provide no criticality data
Need to find heuristics for pattern routing small and large netsNeed to find heuristics for pattern routing small and large nets
ERER UCLAUCLA
ICCAD: November 5, 2000
Criticality Heuristics - SFPRCriticality Heuristics - SFPRCriticality Heuristics - SFPRCriticality Heuristics - SFPR
Smallest-First Pattern Routing (SFPR)1. Sort two-terminal nets based on BB (smallest
to largest)2. Pattern route x% of the smallest nets3. Maze route remaining nets4. Rip up and reroute phase
Do not consider the pattern routed nets
SFPR focuses on pattern routing “small” critical nets
Smallest-First Pattern Routing (SFPR)1. Sort two-terminal nets based on BB (smallest
to largest)2. Pattern route x% of the smallest nets3. Maze route remaining nets4. Rip up and reroute phase
Do not consider the pattern routed nets
SFPR focuses on pattern routing “small” critical nets
ERER UCLAUCLA
ICCAD: November 5, 2000
SFPR resultsSFPR resultsSFPR resultsSFPR results
Data file 0% 50% 60% 70% 80% 90%primary1 622 -8 -13 -1 -7 -2primary1.2 379 -3 -3 -3 1 -1primary2 1370 -2 -10 -11 -2 18primary2.2 665 0 -1 21 21 47avqs 3149 -109 -25 22 -53 146avqs.2 401 -9 3 -38 61 6biomed 2994 -9 14 -89 -29 -43biomed.2 15 0 0 -2 0 1struct 769 -7 -17 -13 14 89total 10364 -147 -52 -114 6 261
Percentage of pattern routed nets
Base Overflow Overflow with x% pattern routed - Base Overflow
Results are the total overflow (measure of congestion) Smaller is better (min overflow = min congestion)
70% of the “small” nets can be pattern routed
Results are the total overflow (measure of congestion) Smaller is better (min overflow = min congestion)
70% of the “small” nets can be pattern routed
ERER UCLAUCLA
ICCAD: November 5, 2000
Pattern routing long netsPattern routing long netsPattern routing long netsPattern routing long nets
Pattern routing longest nets first leads to large degradation in quality of routing solution
Idea: choose long nets that are evenly distributed across the chip
x-Density routing Every edge of the grid graph has at most x nets crossing it
Pattern routing longest nets first leads to large degradation in quality of routing solution
Idea: choose long nets that are evenly distributed across the chip
x-Density routing Every edge of the grid graph has at most x nets crossing it
Example of a 1-density routing
Example of a 1-density routing
ERER UCLAUCLA
ICCAD: November 5, 2000
xx-Density Routing-Density Routingxx-Density Routing-Density Routing
Formal definition – decision problem Given an integer x, a set of two-terminal nets N and a
grid graph G(V,E) Does there exist a single bend routing for every net ni
in N
1 < i < |N| such occupancy(e) x for every edge e E?
Polynomial time solvable - O(|N| log |N|) time Finding the maximum subset of nets is much
harder
Formal definition – decision problem Given an integer x, a set of two-terminal nets N and a
grid graph G(V,E) Does there exist a single bend routing for every net ni
in N
1 < i < |N| such occupancy(e) x for every edge e E?
Polynomial time solvable - O(|N| log |N|) time Finding the maximum subset of nets is much
harder
ERER UCLAUCLA
ICCAD: November 5, 2000
xx-Density Pattern Route Heuristic -Density Pattern Route Heuristic ((xx-DPR)-DPR)xx-Density Pattern Route Heuristic -Density Pattern Route Heuristic ((xx-DPR)-DPR)
The x-DPR heuristic1. Find a set of x-Density routable nets
Set should be x-Density with “large” nets
2. Pattern route the x-Density nets
3. Maze route the remaining nets
4. Rip and reroute nets Do not consider the x-Density nets
The x-DPR heuristic1. Find a set of x-Density routable nets
Set should be x-Density with “large” nets
2. Pattern route the x-Density nets
3. Maze route the remaining nets
4. Rip and reroute nets Do not consider the x-Density nets
ERER UCLAUCLA
ICCAD: November 5, 2000
xx-DPR results-DPR resultsxx-DPR results-DPR resultsData file base 1-density 2-density 3-density 4-density 5-densityprimary1 622 0 -10 -4 -5 7primary1.2 379 -3 4 9 22 39primary2 1321 0 4 6 3 5primary2.2 665 -3 32 30 11 42avqs 3149 -13 -20 -121 6 20avqs.2 401 22 3 -23 7 82biomed 4837 -5 -41 -52 18 -7biomed.2 47 -6 2 -4 11 6struct 769 -4 4 24 38 56total 12190 -12 -22 -135 121 250
x-density (x 3) routing does not degrade routing solution
Allows “large” nets to be routed
x-density (x 3) routing does not degrade routing solution
Allows “large” nets to be routed
ERER UCLAUCLA
ICCAD: November 5, 2000
Wire length and Run timeWire length and Run timeWire length and Run timeWire length and Run time
Wire length Pattern routed (critical) nets guaranteed to have minimum wire
length Overall wire length varies over benchmarks: +5% to –10%
Run time Single Net: Pattern routing faster (lower theoretical upper
bound) Overall global routing
Pattern routing nets adds restrictions small solution space Rip up and reroute phase may take longer to find a better solution
Running time trends SFPR Small circuits – 20% worse with pattern routing SFPR Large circuits – overall runtime similar (± 5%) or better x-density – overall runtime similar (± 5%)
Wire length Pattern routed (critical) nets guaranteed to have minimum wire
length Overall wire length varies over benchmarks: +5% to –10%
Run time Single Net: Pattern routing faster (lower theoretical upper
bound) Overall global routing
Pattern routing nets adds restrictions small solution space Rip up and reroute phase may take longer to find a better solution
Running time trends SFPR Small circuits – 20% worse with pattern routing SFPR Large circuits – overall runtime similar (± 5%) or better x-density – overall runtime similar (± 5%)
Sometimes there is small degradation in wire length and run time
Sometimes there is small degradation in wire length and run time
ERER UCLAUCLA
ICCAD: November 5, 2000
ConclusionsConclusionsConclusionsConclusions
We showed that you can pattern route up to 70% of small nets
We showed that you can pattern route large nets using x-density routing
We showed that pattern routing has many benefits Better prediction of routing metrics Pattern routed nets have small interconnect delay Allows early accurate buffer insertion, wire sizing and wire
planning
We showed that you can pattern route up to 70% of small nets
We showed that you can pattern route large nets using x-density routing
We showed that pattern routing has many benefits Better prediction of routing metrics Pattern routed nets have small interconnect delay Allows early accurate buffer insertion, wire sizing and wire
planning