Routing. Routing. Routing in design flow. Problem. Objectives

Size: px
Start display at page:

Download "Routing. Routing. Routing in design flow. Problem. Objectives"

Transcription

1 Routing Routing Problem Given a placement, and a fixed number of metal layers, find a valid pattern of horizontal and vertical wires that connect the terminals of the nets Levels of abstraction: o Global routing o Detailed routing Objectives Cost components: o Area (channel width) min congestion in prev levels helped o Wire delays timing minimization in previous levels o Number of layers (fewer layers less expensive) o Additional cost components: number of bends, vias [Bazargan] 2 Routing in design flow B A C Netlist INV AND OR Routing Floorplan/Placement 3

2 The Routing Problem Apply it after floorplanning/placement Input: Netlist Timing budget for, typically, critical nets Locations of blocks and locations of pins Output: Geometric layouts of all nets Objective: Minimize the total wire length, the number of vias, or just completing all connections without increasing the chip area. Each net meets its timing budget. 4 Routing Constraints Examples: Placement constraint Number of routing layers Delay constraint Meet all geometrical constraints (design rules) Physical/Electrical/Manufacturing constraints: o Crosstalk o Process variations, yield, or lithography h issues? 5 Top view Routing Anatomy 3D view Symbolic Layout Metal layer 3 Via Metal layer 2 Metal layer [Bazargan] Note: Colors used in this slide are not standard 6 2

3 Global vs. Detailed Routing Global routing Input: detailed placement, with exact terminal locations Determine channel (routing region) for each net Objective: minimize area (congestion), and timing (approximate) Detailed routing Input: channels and approximate routing from the global routing phase Determine the exact route and layers for each net Objective: valid routing, minimize area (congestion), meet timing constraints Additional objectives: min via, power [Bazargan] Figs. [ Sherwani] 7 Routing Environment Chip architecture Full-custom: o No constraint on routing regions Standard cell: o Variable channel height? o Feed-through cells connect channels FPGA: o Fixed channel height o Limited switchbox connections o Prefabricated wire segments have different weights [Bazargan] Channel Tracks Feedthroughs Failed net Failed connection Figs. [ Sherwani] 8 Taxonomy of VLSI Routers Routers Global Detailed Specialized Graph Search Steiner Iterative Maze Restricted River Switchbox Channel General Purpose Maze Line Probe Line Expansion Power/Gnd Clock Hierarchical Greedy Left-Edge [Bazargan] [ Keutzer] 9 3

4 Global Routing Stages Routing region definition Routing region ordering Steiner-tree / area routing Grid Tiles super-imposed on placement Regular or irregular Smaller problem to solve, higher level of abstraction Terminals at center of grid tiles Edge capacity Number of nets that can pass a certain grid edge (aka congestion) On edge E, Capacity(E ) Congestion(E ) [Bazargan] [ Sarrafzadeh] M2 M M3 0 Grid Graph Coarse or fine-grained Vertices: routing regions, edges: route exists? Weights on edges How costly is to use that edge Could vary during the routing (e.g., for congestion) Horizontal / vertical might have different weights t t2 t3 t4 t t2 t3 t4 t t2 t3 t4 2 2 [Bazargan] [ Sherwani] Global Routing Graph Search Good for two-terminal nets Build grid graph (Coarse? Fine?) Use graph search algorithms, e.g., Dkstra Iterative: route nets one by one How to handle: Congestion? Critical nets? Order of the nets to route? Net criticality Half-perimeter of the bounding box Number of terminals [Bazargan] 2 4

5 Maze Routing 3 Maze Routing Problem Given: A planar rectangular grid graph. Two points S and T on the graph. Obstacles modeled as blocked vertices. Objective: Find the shortest path connecting S and T. This technique can be used in global or detailed routing (switchbox) problems. 4 Grid Graph S T S X X T S X X T Area Routing Grid Graph (Maze) Simplified Representation 5 5

6 Maze Routing S T 6 Lee s Algorithm: Basic Idea An Algorithm for Path Connection and its Application, C.Y. Lee, IRE Transactions on Electronic Computers, 96. A Breadth-First Search (BFS) of the grid graph. Always find the shortest path possible. Consists of two phases: Wave Propagation Retrace 7 Maze routing Problem: find a connection from A to B A B Different grid boundaries may have different costs Quite useful for two pin nets, rip-up-and-reroute, etc. 8 6

7 Lee s algorithm T S A more space-efficient version Global Routing Maze Routing Similar to breadth-first search Very simple algorithm Works on grid graph Time complexity: grid size (NxN) Algorithm Propagate a wave from source s until hit the sink (implemented using a queue) Trace back to find the path Guaranteed to find the optimal solution Usually multiple optimal solutions exist More than two terminals? For the third terminal, use the path between the first two as the source of the wave [Bazargan] 5 5 t

8 Schemes to Reduce Run Time. Starting Point Selection: T S S T 2. Double Fan-Out: 3. Framing: S T S T 22 Multi-Terminal Nets For a k-terminal net, connect the k terminals using a rectilinear Steiner tree with the shortest wire length on the maze. This problem is NP-Complete. Just want to find some good heuristics. 23 Multi-Terminal Nets This problem can be solved by extending the Lee s algorithm: Connect one terminal at a time, or Search for several targets simultaneously, or Propagate wave fronts from several different sources simultaneously. 24 8

9 Extension to Multi-Terminal Nets st Iteration S 0 2 T T 3 2nd Iteration S S S S T Maze Routing Key to popularity: Simplicity Guaranteed to find the optimal solution Can realize more complex cost functions too (e.g., number of bends in a path) Weakness: Multiple terminals not handled efficiently Dependent on grid, a two dimensional data structure Different variations exist Soukup s alg: o First use DFS, when get to an obstacle, use BFS to get around o No guarantee to find the shortest path [Bazargan] 26 BFS based Maze Routing (A*) Need to search whole space? Guide the search to the goal explicitly A* search is faster if you need good path, not perfect path Use priority queue C(n) = F(n)+H(n) o F(n) is a computed cost from source to current location. o H(n) is a predicted cost from current location to target. o If H(n)=0, it becomes maze routing! Optimal (shortest path) when H(n) <= H (n) (no overestimation) o H (n) is the exact cost o H(n)=0 never overestimates! 27 9

10 Maze vs A* routing (I) 28 Maze vs A* routing (II) 29 Multiple Terminal Nets: Steiner Tree Steiner tree (aka Rectilinear Steiner Tree RST): A tree connecting multiple terminals o Original points: demand points set D o Added points: Steiner points set S Edges horizontal or vertical only Steiner Minimum Tree (SMT) Similar to minimum spanning tree (MST) But finding SMT is NP-complete Many good heuristics introduced to find SMT Algorithm Find MST Pass horizontal and vertical lines from each terminal to get the Hannan grid (optimal solution is on this grid) Convert each edge of the MST to an L-shaped route on Hannan grid (add a Steiner point at the corner of L) [Bazargan] 30 0

11 Steiner Tree Based Algorithms For multi-terminal nets. Find Steiner tree instead of shortest path. Construct a Steiner tree from the minimum spanning trees (MST) 3 Steiner Tree Heuristics (Contd.) Separable MST s MST with the property that bounding boxes of nonadjacent edges must not overlap Can show that a separable MST always exists Procedure: Find separable MST Use dynamic programming to maximize overlap O(n) algorithm Worst-case: 3/2 factor Nonseparable Separable J. M. Ho, G. Vayan and C. K. Wong, New algorithms for the rectilinear Steiner tree problem, IEEE Trans. Comput.-Aided Design, Vol. 9, pp , February Steiner Tree Hannan grid reduces solution space (smaller grid) For min length RST, Steiner points always on Hannan grid Convert MST to rectilinear paths Length bounded by.5 times optimal SMT length Use alternate L routes to find the minimum tree Steiner point MSP (length=) Error here: this length should be > Steiner tree length [Bazargan] Steiner tree (len=3) [ Sherwani] 33

12 Steiner Tree Routing Can apply different costs to different regions (or horizontal/vertical preference) Order of the nets Sequential o Use # of terminals, criticality, etc. to determine order Parallel o Divide the chip into large regions, perform the routing in parallel Key to popularity Fast (not theoretically, but practically) Bounded solution quality Shortcomings Difficult to predict or avoid congestion [Bazargan] 34 Steiner Tree Heuristics Iterated -Steiner heuristic (Not based on MST/SMT ratio) In each iteration, add one Steiner point o Consider all O(n 2 ) candidate Steiner points o Construct MST s for each one and choose the mincost point o Cost = O(n 2 ) O(n log n) = O(n 3 log n) per -Steiner point o Number of Steiner points = O(n) Alternative approach (Georgakopoulous/Papadimitriou) o O(n 2 ) cost per -Steiner point Performance: within a factor of 4/3 of optimal for Steiner trees that are unions of pluses (instead of 3/2) For details, see A. B. Kahng and G. Robins, On Optimal Interconnections for VLSI, Kluwer Academic Publishers, 995, and references therein. 35 Global Routing Approaches A combination of different approaches might be used in chip-level routing Route simple nets (2-3 pins in local area) directly (e.g., L-shaped or Z-shaped) Use close to optimal Steiner Tree algorithms to route nets of intermediate length Route remaining big nets using a maze router Ordering Some ordering is chosen, if can route all, then done, otherwise: Rip-up and Re-route [Bazargan] [ Keutzer] 36 2

13 Motivation Can now build a global route for a single net Problem Actual routing cost depends on other nets (congestion, criticality, etc.) Possibilities o Route the nets one by one - suboptimal o Route them simultaneously Ideal algorithm: optimal Real algorithm that works in a reasonable time: not guaranteed optimal, but less suboptimal than routing the nets one by one 37 Congestion 38 Measuring congestion Importance of congestion Possible transformations to reduce congestion Rerouting Changing the placement Resynthesis Important t issue: prediction of congestion Accuracy of the predictor depends on how much information is available 39 3

14 Introduction Congestion prediction Evaluation of Floorplans Fast Useful within Placers or Routers Floorplanning Placement Routing Congestion Prediction [Westra] 40 A simple predictor Consider a region with G gates that communicate with the rest of the system through T terminals If the boundary is perturbed to add G more gates, the number of extra terminals T could reasonably be predicted as T/G =p(t/g) p corresponds to the fact that some of the new connections will be intra-block, so that p <. Write as a differential equation dt/dg = p (T/G) i.e., dt/t = p dg/g T = t.g p G gates 4 Rent s rule A predictor for interconnect wires corresponding to a cell/block T = A G p T = number of terminals G = number of gates in the block A = constant p = constant (Rent s exponent) Based on the idea of self-similarity 42 4

15 Typical Rent s curve Region II does not follow the rule because of external I/O limitations [Christie and Stroobandt, TVLSI 2/00] 43 Example: applying Rent s rule Three blocks of gates: A, B, C with T A, T B, T C terminals, respectively A T A +T B +T C =T AtoC +T AtoB +T BtoC +T ABC i.e., T AtoC = T A +T B +T C -T ABC -T AtoB -T BtoC T AtoB = T A +T B -T AB T BtoC = T B +T C -T BC C This implies that T AtoC = T AB + T BC T B T ABC = A[(G A +G B ) p + (G B +G C ) p G Bp (G A +G B +G C ) p ] n AtoC = T AtoC where = ½ for a two-pin net = more (e.g., k/k+) for a k-pin net, k>2 44 Estimating congestion with more information Given a rectangular grid with cells of size WxH Horizontal capacity = H all layers (/L hi ) Vertical capacity = W all layers (/L vi ) L hi [L vi ] = horizontal [vertical] pitch in layer I Assumptions All nets are routed with the shortest length (no detours) All nets make at most one change of direction per grid No change of direction in the grid with pins Two-pin net model: assume first Pins at lower left and upper right corner of bounding box Bounding box is at least 2 rows, 2 columns No routing blockages 45 5

16 Example Six routes between the two points Lower middle grid 3 routes Route : horiz track, 0 vert tracks Routes 2, 3: ½ horiz, vertical Total : 2 horiz, 2 vert Probabilistically o 6 routes in all /3 horiz, /3 vert usage in this grid Can construct a probabilistic usage matrix (,) (2,2) 6 (3,3) (2,2) (2,2) (2,2) (3,3) (2,2) (,) 46 Calculating the total # routes F(m,n) = number of routes in an mxn grid F(m,) = F(,n) = F(m,n) = F(m-,n)+F(m,n-) Can calculate F(m,n) as: F(m,n) = n = m n = 2 j(n-2)=tom j(n-3)=toj(n-2) j=toj2 j n 3 Can similarly derive a recursive equation for the usage, and therefore find the usage probability matrix 47 Another interpretation Alternative [simpler] expression (m+)x(n+) grid Need to traverse a distance n+m Need to take n horizontal steps corresponds to n+m C n possibilities Can also interprete as: need to take m vertical steps corresponds to n+m C m possibilities; n+m C m = n+m C n Comparison with previous expression F(m,n) = F(m-,n)+F(m,n-) n+m C m = n+m- C n + n+m- C n- [easy to show] 48 6

17 Counting paths in the presence of blockages Can generalize the previous method The dual of a grid is a grid graph In the presence of blockages: remove corresponding edges Counting the number of paths: can be done by graph traversal However, this is not a closed form expression now! 49 Previous work / Motivation Lou et al.: Estimating Routing Congestion using Probabilistic Analysis ISPD 200 Buckets have fixed capacity Consider all detour-free paths Spread net over paths with equal probability [Westra] 50 Previous work / Motivation cont d 5x5 grid: 70 detour-free paths Consider as bitstring: 0000 #permutations = (m+n-2)! (m-)! (n-)! = Horizontal usage Vertical usage (max) usage [Westra] 5 7

18 Model (max) usage Previous work / Motivation cont d Reality Most density around diagonal Most density on edges!!! [Westra] 52 Routing statistics 6 benchmarks, up to nets, buckets Wirelength minimization: detoured:.40% Via minimization: #bends>2:.2% %nets x2 L-shapes Z-shapes R #segments ( )box > 2x2 #Ls α = ( ) #Ls + #Zs 0.50 α 0.67 α = 0.60 Only L- and Z-shapes matter! [Westra] 53 create empty maps foreach net n do pin-pairs MST(n) end foreach pin-pair pp do if pp is short do add short-usage(pp) elseif pp is flat do add flat-usage(pp) else do add α L-usage(pp) add (-α) Z-usage(pp) end end Algorithm [Westra] 54 8

19 Probabilistic usages U h = x right W bucket U h = U v = y total W bucket w n U h = x W bucket U v = ½ v y bottom H bucket U v = ½ w n = 3 U h = 0 [Westra] 55 Probabilistic usages cont d x = U h consists of two terms: Bend Bend to the right Two orientations: #Z v = w n -2 #Z h = h n -2 U h = Uv = wn -2 w n -2 ½ + y top H bucket w n -x-2 w n -2 U v = wn -2 [Westra] scale factor: w#z n -2 v #Z w n v +h+ n #Z -4 h 56 Results Prediction Global routed Detailed routed [Westra] 57 9

20 Results experiment prediction-global prediction-detailed global-detailed %buckets %error %buckets %error %buckets %error [Westra] 58 Results experiment 2 prediction-global prediction-detailed global-detailed %buckets %error %buckets %error %buckets %error [Westra] 59 Blockages Spread usage over surrounding buckets weight = 2 -d n Line blockages: break net up Too many / too complex blockages? Forget it! [Westra] 60 20

21 Extraction and Timing Analysis After global routing and detailed routing, information of the nets can be extracted and delays can be analyzed. If some nets fail to meet their timing budget, detailed routing and/or global routing needs to be repeated Net Ordering In sequential approach, we need some net ordering. A bad net ordering will increase the total wire length, and may even prevent com-pletion of routing for some circuits which are indeed routable. A B A B B A B first (Good order) B A A first (Bad order) 63 2

22 Criteria for Net Ordering Criticality of net - critical nets first. Estimated wire length - short nets first since they are less flexible. Consider bounding rectangles (BR): A B B A B is in A s BR Which one should be routed first and why? (Note that this rule of thumb is not always applicable.) 64 Net Ordering (cont d) 65 Rip-Up and Re-route It is impossible to get the optimal net ordering. If some nets are failed to be routed, the rip-up and re-route technique can be applied: Cannot route C So rip-up B and route C first. Finally route B. A A A A A A B B B B B B C C C C C C 66 22

23 Typical routing graph Routing region tessellated into a number of tiles Routing graph as shown below, superimposed over tiling Each boundary has a capacity 67 Flow-based methods Formulate problem as a multicommodity flow problem Illustrate on two-pin nets (Shragowitz and Keel, 987) Each net corresponds to transporting a flow from the source to the sinks A demand of unit is to be shipped from the source to the destination along multiple possible routes 68 Flow based methods (Contd.) Formulation Each edge e has a cost c(e) and a capacity u(e) Constraints o Sum of flows through an edge should not exceed capacity o Flow preservation (what goes in must equal what comes out) o 0- constraints on flows Formulation 69 23

24 Concurrent Approach Consider all the nets simultaneously. Formulate as an integer program. Given: Nets net : : net n Set of possible routing trees T, T 2,..., T k : : T n, T n2,..., T nkn L = Total wire length of T C e = Capacity of edge e Determine variable x s.t. x = if T is used x = 0 otherwise. 70 Integer Program Formulation Min. st s.t. n ki i j ki j i, j x x L x s.t. e T 0 or x C for all i,, n e i, j for all edge e 7 Concurrent Approach: Example Solution 3 2,2 a b,3 d Possible trees: net : ,3 c,2 net 2: C a = C b = C c = C d =2 net 3: 2 2 Min. 2x 3x 2 3x 3 2x 3x 3x 2x x x2 x3 ; x2 x22 x23 ; What are the constraints s.t. x3 x32 ; for edge capacity? x 0 or i, j; x2 x3 x2 x23 x x C a

25 Integer Programming Approach Standard techniques to solve IP. No net ordering. Give global optimum. Can be extremely slow, especially for large problems. To make it faster, a fewer choices of routing trees for each net can be used. May make the problem infeasible or give a bad solution. Determining a good set of choices of routing trees is a hard problem by itself. 73 Hierarchical Approach to Speed Up Integer Programming Formulation For Global Routing M. Burstein and R. Pelavin, Hierarchical Wire Routing, IEEE TCAD, vol. CAD-2, pages , Oct Hierarchical Approach Large Integer Programs are difficult to solve. Hierarchical Approach reduces global routing to routing problems on a 2x2 grid. Decompose recursively in a top-down fashion. Those 2x2 routing problems can be solved optimally by integer programming formulation

26 Hierachical Approach: Example Solving a 2xn routing problem hierarchically. Level Level 2 Level 3 Solution: 76 Types of 2x2 Routing Problems Type Type 7 Type 2 Type 8 Type 3 Type 9 Type 4 Type 0 Type 5 Type Type 6 77 Objective Function of 2x2 Routing Possible Routing Trees: T, T 2, T 2, T 22,..., T,,..., T,4 # of nets of each type: n,..., n Determine x : # of type-i nets using T for routing. y: i # of type-i nets that fails to route. yi x,, j ni i Want to minimize y. i i 78 26

27 B ab C a B da C b a b c d C d Constraints of 2x2 Routing B bc C c B cd Constraints on Edge Capacity: x C i, j s.t. at i, j s.t. bt i, j s.t. ct i, j s.t. dt a x C b x C c x C Constraints on # of Bends in a Region: i, j s.t. T has a bend in region ab i, j s.t. T has a bend in region bc i, j s.t. T has a bend in region cd i, j s.t. T has a bend in region da d x B ab x B bc x B cd x B da 79 Pop Quiz If you have two nets, one with 2 pins, the other with 4 pins with a zero capacity edge What is going to be the result? C= C=0 y i j x n Want tominimize i i,, i i y. Type Type 80 ILP Formulation of 2x2 Routing Min. y i i s.t. yi x ni i j,, x 0, y 0 i, j i, i, j s.t. at i, j s.t. bt i, j s.t. dt i j s.t. ct x C a x C b x C c x C d i, i, j s.t. T has a bend in region ab i, j s.t. T has a bend in region bc j s.t. T has a bend in region cd i, j s.t. T has a bend in region da x B ab x B Only 39 variables (28 x and y i ) and 9 constraints (plus 38 non-negative constrains). Problems of this size are usually not too difficult to solve. bc x B cd x B da 8 27

28 Buffered Interconnects 82 Buffer insertion Consider Vs A buffer effectively isolates the downstream capacitance 83 Intuition behind adding buffers l Wire resistance = a.l Wire delay = a.b.l 2 Wire capacitance = b.l l l 2 l 3 l n Now, wire delay = a.b.l i 2 < a.b.l 2 since a.b.(l 2 + l l n2 )< a.b.(l + l l n ) 2 Weaknesses in the argument? Buffer R, C, intrinsic delay discounted 84 28

29 RATs RAT = required arrival time at a node of the tree We called this RT earlier in the class 85 Simple Buffer Insertion Problem Given: Source and sink locations, sink capacitances and RATs, a buffer type, source delay rules, unit wire resistance and capacitance Buffer RAT 4 RAT 3 s 0 RAT RAT 2 86 Simple Buffer Insertion Problem Find: Buffer locations and a routing tree such that slack at the source is minimized q( s0) min i4{ RAT ( si ) delay( s0, si )} RAT 4 RAT 3 s 0 RAT 2 RAT 87 29

30 Slack Example slack = -200 RAT = 500 delay = 400 RAT = 400 delay = 600 slack = +00 RAT = 500 delay = 350 RAT = 400 delay = RC delay calculations Delays can be calculated easily For example: RC driven by a step excitation R V(t) C Response V(t) = ( - e -t/rc ) Time constant = RC Time constants for more complicated circuits? 89 Elmore delay for an RC tree T D, k R C i j ipath( k ) jdownstream ( i) Rd Rb Cd Root Ra Cb Re Ca Rc Ce Cc Elmore Delay to node e = Ra.(Ca+Cb+Cc+Cd+Ce) + Rb.(Cb+Cd + Ce) + Re.Ce 90 30

31 Elmore Delay R R A B C 2 C C ( C C2) Delay( A C) R R C Optimizing medium/long interconnects Delays of interconnects may become very large Wire sizing helps to control the delay Repeater insertion is another effective technique Effects of a buffer Isolates load capacitances of different stages Adds a delay Subtree capacitance C L C buf Subtree capacitance C L2 Downstream capacitance here is C L2 + C buf (C L is isolated by the buffer) 92 Common Approaches Iteratively insert buffers Closed-form solutions (2 pin nets) Dynamic programming Simultaneous constructions 93 3

32 Van Ginneken s Classic Algorithm Optimal for multi-sink nets Quadratic runtime Bottom-up from sinks to source Generate list of candidates at each node At source,,pick the best candidate in list 94 Key Assumptions Given routing tree Given potential insertion points 95 Generating Candidates () (2) (3) 96 32

33 Dynamic Programming Approach Traverse the tree bottom-up At each step, consider adding a buffer If buffer placement is provably suboptimal, discard this combination Otherwise, store all non-suboptimal combinations and proceed up in the tree Basic step k Required time R k = min(t i -D i ) o D i = delay spec at a sink i? o T i = actual delay from node k to i in partial tree Subtree T Subtree T 2 97 Combining Two (or more) Trees If a buffer is inserted Load L k = C buf + c.l T k = min(t desc ) [D buf + R buf L desc + r.c.l 2 /2] If no buffer is inserted Load L k = L desc + c.l T rcl k = min(t desc ) [r.l. L desc + r.c.l 2 /2] Delay of buffer+wire Delay of wire, no buffer k? L k T k Subtree T Subtree T 2 98 Combining the Options Draw a plot of all (L k, T k ) pairs for both children (assuming binary tree)? T m T n L(n) L(combined) L(m) T(n) T(m) T(combined)

34 Pruning Candidates (3) (a) (b) Both (a) and (b) look the same to the source. Throw out the one with the worst slack (4) 00 Candidate Example Continued (4) (5) 0 Candidate Example Continued After pruning (5) At driver, compute which candidate maximizes slack. Result is optimal

35 Merging Branches Left Candidates Right Candidates 03 Pruning Merged Branches Critical With pruning 04 Van Ginneken Example Buffer C=5, d=50 C=5, d=30 (45, 50) (5, 0) (20,00) (5, 70) Buffer C=5, d=30 (30,250) (5, 220) Wire C=5,d=200 C=5,d=20 (30,250) (5, 220) Wire C=0,d=50 (20,400) (20,400) (20,400) 05 35

36 Van Ginneken Example Cont d (45, 50) (5, 0) (20,00) (5, 70) (30,250) (5, 220) (20,400) (5,0) is inferior to (5,70). (45,50) 50) is inferior to (20,00) Wire C=0 (30,0) (5, -0) (20,00) (5, 70) (30,250) (5, 220) (20,400) Pick solution with largest slack, follow arrows to get solution 06 Van Ginneken Recap Generate candidates from sinks to source Quadratic runtime Adding a buffer adds only one new candidate Merging branches additive, not multiplicative Optimal for Elmore delay model 07 Optimal Extensions Multiple buffer types Inverters Polarity constraints Controlling buffer resources Capacitance constraints Blockage recognition Wire sizing 08 36

37 Multiple Buffer Types () (2) Time complexity increases from O(n 2 ) to O(n 2 B 2 ) where B is the number of different buffer types 09 Inverters () (2) Maintain a + and a - list of candidates Only merge branches with same polarity Throw out negative candidates at source 0 Polarity Constraints Some sinks are positive, some negative Put negative sinks into - list - list - list + list 37

38 Controlling Buffering Resources Before, maintain list of capacitance slack pairs (C, q ), (C 2, q 2 ), (C 3, q 3 ) (C 4, q 4 ), (C 5, q 5 ) (C 6, q 6 ), (C 7, q 7 ), (C 8, q 8 ) (C 9, q 9 ) Now, store an array of lists, indexed by # of buffers (C, q, 3), (C 2, q 2, 3), (C 3, q 3, 3) (C 4, q 4, 2), (C 5, q 5, 2) (C 6, q 6, ), (C 7, q 7, ), (C 8, q 8, ) (C 9, q 9, 0) Prune candidates with inferior cap, slack, and #buffers 2 Buffering Resource Trade-off 000 (ps) Slack # of Buffers 3 Capacitance Constraints Each gate g drives at most C(g) capacitance When inserting buffer g, check downstream capacitance. If bigger than C(g), throw out candidate Total cap = 500 ff 4 38

39 Blockage Recognition Delete insertion points that run over blockages 5 Other Extensions Simultaneous driver sizing Modeling effective capacitance Higher-order interconnect delay Slew constraints Noise constraints 6 Driver Sizing 7 39

40 Driver Sizing Driver behaves like buffer Pick driver with the best slack Implications upstream in timing graph Delay penalty for large input capacitance 8 -Models Van Ginneken candidate: (Cap, slack) R C C n C f Replace Cap with -model (C n, R, C f ) Total capacitance preserved: C n + C f = C R represents degree of resistive shielding 9 Computing Gate Delay When inserting buffer, compute effective capacitance from -model C eff Use effective instead of lumped capacitance in gate delay equation Optimality no longer guaranteed 20 40

41 Extensions Recap Multiple buffer types, including inverters Polarity constraints Controlling buffer resources Slew, capacitance, and noise constraints Blockage recognition Driver sizing Higher-order delay modeling Wire sizing 2 4

ICS 252 Introduction to Computer Design

ICS 252 Introduction to Computer Design ICS 252 Introduction to Computer Design Lecture 16 Eli Bozorgzadeh Computer Science Department-UCI References and Copyright Textbooks referred (none required) [Mic94] G. De Micheli Synthesis and Optimization

More information

ECE260B CSE241A Winter Routing

ECE260B CSE241A Winter Routing ECE260B CSE241A Winter 2005 Routing Website: / courses/ ece260bw05 ECE 260B CSE 241A Routing 1 Slides courtesy of Prof. Andrew B. Kahng Physical Design Flow Input Floorplanning Read Netlist Floorplanning

More information

Unit 7: Maze (Area) and Global Routing

Unit 7: Maze (Area) and Global Routing Unit 7: Maze (Area) and Global Routing Course contents Routing basics Maze (area) routing Global routing Readings Chapters 9.1, 9.2, 9.5 Filling Unit 7 1 Routing Unit 7 2 Routing Constraints 100% routing

More information

Basic Idea. The routing problem is typically solved using a twostep

Basic Idea. The routing problem is typically solved using a twostep Global Routing Basic Idea The routing problem is typically solved using a twostep approach: Global Routing Define the routing regions. Generate a tentative route for each net. Each net is assigned to a

More information

Chapter 5 Global Routing

Chapter 5 Global Routing Chapter 5 Global Routing 5. Introduction 5.2 Terminology and Definitions 5.3 Optimization Goals 5. Representations of Routing Regions 5.5 The Global Routing Flow 5.6 Single-Net Routing 5.6. Rectilinear

More information

Routing. Robust Channel Router. Figures taken from S. Gerez, Algorithms for VLSI Design Automation, Wiley, 1998

Routing. Robust Channel Router. Figures taken from S. Gerez, Algorithms for VLSI Design Automation, Wiley, 1998 Routing Robust Channel Router Figures taken from S. Gerez, Algorithms for VLSI Design Automation, Wiley, 1998 Channel Routing Algorithms Previous algorithms we considered only work when one of the types

More information

Problem Formulation. Specialized algorithms are required for clock (and power nets) due to strict specifications for routing such nets.

Problem Formulation. Specialized algorithms are required for clock (and power nets) due to strict specifications for routing such nets. Clock Routing Problem Formulation Specialized algorithms are required for clock (and power nets) due to strict specifications for routing such nets. Better to develop specialized routers for these nets.

More information

Physical Design of Digital Integrated Circuits (EN0291 S40) Sherief Reda Division of Engineering, Brown University Fall 2006

Physical Design of Digital Integrated Circuits (EN0291 S40) Sherief Reda Division of Engineering, Brown University Fall 2006 Physical Design of Digital Integrated Circuits (EN029 S40) Sherief Reda Division of Engineering, Brown University Fall 2006 Lecture 09: Routing Introduction to Routing Global Routing Detailed Routing 2

More information

CS612 Algorithms for Electronic Design Automation. Global Routing

CS612 Algorithms for Electronic Design Automation. Global Routing CS612 Algorithms for Electronic Design Automation Global Routing Mustafa Ozdal CS 612 Lecture 7 Mustafa Ozdal Computer Engineering Department, Bilkent University 1 MOST SLIDES ARE FROM THE BOOK: MODIFICATIONS

More information

CAD Algorithms. Placement and Floorplanning

CAD Algorithms. Placement and Floorplanning CAD Algorithms Placement Mohammad Tehranipoor ECE Department 4 November 2008 1 Placement and Floorplanning Layout maps the structural representation of circuit into a physical representation Physical representation:

More information

Graph Models for Global Routing: Grid Graph

Graph Models for Global Routing: Grid Graph Graph Models for Global Routing: Grid Graph Each cell is represented by a vertex. Two vertices are joined by an edge if the corresponding cells are adjacent to each other. The occupied cells are represented

More information

Introduction. A very important step in physical design cycle. It is the process of arranging a set of modules on the layout surface.

Introduction. A very important step in physical design cycle. It is the process of arranging a set of modules on the layout surface. Placement Introduction A very important step in physical design cycle. A poor placement requires larger area. Also results in performance degradation. It is the process of arranging a set of modules on

More information

VLSI Physical Design: From Graph Partitioning to Timing Closure

VLSI Physical Design: From Graph Partitioning to Timing Closure VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5 Global Routing Original uthors: ndrew. Kahng, Jens, Igor L. Markov, Jin Hu VLSI Physical Design: From Graph Partitioning to Timing

More information

VLSI Physical Design: From Graph Partitioning to Timing Closure

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 5 Global Routing Original uthors: ndrew. Kahng, Jens, Igor L. Markov, Jin Hu Chapter 5 Global Routing 5. Introduction 5.2 Terminology and Definitions 5.3 Optimization Goals 5. Representations of

More information

THE continuous increase of the problem size of IC routing

THE continuous increase of the problem size of IC routing 382 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 24, NO. 3, MARCH 2005 MARS A Multilevel Full-Chip Gridless Routing System Jason Cong, Fellow, IEEE, Jie Fang, Min

More information

ICS 252 Introduction to Computer Design

ICS 252 Introduction to Computer Design ICS 252 Introduction to Computer Design Placement Fall 2007 Eli Bozorgzadeh Computer Science Department-UCI References and Copyright Textbooks referred (none required) [Mic94] G. De Micheli Synthesis and

More information

ECE 5745 Complex Digital ASIC Design Topic 13: Physical Design Automation Algorithms

ECE 5745 Complex Digital ASIC Design Topic 13: Physical Design Automation Algorithms ECE 7 Complex Digital ASIC Design Topic : Physical Design Automation Algorithms Christopher atten School of Electrical and Computer Engineering Cornell University http://www.csl.cornell.edu/courses/ece7

More information

L14 - Placement and Routing

L14 - Placement and Routing L14 - Placement and Routing Ajay Joshi Massachusetts Institute of Technology RTL design flow HDL RTL Synthesis manual design Library/ module generators netlist Logic optimization a b 0 1 s d clk q netlist

More information

Estimation of Wirelength

Estimation of Wirelength Placement The process of arranging the circuit components on a layout surface. Inputs: A set of fixed modules, a netlist. Goal: Find the best position for each module on the chip according to appropriate

More information

A Novel Performance-Driven Topology Design Algorithm

A Novel Performance-Driven Topology Design Algorithm A Novel Performance-Driven Topology Design Algorithm Min Pan, Chris Chu Priyadarshan Patra Electrical and Computer Engineering Dept. Intel Corporation Iowa State University, Ames, IA 50011 Hillsboro, OR

More information

Physical Design of Digital Integrated Circuits (EN0291 S40) Sherief Reda Division of Engineering, Brown University Fall 2006

Physical Design of Digital Integrated Circuits (EN0291 S40) Sherief Reda Division of Engineering, Brown University Fall 2006 Physical Design of Digital Integrated Circuits (EN0291 S40) Sherief Reda Division of Engineering, Brown University Fall 2006 1 Lecture 10: Repeater (Buffer) Insertion Introduction to Buffering Buffer Insertion

More information

Introduction VLSI PHYSICAL DESIGN AUTOMATION

Introduction VLSI PHYSICAL DESIGN AUTOMATION VLSI PHYSICAL DESIGN AUTOMATION PROF. INDRANIL SENGUPTA DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Introduction Main steps in VLSI physical design 1. Partitioning and Floorplanning l 2. Placement 3.

More information

Fast Dual-V dd Buffering Based on Interconnect Prediction and Sampling

Fast Dual-V dd Buffering Based on Interconnect Prediction and Sampling Based on Interconnect Prediction and Sampling Yu Hu King Ho Tam Tom Tong Jing Lei He Electrical Engineering Department University of California at Los Angeles System Level Interconnect Prediction (SLIP),

More information

Place and Route for FPGAs

Place and Route for FPGAs Place and Route for FPGAs 1 FPGA CAD Flow Circuit description (VHDL, schematic,...) Synthesize to logic blocks Place logic blocks in FPGA Physical design Route connections between logic blocks FPGA programming

More information

Buffered Routing Tree Construction Under Buffer Placement Blockages

Buffered Routing Tree Construction Under Buffer Placement Blockages Buffered Routing Tree Construction Under Buffer Placement Blockages Abstract Interconnect delay has become a critical factor in determining the performance of integrated circuits. Routing and buffering

More information

Chapter 28: Buffering in the Layout Environment

Chapter 28: Buffering in the Layout Environment Chapter 28: Buffering in the Layout Environment Jiang Hu, and C. N. Sze 1 Introduction Chapters 26 and 27 presented buffering algorithms where the buffering problem was isolated from the general problem

More information

Linking Layout to Logic Synthesis: A Unification-Based Approach

Linking Layout to Logic Synthesis: A Unification-Based Approach Linking Layout to Logic Synthesis: A Unification-Based Approach Massoud Pedram Department of EE-Systems University of Southern California Los Angeles, CA February 1998 Outline Introduction Technology and

More information

Double Patterning-Aware Detailed Routing with Mask Usage Balancing

Double Patterning-Aware Detailed Routing with Mask Usage Balancing Double Patterning-Aware Detailed Routing with Mask Usage Balancing Seong-I Lei Department of Computer Science National Tsing Hua University HsinChu, Taiwan Email: d9762804@oz.nthu.edu.tw Chris Chu Department

More information

Making Fast Buffer Insertion Even Faster Via Approximation Techniques

Making Fast Buffer Insertion Even Faster Via Approximation Techniques 1A-3 Making Fast Buffer Insertion Even Faster Via Approximation Techniques Zhuo Li 1,C.N.Sze 1, Charles J. Alpert 2, Jiang Hu 1, and Weiping Shi 1 1 Dept. of Electrical Engineering, Texas A&M University,

More information

PERFORMANCE optimization has always been a critical

PERFORMANCE optimization has always been a critical IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 18, NO. 11, NOVEMBER 1999 1633 Buffer Insertion for Noise and Delay Optimization Charles J. Alpert, Member, IEEE, Anirudh

More information

Symmetrical Buffer Placement in Clock Trees for Minimal Skew Immune to Global On-chip Variations

Symmetrical Buffer Placement in Clock Trees for Minimal Skew Immune to Global On-chip Variations XXVII IEEE INTERNATIONAL CONFERENCE ON COMPUTER DESIGN, OCTOBER 5, 2009 Symmetrical Buffer Placement in Clock Trees for Minimal Skew Immune to Global On-chip Variations Renshen Wang 1 Takumi Okamoto 2

More information

Very Large Scale Integration (VLSI)

Very Large Scale Integration (VLSI) Very Large Scale Integration (VLSI) Lecture 6 Dr. Ahmed H. Madian Ah_madian@hotmail.com Dr. Ahmed H. Madian-VLSI 1 Contents FPGA Technology Programmable logic Cell (PLC) Mux-based cells Look up table PLA

More information

K. Keutzer. A. Kahng

K. Keutzer. A. Kahng Routing in Integrated Circuits A. Kahng K. Keutzer A. R. Newton ECE 260B CSE 241A /UCB EECS 244 1 Class News Wednesday: Presentation of research topics in placement, routing, and timing Each group will

More information

Digital VLSI Design. Lecture 7: Placement

Digital VLSI Design. Lecture 7: Placement Digital VLSI Design Lecture 7: Placement Semester A, 2016-17 Lecturer: Dr. Adam Teman 29 December 2016 Disclaimer: This course was prepared, in its entirety, by Adam Teman. Many materials were copied from

More information

ECE260B CSE241A Winter Routing. Website:

ECE260B CSE241A Winter Routing. Website: ECE260B CSE241A Winter 2007 Routing Website: http://vlsicad.ucsd.edu/courses/ece260b-w07 ECE 260B CSE 241A Routing 1 Homework Questions, January 24, 2007 Placement Lecture (Lecture #5) Question 1. Slide

More information

Single Step Current Driven Routing of Multiterminal Signal Nets for Analog Applications *

Single Step Current Driven Routing of Multiterminal Signal Nets for Analog Applications * Single Step Current Driven Routing of Multiterminal Signal Nets for Analog Applications * Thorsten Adler Infineon Technologies AG Thorsten.Adler@infineon.com Erich Barke Institute of Microelectronic Systems

More information

IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 20, NO. 3, MARCH

IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 20, NO. 3, MARCH IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 20, NO. 3, MARCH 2012 459 NCTU-GR: Efficient Simulated Evolution-Based Rerouting and Congestion-Relaxed Layer Assignment on 3-D Global

More information

EE582 Physical Design Automation of VLSI Circuits and Systems

EE582 Physical Design Automation of VLSI Circuits and Systems EE582 Prof. Dae Hyun Kim School of Electrical Engineering and Computer Science Washington State University Preliminaries Table of Contents Semiconductor manufacturing Problems to solve Algorithm complexity

More information

Pseudopin Assignment with Crosstalk Noise Control

Pseudopin Assignment with Crosstalk Noise Control 598 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 20, NO. 5, MAY 2001 Pseudopin Assignment with Crosstalk Noise Control Chin-Chih Chang and Jason Cong, Fellow, IEEE

More information

Planning for Local Net Congestion in Global Routing

Planning for Local Net Congestion in Global Routing Planning for Local Net Congestion in Global Routing Hamid Shojaei, Azadeh Davoodi, and Jeffrey Linderoth* Department of Electrical and Computer Engineering *Department of Industrial and Systems Engineering

More information

Topics. ! PLAs.! Memories: ! Datapaths.! Floor Planning ! ROM;! SRAM;! DRAM. Modern VLSI Design 2e: Chapter 6. Copyright 1994, 1998 Prentice Hall

Topics. ! PLAs.! Memories: ! Datapaths.! Floor Planning ! ROM;! SRAM;! DRAM. Modern VLSI Design 2e: Chapter 6. Copyright 1994, 1998 Prentice Hall Topics! PLAs.! Memories:! ROM;! SRAM;! DRAM.! Datapaths.! Floor Planning Programmable logic array (PLA)! Used to implement specialized logic functions.! A PLA decodes only some addresses (input values);

More information

Clock Tree Resynthesis for Multi-corner Multi-mode Timing Closure

Clock Tree Resynthesis for Multi-corner Multi-mode Timing Closure Clock Tree Resynthesis for Multi-corner Multi-mode Timing Closure Subhendu Roy 1, Pavlos M. Mattheakis 2, Laurent Masse-Navette 2 and David Z. Pan 1 1 ECE Department, The University of Texas at Austin

More information

Efficient Rectilinear Steiner Tree Construction with Rectangular Obstacles

Efficient Rectilinear Steiner Tree Construction with Rectangular Obstacles Proceedings of the th WSES Int. onf. on IRUITS, SYSTEMS, ELETRONIS, ONTROL & SIGNL PROESSING, allas, US, November 1-3, 2006 204 Efficient Rectilinear Steiner Tree onstruction with Rectangular Obstacles

More information

Symmetrical Buffer Placement in Clock Trees for Minimal Skew Immune to Global On-chip Variations

Symmetrical Buffer Placement in Clock Trees for Minimal Skew Immune to Global On-chip Variations Symmetrical Buffer Placement in Clock Trees for Minimal Skew Immune to Global On-chip Variations Renshen Wang Department of Computer Science and Engineering University of California, San Diego La Jolla,

More information

Symmetrical Buffered Clock-Tree Synthesis with Supply-Voltage Alignment

Symmetrical Buffered Clock-Tree Synthesis with Supply-Voltage Alignment Symmetrical Buffered Clock-Tree Synthesis with Supply-Voltage Alignment Xin-Wei Shih, Tzu-Hsuan Hsu, Hsu-Chieh Lee, Yao-Wen Chang, Kai-Yuan Chao 2013.01.24 1 Outline 2 Clock Network Synthesis Clock network

More information

Prediction and Reduction of Routing Congestion

Prediction and Reduction of Routing Congestion rediction and Reduction of Routing Congestion Mehdi Saeedi Morteza Saheb Zamani Ali Jahanian Amirkabir University of Technology Computer Engineering Department Tehran, Iran {saeedi, szamani, jahanian}@ce.aut.ac.ir

More information

Animation of VLSI CAD Algorithms A Case Study

Animation of VLSI CAD Algorithms A Case Study Session 2220 Animation of VLSI CAD Algorithms A Case Study John A. Nestor Department of Electrical and Computer Engineering Lafayette College Abstract The design of modern VLSI chips requires the extensive

More information

PushPull: Short Path Padding for Timing Error Resilient Circuits YU-MING YANG IRIS HUI-RU JIANG SUNG-TING HO. IRIS Lab National Chiao Tung University

PushPull: Short Path Padding for Timing Error Resilient Circuits YU-MING YANG IRIS HUI-RU JIANG SUNG-TING HO. IRIS Lab National Chiao Tung University PushPull: Short Path Padding for Timing Error Resilient Circuits YU-MING YANG IRIS HUI-RU JIANG SUNG-TING HO IRIS Lab National Chiao Tung University Outline Introduction Problem Formulation Algorithm -

More information

Effects of FPGA Architecture on FPGA Routing

Effects of FPGA Architecture on FPGA Routing Effects of FPGA Architecture on FPGA Routing Stephen Trimberger Xilinx, Inc. 2100 Logic Drive San Jose, CA 95124 USA steve@xilinx.com Abstract Although many traditional Mask Programmed Gate Array (MPGA)

More information

Buffered Steiner Trees for Difficult Instances

Buffered Steiner Trees for Difficult Instances Buffered Steiner Trees for Difficult Instances C. J. Alpert 1, M. Hrkic 2, J. Hu 1, A. B. Kahng 3, J. Lillis 2, B. Liu 3, S. T. Quay 1, S. S. Sapatnekar 4, A. J. Sullivan 1, P. Villarrubia 1 1 IBM Corp.,

More information

c 2011 Yun Wei Chang

c 2011 Yun Wei Chang c 2011 Yun Wei Chang SINGLE-LAYER BUS ROUTING FOR HIGH-SPEED BOARDS BY YUN WEI CHANG THESIS Submitted in partial fulfillment of the requirements for the degree of Master of Science in Electrical and Computer

More information

Cluster-based approach eases clock tree synthesis

Cluster-based approach eases clock tree synthesis Page 1 of 5 EE Times: Design News Cluster-based approach eases clock tree synthesis Udhaya Kumar (11/14/2005 9:00 AM EST) URL: http://www.eetimes.com/showarticle.jhtml?articleid=173601961 Clock network

More information

VLSI Physical Design: From Graph Partitioning to Timing Closure

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 8 Timing Closure VLSI Physical Design: From Graph Partitioning to Timing Closure Original Authors: Andrew B. Kahng, Jens, Igor L. Markov, Jin Hu VLSI Physical Design: From Graph Partitioning to

More information

VLSI CAD Flow: Logic Synthesis, Placement and Routing Lecture 5. Guest Lecture by Srini Devadas

VLSI CAD Flow: Logic Synthesis, Placement and Routing Lecture 5. Guest Lecture by Srini Devadas VLSI CAD Flow: Logic Synthesis, Placement and Routing 6.375 Lecture 5 Guest Lecture by Srini Devadas 1 RTL Design Flow HDL RTL Synthesis manual design Library/ module generators netlist logic optimization

More information

On GPU Bus Power Reduction with 3D IC Technologies

On GPU Bus Power Reduction with 3D IC Technologies On GPU Bus Power Reduction with 3D Technologies Young-Joon Lee and Sung Kyu Lim School of ECE, Georgia Institute of Technology, Atlanta, Georgia, USA yjlee@gatech.edu, limsk@ece.gatech.edu Abstract The

More information

Layout DA (Physical Design)

Layout DA (Physical Design) Layout DA (Physical Design) n Floor Planning n Placement and Partitioning n Global Routing n Routing n Layout Compaction 1 Routing n Types of Local Routing Problems n Area Routing u Lee s Algorithm n Channel

More information

Call for Participation

Call for Participation ACM International Symposium on Physical Design 2015 Blockage-Aware Detailed-Routing-Driven Placement Contest Call for Participation Start date: November 10, 2014 Registration deadline: December 30, 2014

More information

Congestion Prediction in Early Stages of Physical Design

Congestion Prediction in Early Stages of Physical Design Congestion Prediction in Early Stages of Physical Design CHIU-WING SHAM The Hong Kong Polytechnic University EVANGELINE F. Y. YOUNG The Chinese University of Hong Kong and JINGWEI LU The Hong Kong Polytechnic

More information

Optimized Pin Assignment for Lower Routing Congestion After Floorplanning Phase

Optimized Pin Assignment for Lower Routing Congestion After Floorplanning Phase Optimized Pin Assignment for Lower Routing Congestion After Floorplanning Phase Tianpei Zhang and Sachin S. Sapatnekar Department of Electrical and Computer Engineering University of Minnesota Introduction

More information

Eliminating Routing Congestion Issues with Logic Synthesis

Eliminating Routing Congestion Issues with Logic Synthesis Eliminating Routing Congestion Issues with Logic Synthesis By Mike Clarke, Diego Hammerschlag, Matt Rardon, and Ankush Sood Routing congestion, which results when too many routes need to go through an

More information

Fast, Accurate A Priori Routing Delay Estimation

Fast, Accurate A Priori Routing Delay Estimation Fast, Accurate A Priori Routing Delay Estimation Jinhai Qiu Implementation Group Synopsys Inc. Mountain View, CA Jinhai.Qiu@synopsys.com Sherief Reda Division of Engineering Brown University Providence,

More information

Fishbone: A Block-Level Placement and Routing Scheme

Fishbone: A Block-Level Placement and Routing Scheme Fishbone: Block-Level Placement and Routing Scheme Fan Mo EECS, UC Berkeley Robert K. Brayton EECS, UC Berkeley Cory Hall, UC Berkeley 57 Cory Hall, UC Berkeley Berkeley, C97 Berkeley, C97-5-6-6 -5-6-98

More information

AN OPTIMIZED ALGORITHM FOR SIMULTANEOUS ROUTING AND BUFFER INSERTION IN MULTI-TERMINAL NETS

AN OPTIMIZED ALGORITHM FOR SIMULTANEOUS ROUTING AND BUFFER INSERTION IN MULTI-TERMINAL NETS www.arpnjournals.com AN OPTIMIZED ALGORITHM FOR SIMULTANEOUS ROUTING AND BUFFER INSERTION IN MULTI-TERMINAL NETS C. Uttraphan 1, N. Shaikh-Husin 2 1 Embedded Computing System (EmbCoS) Research Focus Group,

More information

An integrated placement and routing approach

An integrated placement and routing approach Retrospective Theses and Dissertations 2006 An integrated placement and routing approach Min Pan Iowa State University Follow this and additional works at: http://lib.dr.iastate.edu/rtd Part of the Electrical

More information

Porosity Aware Buffered Steiner Tree Construction

Porosity Aware Buffered Steiner Tree Construction IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. XX, NO. Y, MONTH 2003 100 Porosity Aware Buffered Steiner Tree Construction Charles J. Alpert, Gopal Gandham, Milos Hrkic,

More information

Placement Algorithm for FPGA Circuits

Placement Algorithm for FPGA Circuits Placement Algorithm for FPGA Circuits ZOLTAN BARUCH, OCTAVIAN CREŢ, KALMAN PUSZTAI Computer Science Department, Technical University of Cluj-Napoca, 26, Bariţiu St., 3400 Cluj-Napoca, Romania {Zoltan.Baruch,

More information

Digital VLSI Design. Lecture 9: Routing

Digital VLSI Design. Lecture 9: Routing Digital VLSI Design Lecture 9: Routing Semester A, 018-19 Lecturer: Dr. Adam Teman January 5, 019 Disclaimer: This course was prepared, in its entirety, by Adam Teman. Many materials were copied from sources

More information

IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS 1

IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS 1 IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS 1 RegularRoute: An Efficient Detailed Router Applying Regular Routing Patterns Yanheng Zhang and Chris Chu Abstract In this paper, we propose

More information

Routing Tree Construction with Buffer Insertion under Buffer Location Constraints and Wiring Obstacles

Routing Tree Construction with Buffer Insertion under Buffer Location Constraints and Wiring Obstacles Routing Tree Construction with Buffer Insertion under Buffer Location Constraints and Wiring Obstacles Ying Rao, Tianxiang Yang University of Wisconsin Madison {yrao, tyang}@cae.wisc.edu ABSTRACT Buffer

More information

Multilayer Routing on Multichip Modules

Multilayer Routing on Multichip Modules Multilayer Routing on Multichip Modules ECE 1387F CAD for Digital Circuit Synthesis and Layout Professor Rose Friday, December 24, 1999. David Tam (2332 words, not counting title page and reference section)

More information

Construction of All Rectilinear Steiner Minimum Trees on the Hanan Grid

Construction of All Rectilinear Steiner Minimum Trees on the Hanan Grid Construction of All Rectilinear Steiner Minimum Trees on the Hanan Grid Sheng-En David Lin and Dae Hyun Kim Presenter: Dae Hyun Kim (Assistant Professor) daehyun@eecs.wsu.edu School of Electrical Engineering

More information

AS VLSI technology scales to deep submicron and beyond, interconnect

AS VLSI technology scales to deep submicron and beyond, interconnect IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL., NO. 1 TILA-S: Timing-Driven Incremental Layer Assignment Avoiding Slew Violations Derong Liu, Bei Yu Member, IEEE, Salim

More information

A Multi-Layer Router Utilizing Over-Cell Areas

A Multi-Layer Router Utilizing Over-Cell Areas A Multi-Layer Router Utilizing Over-Cell Areas Evagelos Katsadas and Edwin h e n Department of Electrical Engineering University of Rochester Rochester, New York 14627 ABSTRACT A new methodology is presented

More information

Parallel Global Routing Algorithms for Standard Cells

Parallel Global Routing Algorithms for Standard Cells Parallel Global Routing Algorithms for Standard Cells Zhaoyun Xing Computer and Systems Research Laboratory University of Illinois Urbana, IL 61801 xing@crhc.uiuc.edu Prithviraj Banerjee Center for Parallel

More information

/97 $ IEEE

/97 $ IEEE NRG: Global and Detailed Placement Majid Sarrafzadeh Maogang Wang Department of Electrical and Computer Engineering, Northwestern University majid@ece.nwu.edu Abstract We present a new approach to the

More information

Constructive floorplanning with a yield objective

Constructive floorplanning with a yield objective Constructive floorplanning with a yield objective Rajnish Prasad and Israel Koren Department of Electrical and Computer Engineering University of Massachusetts, Amherst, MA 13 E-mail: rprasad,koren@ecs.umass.edu

More information

Simultaneous Shield and Buffer Insertion for Crosstalk Noise Reduction in Global Routing

Simultaneous Shield and Buffer Insertion for Crosstalk Noise Reduction in Global Routing Simultaneous Shield and Buffer Insertion for Crosstalk Noise Reduction in Global Routing Tianpei Zhang and Sachin S. Sapatnekar Department of Electrical and Computer Engineering, University of Minnesota

More information

Copyright 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin Introduction to the Design & Analysis of Algorithms, 2 nd ed., Ch.

Copyright 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin Introduction to the Design & Analysis of Algorithms, 2 nd ed., Ch. Iterative Improvement Algorithm design technique for solving optimization problems Start with a feasible solution Repeat the following step until no improvement can be found: change the current feasible

More information

UNIVERSITY OF CALIFORNIA College of Engineering Department of Electrical Engineering and Computer Sciences Lab #2: Layout and Simulation

UNIVERSITY OF CALIFORNIA College of Engineering Department of Electrical Engineering and Computer Sciences Lab #2: Layout and Simulation UNIVERSITY OF CALIFORNIA College of Engineering Department of Electrical Engineering and Computer Sciences Lab #2: Layout and Simulation NTU IC541CA 1 Assumed Knowledge This lab assumes use of the Electric

More information

Satisfiability Modulo Theory based Methodology for Floorplanning in VLSI Circuits

Satisfiability Modulo Theory based Methodology for Floorplanning in VLSI Circuits Satisfiability Modulo Theory based Methodology for Floorplanning in VLSI Circuits Suchandra Banerjee Anand Ratna Suchismita Roy mailnmeetsuchandra@gmail.com pacific.anand17@hotmail.com suchismita27@yahoo.com

More information

Time Algorithm for Optimal Buffer Insertion with b Buffer Types *

Time Algorithm for Optimal Buffer Insertion with b Buffer Types * An Time Algorithm for Optimal Buffer Insertion with b Buffer Types * Zhuo Dept. of Electrical Engineering Texas University College Station, Texas 77843, USA. zhuoli@ee.tamu.edu Weiping Shi Dept. of Electrical

More information

An Introduction to FPGA Placement. Yonghong Xu Supervisor: Dr. Khalid

An Introduction to FPGA Placement. Yonghong Xu Supervisor: Dr. Khalid RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS UNIVERSITY OF WINDSOR An Introduction to FPGA Placement Yonghong Xu Supervisor: Dr. Khalid RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS UNIVERSITY OF WINDSOR

More information

VLSI Physical Design: From Graph Partitioning to Timing Closure

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 7 Specialized Routing Original Authors: Andrew B. Kahng, Jens, Igor L. Markov, Jin Hu Chapter 7 Specialized Routing 7. Introduction to Area Routing 7. Net Ordering in Area Routing 7.3 Non-Manhattan

More information

SYNTHESIS FOR ADVANCED NODES

SYNTHESIS FOR ADVANCED NODES SYNTHESIS FOR ADVANCED NODES Abhijeet Chakraborty Janet Olson SYNOPSYS, INC ISPD 2012 Synopsys 2012 1 ISPD 2012 Outline Logic Synthesis Evolution Technology and Market Trends The Interconnect Challenge

More information

Fast Delay Estimation with Buffer Insertion for Through-Silicon-Via-Based 3D Interconnects

Fast Delay Estimation with Buffer Insertion for Through-Silicon-Via-Based 3D Interconnects Fast Delay Estimation with Buffer Insertion for Through-Silicon-Via-Based 3D Interconnects Young-Joon Lee and Sung Kyu Lim Electrical and Computer Engineering, Georgia Institute of Technology email: yjlee@gatech.edu

More information

Shortest Path Search Algorithms with Heuristic and Bidirectional Searches. Marcelo Johann.

Shortest Path Search Algorithms with Heuristic and Bidirectional Searches. Marcelo Johann. Shortest Path Search Algorithms with Heuristic and Bidirectional Searches Marcelo Johann johann@inf.ufrgs.br www.inf.ufrgs.br/~johann Bidirectional Heuristic Shortest Path Search - Marcelo Johann - 2009

More information

Pyramids: An Efficient Computational Geometry-based Approach for Timing-Driven Placement

Pyramids: An Efficient Computational Geometry-based Approach for Timing-Driven Placement Pyramids: An Efficient Computational Geometry-based Approach for Timing-Driven Placement Tao Luo, David A. Papa, Zhuo Li, C. N. Sze, Charles J. Alpert and David Z. Pan Magma Design Automation / Austin,

More information

FastPlace 2.0: An Efficient Analytical Placer for Mixed- Mode Designs

FastPlace 2.0: An Efficient Analytical Placer for Mixed- Mode Designs FastPlace.0: An Efficient Analytical Placer for Mixed- Mode Designs Natarajan Viswanathan Min Pan Chris Chu Iowa State University ASP-DAC 006 Work supported by SRC under Task ID: 106.001 Mixed-Mode Placement

More information

CMPUT 396 Sliding Tile Puzzle

CMPUT 396 Sliding Tile Puzzle CMPUT 396 Sliding Tile Puzzle Sliding Tile Puzzle 2x2 Sliding Tile States Exactly half of the states are solvable, the other half are not. In the case of 2x2 puzzles, I can solve it if I start with a configuration

More information

DpRouter: A Fast and Accurate Dynamic- Pattern-Based Global Routing Algorithm

DpRouter: A Fast and Accurate Dynamic- Pattern-Based Global Routing Algorithm DpRouter: A Fast and Accurate Dynamic- Pattern-Based Global Routing Algorithm Zhen Cao 1,Tong Jing 1, 2, Jinjun Xiong 2, Yu Hu 2, Lei He 2, Xianlong Hong 1 1 Tsinghua University 2 University of California,

More information

Trees, Trees and More Trees

Trees, Trees and More Trees Trees, Trees and More Trees August 9, 01 Andrew B. Kahng abk@cs.ucsd.edu http://vlsicad.ucsd.edu/~abk/ How You ll See Trees in CS Trees as mathematical objects Trees as data structures Trees as tools for

More information

Probability-Based Approach to Rectilinear Steiner Tree Problems

Probability-Based Approach to Rectilinear Steiner Tree Problems 836 IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 10, NO. 6, DECEMBER 2002 Probability-Based Approach to Rectilinear Steiner Tree Problems Chunhong Chen, Member, IEEE, Jiang Zhao,

More information

CAD Flow for FPGAs Introduction

CAD Flow for FPGAs Introduction CAD Flow for FPGAs Introduction What is EDA? o EDA Electronic Design Automation or (CAD) o Methodologies, algorithms and tools, which assist and automatethe design, verification, and testing of electronic

More information

Automated Extraction of Physical Hierarchies for Performance Improvement on Programmable Logic Devices

Automated Extraction of Physical Hierarchies for Performance Improvement on Programmable Logic Devices Automated Extraction of Physical Hierarchies for Performance Improvement on Programmable Logic Devices Deshanand P. Singh Altera Corporation dsingh@altera.com Terry P. Borer Altera Corporation tborer@altera.com

More information

Foundations of Computing

Foundations of Computing Foundations of Computing Darmstadt University of Technology Dept. Computer Science Winter Term 2005 / 2006 Copyright c 2004 by Matthias Müller-Hannemann and Karsten Weihe All rights reserved http://www.algo.informatik.tu-darmstadt.de/

More information

A Novel Framework for Multilevel Full-Chip Gridless Routing

A Novel Framework for Multilevel Full-Chip Gridless Routing A Novel Framework for Multilevel Full-Chip Gridless Routing Tai-Chen Chen Yao-Wen Chang Shyh-Chang Lin Graduate Institute of Electronics Engineering Graduate Institute of Electronics Engineering SpringSoft,

More information

CAD Algorithms. Circuit Partitioning

CAD Algorithms. Circuit Partitioning CAD Algorithms Partitioning Mohammad Tehranipoor ECE Department 13 October 2008 1 Circuit Partitioning Partitioning: The process of decomposing a circuit/system into smaller subcircuits/subsystems, which

More information

VLSI Design Automation Final Project Due: June 26 th, Project: A Router

VLSI Design Automation Final Project Due: June 26 th, Project: A Router Project: A Router In lecture, we described how to use the maze routing method to route the wires in a large ASIC, using a 3-dimensional stack of routing grids. In this project assignment, you get to build

More information

Trace Signal Selection to Enhance Timing and Logic Visibility in Post-Silicon Validation

Trace Signal Selection to Enhance Timing and Logic Visibility in Post-Silicon Validation Trace Signal Selection to Enhance Timing and Logic Visibility in Post-Silicon Validation Hamid Shojaei, and Azadeh Davoodi University of Wisconsin 1415 Engineering Drive, Madison WI 53706 Email: {shojaei,

More information

Greedy Algorithms CHAPTER 16

Greedy Algorithms CHAPTER 16 CHAPTER 16 Greedy Algorithms In dynamic programming, the optimal solution is described in a recursive manner, and then is computed ``bottom up''. Dynamic programming is a powerful technique, but it often

More information