1 / 58

New Modeling Techniques for the Global Routing Problem

New Modeling Techniques for the Global Routing Problem. Anthony Vannelli Department of Electrical and Computer Engineering University of Waterloo Waterloo, Ontario vannelli@cheetah.vlsi.uwaterloo.ca November 2, 2004. Outline. Introduction. Global Routing. Modeling Techniques.

prem
Download Presentation

New Modeling Techniques for the Global Routing Problem

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. New Modeling Techniques for the Global Routing Problem Anthony Vannelli Department of Electrical and Computer Engineering University of Waterloo Waterloo, Ontario vannelli@cheetah.vlsi.uwaterloo.ca November 2, 2004

  2. Outline Introduction Global Routing Modeling Techniques Optimization Techniques Summary and Conclusions 2

  3. Major Contributions • Development of route construction techniques based on congestion. • Development of congestion estimation techniques. • Development of flexible and powerful multi-objective formulations. • Enhancement of numerical techniques to solve the global routing problem. 41

  4. Introduction • Today’s ICs contain millions of transistors. • VLSI: “Very Large Scale Integration” . • Performance criteria: • Delay • Power • Size • Routing is one of the most important factors in VLSI design. 3

  5. Intel Microprocessors Why Is Routing Important? 4

  6. Architectural design Memory Logic design Control Unit Input-Output Circuit design Data Path Physical design Fabrication VLSI Design 5

  7. VLSI Design Architectural design Logic design Circuit design Physical design Fabrication 5

  8. B B A C A C A A B A B C A C A Sum Sum C C out out VLSI Design Architectural design Logic design Circuit design Physical design Fabrication 5

  9. VLSI Design Architectural design Logic design Circuit design Physical design Fabrication 5

  10. VLSI Design Architectural design Logic design Circuit design Physical design Fabrication 5

  11. H L A B H J E L A T E Circuit Layout • Places the modules. • Runs the wires that connect them. 6

  12. H L A B H J E L A T E L A L E H B E H J A T Circuit Layout • Places the modules. • Runs the wires that connect them. 6

  13. H L A B H J E L A T E L A L E H B E H J A T Circuit Layout • Places the modules. • Runs the wires that connect them. Typical Objectives: • Minimize the wire length • Minimize the delay • Minimize the power 6

  14. Circuit Layout Normally divided into steps Partitioning Placement Routing 7

  15. Circuit Layout Normally divided into steps Partitioning Placement Routing 8

  16. Circuit Layout Normally divided into steps Partitioning Placement Routing 8

  17. Circuit Layout Normally divided into steps Partitioning Placement Routing Global Routing 8

  18. Circuit Layout Normally divided into steps Partitioning Placement Routing Detailed Routing 8

  19. Global Routing • Global routing is used to find an approximate path for the wires connecting the modules. • NP-hard problem (i.e. difficult to solve for large problems). • Solution quality can effect the performance of the circuit. 9

  20. Illustrative Example Objective: Minimize the total wire length Net 1 terminals: Net 2 terminals: 10

  21. Illustrative Example Objective: Minimize the total wire length Net 1 terminals: Net 2 terminals: Total wire length= 8 10

  22. Global Routing Techniques Two main techniques: • Sequential Routing technique: Nets are routed sequentially. • Mathematical Programming technique: All nets are routed at the same time. 11

  23. Sequential Routing • Nets are ordered according to importance. • Each net is routed separately. Priority List • Net 1 • Net 2 12

  24. Sequential Routing • Nets are ordered according to importance. • Each net is routed separately. Priority List • Net 1 • Net 2 • Length of net 1 = 4 12

  25. Sequential Routing • Nets are ordered according to importance. • Each net is routed separately. Priority List • Net 1 • Net 2 • Length of net 1 = 4 • Length of net 2 = 5 12

  26. Sequential Routing Total wire length: 9 Drawback: The solution is dependent on net ordering 13

  27. Mathematical Programming • A set of routes is made for each net. • Each route is assigned a binary variable. Net 1 Routes: Route 1 Route 1: Y1 Route 2: Y2 Route 3: Y3 Route 2 { 1 - Route selected 0 - Otherwise Y = Route 3 14

  28. Mathematical Programming • An Integer Linear Programming (ILP) problem is written: min  L yi Subject to: • For each net only one route can be chosen. • Number of routes passing through a channel can not exceed the maximum channel capacity. • Binary constraints on routes. 15

  29. Drawbacks • The total number of possible routes can be very large. • Each route is a binary variable in the optimization problem. • Optimization problem becomes very large and hard to solve. Example: MCNC Fract Test Circuit 147 nets  more than 28,000 possible routes 16

  30. Modeling Techniques • Develop congestion estimation techniques to construct an optimal set of routes: • Least number of routes possible. • Least amount of congestion. • Develop multi-objective modeling techniques. 17

  31. Route Construction Initial approach: • Limit the number of routes considered by making only minimum-length minimum-bend routes. • Can result in sub-optimal and infeasible solutions. 18

  32. Route Construction Proposed enhancement: • Use congestion techniques to estimate where additional possible routes should be generated. • Limits the size of the problems. • Gives feasible and optimal solutions. 19

  33. Congestion Definition: In the final solution, there are too many routes in a given channel. Congested areas can cause: • Infeasibility • Hotspots 20

  34. Example: MCNC BIO Test Circuit Horizontal Channels Vertical Channels 21

  35. Example: MCNC BIO Test Circuit Horizontal Channels Vertical Channels 21

  36. Congestion Estimation Model Data: • Number of routes produced for each net. • Which edge each route passes through. Objective: • To estimate the number of routes that might pass through each edge. 22

  37. Routing Demand Definition: • The probability of each route to be chosen: • Routing Demand, r(e), of each edge is the sum of the probabilities of the routes that pass through the edge. 23

  38. Proposed Approach Calculated routing demands are used to identify congested areas; • Generate additionalroutes for the nets in the areas where congestion is most likely to occur. • Construct additional routes through areas where congestion is less likely to occur. 24

  39. Set of Possible Routes Set of all possible routes Produced based on congestion Minimum length routes 25

  40. Proposed Route Construction Congestion Based Route Construction Construct minimum length routes Estimate congestion Construct additional routes for congested nets 26

  41. e3 • e2 • e1 Illustrative Example • Net 1: • Route Y1 • p(Y1) = 1 • Net 2: • Route Y2, • p(Y2) = 1/2 • Route Y3, • p(Y3) = 1/2 27

  42. e3 • e2 • e1 Illustrative Example • Routing Demands: • r(e1) = p(Y2)=1/2 • r(e2) = p(Y1)+p(Y3) • = 3/2 • r(e3) = 0 27

  43. e3 • e2 • e1 Illustrative Example • Additional Trees: • For net 1 • Y4 p(Y4) • p(Y1) = 1/2 • p(Y4) = 1/2 27

  44. e3 • e2 • e1 Illustrative Example • Routing Demands: • r(e1) = p(Y2)=1/2 • r(e2) = p(Y1)+p(Y3) • = 1/2+1/2=1 • r(e3) = p(Y4) = 1/2 27

  45. Test Circuits 28

  46. Numerical Results 29

  47. Numerical Results 30

  48. Routingdemand Numerical Results Routingdemand Before constructing additional trees After constructing additional trees 31

  49. Modeling Formulations Traditional Approaches: • Consider only wire length Proposed Multi-Objective Approaches: • Wire length • Congestion • Number of bends • Channel Capacity 32

  50. Numerical Results 33

More Related