170 likes | 287 Views
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
E N D
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 • Smallest First Pattern Routing • x-density Pattern Routing • Wire length and Run time • Conclusion
Pattern routing Upper-L Routes Lower-L Routes • 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 • There are many other types of patterns We focus exclusively on L-shaped patterns
Why use patterns? • Pattern Routing O(|A|) = edges on the bounding box = 20 bin edges • Faster routing • Number of bin edges searched • Maze Routing O(|E|) = all edges in Grid Graph = 275 bin edges
Why use patterns? Minimum length One via • 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 • Downside – may degrade quality of routing solution • Maze routing will consider every possible path • L-shape routing considers 2 paths
What is Predictable Routing? • Allows early, accurate buffer insertion and wire sizing • 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
Predictable Routing • We focus on two-terminal nets • Majority of nets are two terminal • Multi-terminal nets two-terminal nets using any Steiner Tree algorithm Net Terminals Steiner Point Two-terminal Net • Number of patterns should be small • Fewer patterns higher route predictability 50% chance for upper-L 50% chance for lower-L
Experiments • 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
Benchmark circuit information • 5 MCNC standard-cell benchmark circuits • Unfortunately, benchmarks provide no criticality data Need to find heuristics for pattern routing small and large nets
Criticality Heuristics - SFPR • Smallest-First Pattern Routing (SFPR) • Sort two-terminal nets based on BB (smallest to largest) • Pattern route x% of the smallest nets • Maze route remaining nets • Rip up and reroute phase • Do not consider the pattern routed nets SFPR focuses on pattern routing “small” critical nets
SFPR results 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
Pattern 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 • Example of a 1-density routing
x-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
x-Density Pattern Route Heuristic (x-DPR) • The x-DPR heuristic • Find a set of x-Density routable nets • Set should be x-Density with “large” nets • Pattern route the x-Density nets • Maze route the remaining nets • Rip and reroute nets • Do not consider the x-Density nets
x-DPR results • x-density (x 3) routing does not degrade routing solution Allows “large” nets to be routed
Wire 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%) Sometimes there is small degradation in wire length and run time
Conclusions • 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