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

Size: px
Start display at page:

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

Transcription

1 ECE 7 Complex Digital ASIC Design Topic : Physical Design Automation Algorithms Christopher atten School of Electrical and Computer Engineering Cornell University

2 Placement Global Routing Detailed Routing Part : CAD Algorithms Placement x = a'bc + a'bc' y = b'c' + ab' + ac x = a'b y = b'c' + ac RTL to Logic Synthesis Technology Independent Synthesis Technology Dependent Synthesis Global Routing Detailed Routing ECE 7 T: Physical Design Automation Algorithms /

3 Placement Global Routing Detailed Routing Placement KLMH a b d e c f g h Linear Placement a c b g h d f e VDD h e d a h e d a g f c b g f c b GND D Placement Placement and Routing with Standard Cells Adapted from [Khang ] VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter : Global and Detailed Placement ECE 7 T: Physical Design Automation Algorithms / Lienig

4 Placement Global Routing Detailed Routing Global vs. Detailed Placement Global Placement Detailed Placement Adapted from [Khang ] ECE 7 T: Physical Design Automation Algorithms /

5 Placement Global Routing Detailed Routing Placement Objective Functions Total Wirelength Number of Cut Nets Wire Congestion Signal Delay. Optimization Objectives Total Wirelength KLMH e h a k j f h c f l i VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter : Global and Detailed Placement 6 b j g d k i d c e l b a g 0 Springer Verlag Lienig Adapted from [Khang ] ECE 7 T: Physical Design Automation Algorithms / pringer Verlag

6 Placement Global Routing Detailed Routing Results of Placement Good vs. ad Placement ad placement causes routing congestion resulting in: Increases in circuit area (cost) and wiring Longer wires more capacitance Longer delay Higher dynamic power dissipation Good placement Circuit area (cost) and wiring decreases Shorter wires less capacitance Shorter delay Less dynamic power dissipation Kurt Keutzer Adapted from [Devadas 06] ECE 7 T: Physical Design Automation Algorithms 6 /

7 Placement Global Routing Detailed Routing. Introduction Partitioning KLMH Circuit: 6 Cut c b 7 8 Cut c a lock A lock lock A lock Cut c a : four external connections Cut c b : two external connections Adapted from [Khang ] ECE 7 T: Physical Design Automation Algorithms 7 / VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter : Netlist and System Partitioning Lienig

8 . Terminology Placement Global Routing Detailed Routing Partitioning Terminology lock (Partition) Graph G : Nodes,,. 6 6 Cells Graph G : Nodes,, 6. Collection of cut edges Cut set: (,), (,), (,6), Adapted from [Khang ] ECE 7 T: Physical Design Automation Algorithms 8 / VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter : Netlist and System Partitioning

9 .. Kernighan-Lin (KL) Algorithm Placement Global Routing Detailed Routing Kernighan-Lin (KL) Algorithm Given: A graph with n nodes where each node has the same weight. Goal: A partition (division) of the graph into two disjoint subsets A and with minimum cut cost and A = = n. Example: n = lock A 6 lock 7 8 Adapted from [Khang ] ECE 7 T: Physical Design Automation Algorithms 9 /

10 .. Kernighan-Lin (KL) Algorithm Terminology Placement Global Routing Detailed Routing Kernighan-Lin (KL) Algorithm Concepts KLMH Cost D(v) of moving a node v D(v) = E c (v) E nc (v), 6 where E c (v) is the set of v s incident edges that are cut by the cut line, and E nc (v) is the set of v s incident edges that are not cut by the cut line. Node : D() = -= 7 8 High costs (D > 0) indicate that the node should move, while low costs (D < 0) indicate that the node should stay within the same partition. Node 7: D(7) = -= Adapted from [Khang ] ECE 7 T: Physical Design Automation Algorithms 0 / VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter : Netlist and System Partitioning 0

11 .. Kernighan-Lin (KL) Algorithm Terminology Placement Global Routing Detailed Routing Kernighan-Lin (KL) Algorithm Concepts KLMH Gain of swapping a pair of nodes a und b g = D(a) + D(b) -* c(a,b), 6 where D(a), D(b) are the respective costs of nodes a, b c(a,b) is the connection weight between a and b: If an edge exists between a and b, then c(a,b) = edge weight (here ), otherwise, c(a,b) = The gain g indicates how useful the swap between two nodes will be The larger g, the more the total cut cost will be reduced Adapted from [Khang ] ECE 7 T: Physical Design Automation Algorithms / VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter : Netlist and System Partitioning

12 Placement Global Routing Detailed Routing Kernighan-Lin (KL) Algorithm Concepts.. Kernighan-Lin (KL) Algorithm Terminology KLMH Gain of swapping a pair of nodes a und b Node 7: D(7) = -= g = D(a) + D(b) -* c(a,b), 6 where D(a), D(b) are the respective costs of nodes a, b c(a,b) is the connection weight between a and b: If an edge exists between a and b, then c(a,b) = edge weight (here ), otherwise, c(a,b) = 0. Node : D() = -= 7 8 g (,7) = D() + D(7) - * c(a,b) = + = 6 => Swapping nodes and 7 would reduce the cut size by 7 8 Adapted from [Khang ] VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter : Netlist and System Partitioning ECE 7 T: Physical Design Automation Algorithms / Lienig

13 Placement Global Routing Detailed Routing Kernighan-Lin (KL) Algorithm Concepts.. Kernighan-Lin (KL) Algorithm Terminology KLMH Gain of swapping a pair of nodes a und b Node : D() = -= g = D(a) + D(b) -* c(a,b), 6 where D(a), D(b) are the respective costs of nodes a, b c(a,b) is the connection weight between a and b: If an edge exists between a and b, then c(a,b) = edge weight (here ), otherwise, c(a,b) = 0. Node : D() = -= 7 8 g (,) = D() + D() - * c(a,b) = + 0 = 6 => Swapping nodes and would reduce the cut size by 7 8 Adapted from [Khang ] VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter : Netlist and System Partitioning ECE 7 T: Physical Design Automation Algorithms / Lienig

14 Placement Global Routing Detailed Routing Kernighan-Lin (KL) Algorithm Example.. Kernighan-Lin (KL) Algorithm Example KLMH Cut cost: 9 Not fixed:,,,,,6,7,8 Cut cost: 6 Not fixed:,,,6,7,8 Cut cost: Not fixed:,,7,8 Cut cost: 7 Not fixed:,8 Cut cost: 9 Not fixed: D() = D() = D() = D(6) = D() = D(7) = D() = D(8) = D() = - D(6) = D() = - D(7)=- D() = D(8)=- D() = - D() = - D(7)=- D(8)=- D() = - D(8)=- g = +-0 = Swap (,) G = g = g = +-0 = Swap (,6) G = G + g =8 g = ---0 = -6 Swap (,7) G = G + g = g = ---0 = - Swap (,8) G = G + g = 0 Adapted from [Khang ] VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter : Netlist and System Partitioning ECE 7 T: Physical Design Automation Algorithms / Lienig

15 Placement Global Routing Detailed Routing Kernighan-Lin (KL) Algorithm Example.. Kernighan-Lin (KL) Algorithm Example KLMH D() = D() = D() = D(6) = D() = D(7) = D() = D(8) = D() = - D(6) = D() = - D(7)=- D() = D(8)=- D() = - D() = - D(7)=- D(8)=- D() = - D(8)=- g = +-0 = Swap (,) G = g = g = +-0 = Swap (,6) G = G + g =8 g = ---0 = -6 Swap (,7) G = G + g = g = ---0 = - Swap (,8) G = G + g = 0 Maximum positive gain G m = 8 with m =. Since G m > 0, the first m = swaps (,) and (,6) are executed. 6 Since G m > 0, more passes are needed until G m VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter : Netlist and System Partitioning 7 Adapted from [Khang ] ECE 7 T: Physical Design Automation Algorithms / Lienig

16 Placement Global Routing Detailed Routing Min-Cut Placement Use partitioning algorithm (such as KL) to divide netlist into two regions Use partitioning algorithm to recursively divide the two partitions into two smaller regions (four regions total) Each cut heuristically minimizes the number of cut nets Adapted from [Khang ] ECE 7 T: Physical Design Automation Algorithms /

17 .. Min-Cut Placement Example Placement Global Routing Detailed Routing Min-Cut Example Given: 6 Task: x placement with minimum wirelength using alternative cutline directions and the KL algorithm Adapted from [Khang ] ECE 7 T: Physical Design Automation Algorithms 6 / VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter : Global and Detailed Placem

18 Placement Global Routing Detailed Routing Min-Cut Example..cut Min-Cut-Platzierung: eispiel 6 KLMH Vertical cut cut : L={,,}, R={,,6} KL Algorithms cut cut Adapted from [Khang ] ECE 7 T: Physical Design Automation Algorithms 7 /

19 Placement Global Routing Detailed Routing Min-Cut Example 6 KLMH 0 0 Horizontal cut cut L : T={,}, ={,0} cut Horizontal cut cut R : T={,}, ={6,0} 0 cut L 0 6 cut R cut TL cut TR cut L cut R 6 VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter : Global and Detailed Placement 6 Adapted from [Khang ] ECE 7 T: Physical Design Automation Algorithms 8 / Lienig

20 Placement Global Routing Detailed Routing Analytical Placement with Quadratic Placement Algorithm.. Analytic Placement Quadratic Placement KLMH Objective function is quadratic; sum of (weighted) squared Euclidean distance represents placement objective function L( P) = n i, j= c ij ( ) ( ) ) x x + y y i j i where n is the total number of cells, and c(i,j) is the connection cost between cells i and j. j Only two-point-connections Minimize objective function by equating its derivative to zero which reduces to solving a system of linear equations Adapted from [Khang ] ECE 7 T: Physical Design Automation Algorithms 9 /

21 Placement Global Routing Detailed Routing Minimizing Objective Function Clumps Cells Together yout after Min-cut Adapted from [Devadas 06] Now global placement problem will be solved again ECE 7 T: Physical Design Automation Algorithms 0 /

22 First Iteration Placement Global Routing Detailed Routing Using Partitioning to Pull Cells Apart Second Iteration Third Iteration Kurt Keutzer A. Kahng 0 Kurt Keutzer Fourth Iteration A. Kahng Kurt Keutzer A. Kahng Kurt Keutzer A. Kahng Adapted from [Devadas 06,Kahng ] ECE 7 T: Physical Design Automation Algorithms /

23 Placement Global Routing Detailed Routing Part : CAD Algorithms Placement x = a'bc + a'bc' y = b'c' + ab' + ac x = a'b y = b'c' + ac RTL to Logic Synthesis Technology Independent Synthesis Technology Dependent Synthesis Global Routing Detailed Routing ECE 7 T: Physical Design Automation Algorithms /

24 .Placement Introduction: GlobalGeneral Routing Routing Detailed Problem Routing General Routing Problem Netlist: N = {C, D 6, } N = {D,, C, A } N = {C, D } N = {, A, C } A N N N N C Technology Information (Design Rules) D 6 Adapted from [Kahng ] ECE 7 T: Physical Design Automation Algorithms /

25 Placement Global Routing Detailed Routing. Introduction Routing Algorithm Taxonomy KLMH Routing Multi-Stage Routing of Signal Nets Global Routing Detailed Routing Timing-Driven Routing Large Single- Net Routing Geometric Techniques Coarse-grain assignment of routes to routing regions Fine-grain assignment of routes to routing tracks Net topology optimization and resource allocation to critical nets Power (VDD) and Ground (GND) routing Non-Manhattan and clock routing VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter : Global Routing 9 Adapted from [Kahng ] ECE 7 T: Physical Design Automation Algorithms / Lienig

26 Placement Global Routing Detailed Routing. Introduction Global vs. Detailed Routing KLMH Global Routing Detailed Routing N N N N N N N N N N N N N N N N Horizontal Segment Vertical Segment Via 0 Springer Verlag VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter : Global Routing Adapted from [Kahng ] ECE 7 T: Physical Design Automation Algorithms / Lienig

27 . Terminology and Definitions Placement Global Routing Detailed Routing Terminology: Channel Channel Rectangular routing region with pins on two opposite sides Standard cell layout (Two-layer routing) Adapted from [Kahng ] ECE 7 T: Physical Design Automation Algorithms 6 /

28 . Terminology and Definitions Placement Global Routing Detailed Routing Terminology: Channel Channel Rectangular routing region with pins on two opposite sides Routing channel Routing channel Standard cell layout (Two-layer routing) Adapted from [Kahng ] ECE 7 T: Physical Design Automation Algorithms 7 /

29 . Terminology and Definitions Placement Global Routing Detailed Routing Terminology: Capacity Capacity Number of available routing tracks or columns Horizontal Routing Channel C D C d pitch A C A C D Adapted from [Kahng ] ECE 7 T: Physical Design Automation Algorithms 8 /

30 . Terminology and Definitions Placement Global Routing Detailed Routing Terminology: Switchbox KLMH Switchbox (Two-layer macro cell layout) Intersection of horizontal and vertical channels Vertical Channel C Horizontal Channel A Horizontal Channel C A Horizontal channel is routed after vertical channel is routed Vertical Channel Adapted from [Kahng ] VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter : Global Routing 8 ECE 7 T: Physical Design Automation Algorithms 9 / Lienig

31 . Optimization Goals Placement Global Routing Detailed Routing Terminology: Feed-Through Cells KLMH Standard-cell design If number of metal layers is limited, feedthrough cells must be used to route across multiple cell rows A Feedthrough cells A Variable-die, standard cell design: A A A Total height = Cell row heights + All channel heights 0 Springer Verlag VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter : Global Routing Adapted from [Kahng ] 6 Lienig ECE 7 T: Physical Design Automation Algorithms 0 /

32 . Optimization Goals Placement Global Routing Detailed Routing Optimizing Wirelength vs. Number of Feedthroughs KLMH Standard-cell design Steiner tree solution with minimal wirelength Steiner tree solution with fewest feedthrough cells 0 Springer Verlag Adapted from [Kahng ] ECE 7VLSI Physical Design: From Graph Partitioning T: to Physical Timing Closure Design Automation Algorithms Chapter : Global Routing / 7 Lienig

33 Placement Global Routing Detailed Routing KLMH Rectilinear Routing Definining routing regions Pin connections Pins assigned to grid cells 0 Springer Verlag VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter : Global Routing Adapted from [Kahng ] ECE 7 T: Physical Design Automation Algorithms /

34 Placement Global Routing Detailed Routing Rectilinear Routing A A A A A A A A A A A Pins assigned to grid cells Rectilinear Steiner minimum tree (RSMT) Assigned routing regions and feedthrough cells Sequential Steiner Tree Heuristic VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter : Global Routing Adapted from [Kahng ] ECE 7 T: Physical Design Automation Algorithms /

35 .6. Rectilinear Routing Placement Global Routing Detailed Routing Heuristic Sequential Steiner Tree Algorithm A Sequential Steiner Tree Heuristic. Find the closest (in terms of rectilinear distance) pin pair, construct their minimum bounding box (M). Find the closest point pair (p M,p C ) between any point p M on the M and p C from the set of pins to consider. Construct the M of p M and p C. Add the L-shape that p M lies on to T (deleting the other L-shape). If p M is a pin, then add any L-shape of the M to T.. Goto step until the set of pins to consider is empty VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter : Global Routing Adapted from [Kahng ] ECE 7 T: Physical Design Automation Algorithms /

36 .6. Rectilinear Routing: Example Sequential Steiner Tree Heuristic Placement Global Routing Detailed Routing Heuristic Sequential Steiner Tree Example VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter : Global Adapted Routing from [Kahng ] ECE 7 T: Physical Design Automation Algorithms /

37 .6. Placement Rectilinear Routing: Global Routing Example Sequential Detailed Steiner Routing Tree Heuristic Heuristic Sequential Steiner Tree Example Adapted from [Kahng ] VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter : Global Routing ECE 7 T: Physical Design Automation Algorithms /

38 Placement Global Routing Detailed Routing Part : CAD Algorithms Placement x = a'bc + a'bc' y = b'c' + ab' + ac x = a'b y = b'c' + ac RTL to Logic Synthesis Technology Independent Synthesis Technology Dependent Synthesis Global Routing Detailed Routing ECE 7 T: Physical Design Automation Algorithms 6 /

39 Placement Global Routing Detailed Routing 6. Terminology Detailed Routing Channel and Switchbox Routing E E KLMH C D C D E D A C A C Adapted from [Khang ] VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing 8 ECE 7 T: Physical Design Automation Algorithms 7 / Lienig

40 Placement Global Routing Detailed Routing 6.. Horizontal Constraint Graphs Horizontal Constraint Graphs KLMH Column a b c d e f g h i j k 0 D E F G 0 D 0 0 A C E C E A F H 0 H G S(b) = {A,, C} Let S(col) denote the set of nets that pass through column col S(col) contains all nets that either () are connected to a pin in column col or () have pin connections to both the left and right of col Since horizontal segments cannot overlap, each net in S(col) must be assigned to a different track in column col S(col) represents the lower bound on the number of tracks in colum col; lower bound of the channel height is given by maximum cardinality of any S(col) VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing Adapted from [Khang ] 6 ECE 7 T: Physical Design Automation Algorithms 8 / Lienig

41 Placement Global Routing Detailed Routing 6.. Horizontal Constraint Graphs Horizontal Constraint Graph Example KLMH Column a b c d e f g h i j k 0 D E F G 0 D 0 0 A C E C E A F H 0 H G Focus on columns which are not subsets of any other column S(a) S(b) S(c) S(d)S(e) S(f)S(g) S(h) S(i) S(j) S(k) A 0 D E F G 0 D 0 0 C E D A C E C E A F H 0 H G F G VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing 9 Adapted from [Khang ] H S(a) = {A} S(b) = {A,,C} S(c) = {A,,C,D,E} S(d) = {A,,C,D,E} S(e) = {A,,D,E} S(f) = {A,D,F} S(g) = {D,F},G} S(h) = {D,G,H} S(i) = {D,G,H} S(j) = {G,H} S(k) = {G} ECE 7 T: Physical Design Automation Algorithms 9 / Lienig

42 Placement Global Routing Detailed Routing 6.. Horizontal Constraint Graphs Horizontal Constraint Graph Example KLMH Column a b c d e f g h i j k 0 D E F G 0 D 0 0 A C E C E A F H 0 H G A S(c) S(f)S(g) S(i) 0 D E F G 0 D 0 0 C E D F G H S(c) S(f) S(g) S(i) A G F H C D E A C E C E A F H 0 H G Adapted from [Khang ] VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing 0 ECE 7 T: Physical Design Automation Algorithms 0 / Lienig

43 6.. Vertical Constraint Graphs Placement Global Routing Detailed Routing Vertical Constraint Graphs 0 D E F G 0 D 0 0 A C E C E A F H 0 H G D G E F C A H Adapted from [Khang ] ECE 7 T: Physical Design Automation Algorithms / VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing

44 Placement Global Routing Detailed Routing 6.. Left-Edge Algorithm Example Left-Edge Algorithm Example 0 A D E A F G 0 D I J J C E C E F H I H G I. Generate VCG and zone representation A D J A G E I G C H I C H F D J E F Adapted from [Khang ] ECE 7 VLSI Physical Design: From Graph Partitioning to Timing Closure T: Physical Design Automation Algorithms Chapter 6: Detailed Routing /

45 Placement Global Routing Detailed Routing Left-Edge Algorithm Example 6.. Left-Edge Algorithm Example KLMH A D J A G E I G C H I C H F D J E F. Consider next track. Find left-to-right ordering of all unassigned nets If curr_net has no parents and does not cause conflicts on curr_track assign curr_net curr_track = : Net A Net J. Delete placed nets (A, J ) in VCG and zone represenation Adapted from [Khang ] VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing 9 ECE 7 T: Physical Design Automation Algorithms / Lienig

46 Placement Global Routing Detailed Routing Left-Edge Algorithm Example curr_track = 0 A D E A F G 0 D I J J C E C E F H I H G I Adapted from [Khang ] ECE 7 T: Physical Design Automation Algorithms /

47 Placement Global Routing Detailed Routing Left-Edge Algorithm Example 6.. Left-Edge Algorithm Example KLMH D G E I G C H I C H F D E F. Consider next track. Find left-to-right ordering of all unassigned nets If curr_net has no parents and does not cause conflicts on curr_track assign curr_net curr_track = : Net D. Delete placed nets (D ) in VCG and zone representation Adapted from [Khang ] VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing ECE 7 T: Physical Design Automation Algorithms / Lienig

48 Placement Global Routing Detailed Routing Left-Edge Algorithm Example curr_track = 0 A D E A F G 0 D I J J C E C E F H I H G I Adapted from [Khang ] ECE 7 T: Physical Design Automation Algorithms 6 /

49 Placement Global Routing Detailed Routing Left-Edge Algorithm Example 6.. Left-Edge Algorithm Example KLMH G E I G C H I C H F E F. Consider next track. Find left-to-right ordering of all unassigned nets If curr_net has no parents and does not cause conflicts on curr_track assign curr_net curr_track = : Net E Net G. Delete placed nets (E, G ) in VCG and zone representation Adapted from [Khang ] VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing ECE 7 T: Physical Design Automation Algorithms 7 / Lienig

50 Placement Global Routing Detailed Routing Left-Edge Algorithm Example curr_track = 0 A D E A F G 0 D I J J C E C E F H I H G I Adapted from [Khang ] ECE 7 T: Physical Design Automation Algorithms 8 /

51 Placement Global Routing Detailed Routing Left-Edge Algorithm Example 6.. Left-Edge Algorithm Example KLMH I C H I C H F F. Consider next track. Find left-to-right ordering of all unassigned nets If curr_net has no parents and does not cause conflicts on curr_track assign curr_net curr_track = : Net C Net F Net I. Delete placed nets (C, F, I ) in VCG and zone representation Adapted from [Khang ] VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing ECE 7 T: Physical Design Automation Algorithms 9 / Lienig

52 Placement Global Routing Detailed Routing Left-Edge Algorithm Example curr_track = 0 A D E A F G 0 D I J J C E C E F H I H G I Adapted from [Khang ] ECE 7 T: Physical Design Automation Algorithms 0 /

53 Placement Global Routing Detailed Routing Left-Edge Algorithm Example 6.. Left-Edge Algorithm Example KLMH H H. Consider next track. Find left-to-right ordering of all unassigned nets If curr_net has no parents and does not cause conflicts on curr_track assign curr_net curr_track = : Net Net H. Delete placed nets (, H ) in VCG and zone representation Adapted from [Khang ] VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing 7 ECE 7 T: Physical Design Automation Algorithms / Lienig

54 Placement Global Routing Detailed Routing Left-Edge Algorithm Example curr_track = 0 A D E A F G 0 D I J J C E C E F H I H G I Routing result Adapted from [Khang ] ECE 7 T: Physical Design Automation Algorithms /

55 Placement Global Routing Detailed Routing Acknowledgments [Devadas 06] S. Devadas, VLSI CAD Flow: Logic Synthesis, Placement, and Routing, MIT 6.7 Complex Digital Systems Guest Lecture Slides, 006. [Kahng ] A.. Kahng, J. Liening, I.L. Markov, and J. Hu. Companion Slides for VLSI Physical Design: From Graph Partitioning to Timing Closure, Springer 0. ECE 7 T: Physical Design Automation Algorithms /

Chapter 6 Detailed Routing

Chapter 6 Detailed Routing hapter 6 Detailed Routing 6.1 Terminology 6.2 Horizontal and Vertical onstraint Graphs 6.2.1 Horizontal onstraint Graphs 6.2.2 Vertical onstraint Graphs 6.3 hannel Routing lgorithms 6.3.1 Left-Edge lgorithm

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

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

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

VLSI Physical Design: From Graph Partitioning to Timing Closure

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter Netlist and System Partitioning Original Authors: Andrew B. Kahng, Jens, Igor L. Markov, Jin Hu Chapter Netlist and System Partitioning. Introduction. Terminology. Optimization Goals. Partitioning

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

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

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

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

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

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

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

Textbook : [WH book] CMOS VLSI Design by Neil H. E. Weste, David F. Harris, Pearson

Textbook : [WH book] CMOS VLSI Design by Neil H. E. Weste, David F. Harris, Pearson NPTEL-Phase-II : Course : Advanced VLSI Design Question Set for Module 5 and Module 6 : prepared by Dr. Sachin B. Patkar ( Professor, Dept. EE, IIT Bombay ) Module 5: FSM Controller/Datapath and Processor

More information

ECE 5745 Complex Digital ASIC Design Topic 12: Synthesis Algorithms

ECE 5745 Complex Digital ASIC Design Topic 12: Synthesis Algorithms ECE 5745 Complex Digital ASIC Design Topic 12: Synthesis Algorithms Christopher Batten School of Electrical and Computer Engineering Cornell University http://www.csl.cornell.edu/courses/ece5745 RTL to

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

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

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

VLSI Physical Design: From Graph Partitioning to Timing Closure

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 4 Global and Detailed Placement Original Authors: Andrew B. Kahng, Jens, Igor L. Markov, Jin Hu 1 Chapter 4 Global and Detailed Placement 4.1 Introduction 4. Optimization Objectives 4.3 Global

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

VLSI Physical Design: From Graph Partitioning to Timing Closure

VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 3 Chip Planning 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

Partitioning. Course contents: Readings. Kernighang-Lin partitioning heuristic Fiduccia-Mattheyses heuristic. Chapter 7.5.

Partitioning. Course contents: Readings. Kernighang-Lin partitioning heuristic Fiduccia-Mattheyses heuristic. Chapter 7.5. Course contents: Partitioning Kernighang-Lin partitioning heuristic Fiduccia-Mattheyses heuristic Readings Chapter 7.5 Partitioning 1 Basic Definitions Cell: a logic block used to build larger circuits.

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

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

Reference. Wayne Wolf, FPGA-Based System Design Pearson Education, N Krishna Prakash,, Amrita School of Engineering

Reference. Wayne Wolf, FPGA-Based System Design Pearson Education, N Krishna Prakash,, Amrita School of Engineering FPGA Fabrics Reference Wayne Wolf, FPGA-Based System Design Pearson Education, 2004 Logic Design Process Combinational logic networks Functionality. Other requirements: Size. Power. Primary inputs Performance.

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

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

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

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

Unit 5A: Circuit Partitioning

Unit 5A: Circuit Partitioning Course contents: Unit 5A: Circuit Partitioning Kernighang-Lin partitioning heuristic Fiduccia-Mattheyses heuristic Simulated annealing based partitioning algorithm Readings Chapter 7.5 Unit 5A 1 Course

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

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

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

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

On Improving Recursive Bipartitioning-Based Placement

On Improving Recursive Bipartitioning-Based Placement Purdue University Purdue e-pubs ECE Technical Reports Electrical and Computer Engineering 12-1-2003 On Improving Recursive Bipartitioning-Based Placement Chen Li Cheng-Kok Koh Follow this and additional

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

ECE260B CSE241A Winter Placement

ECE260B CSE241A Winter Placement ECE260B CSE241A Winter 2005 Placement Website: / courses/ ece260b- w05 ECE260B CSE241A Placement.1 Slides courtesy of Prof. Andrew B. Slides courtesy of Prof. Andrew B. Kahng VLSI Design Flow and Physical

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

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

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

Iterative-Constructive Standard Cell Placer for High Speed and Low Power

Iterative-Constructive Standard Cell Placer for High Speed and Low Power Iterative-Constructive Standard Cell Placer for High Speed and Low Power Sungjae Kim and Eugene Shragowitz Department of Computer Science and Engineering University of Minnesota, Minneapolis, MN 55455

More information

(Lec 14) Placement & Partitioning: Part III

(Lec 14) Placement & Partitioning: Part III Page (Lec ) Placement & Partitioning: Part III What you know That there are big placement styles: iterative, recursive, direct Placement via iterative improvement using simulated annealing Recursive-style

More information

CSE241 VLSI Digital Circuits UC San Diego

CSE241 VLSI Digital Circuits UC San Diego CSE241 VLSI Digital Circuits UC San Diego Winter 2003 Lecture 05: Logic Synthesis Cho Moon Cadence Design Systems January 21, 2003 CSE241 L5 Synthesis.1 Kahng & Cichy, UCSD 2003 Outline Introduction Two-level

More information

ECE 5745 Complex Digital ASIC Design Topic 7: Packaging, Power Distribution, Clocking, and I/O

ECE 5745 Complex Digital ASIC Design Topic 7: Packaging, Power Distribution, Clocking, and I/O ECE 5745 Complex Digital ASIC Design Topic 7: Packaging, Power Distribution, Clocking, and I/O Christopher Batten School of Electrical and Computer Engineering Cornell University http://www.csl.cornell.edu/courses/ece5745

More information

ICS 252 Introduction to Computer Design

ICS 252 Introduction to Computer Design ICS 252 Introduction to Computer Design Logic Optimization Eli Bozorgzadeh Computer Science Department-UCI Hardware compilation flow HDL RTL Synthesis netlist Logic synthesis library netlist Physical design

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

Laboratory 6. - Using Encounter for Automatic Place and Route. By Mulong Li, 2013

Laboratory 6. - Using Encounter for Automatic Place and Route. By Mulong Li, 2013 CME 342 (VLSI Circuit Design) Laboratory 6 - Using Encounter for Automatic Place and Route By Mulong Li, 2013 Reference: Digital VLSI Chip Design with Cadence and Synopsys CAD Tools, Erik Brunvand Background

More information

COMPARATIVE STUDY OF CIRCUIT PARTITIONING ALGORITHMS

COMPARATIVE STUDY OF CIRCUIT PARTITIONING ALGORITHMS COMPARATIVE STUDY OF CIRCUIT PARTITIONING ALGORITHMS Zoltan Baruch 1, Octavian Creţ 2, Kalman Pusztai 3 1 PhD, Lecturer, Technical University of Cluj-Napoca, Romania 2 Assistant, Technical University of

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

Physical Design Automation. Speaker: Debdeep Mukhopadhyay Dept of Comp. Sc and Engg IIT Madras, Chennai

Physical Design Automation. Speaker: Debdeep Mukhopadhyay Dept of Comp. Sc and Engg IIT Madras, Chennai Physical Design Automation Speaker: Debdeep Mukhopadhyay Dept of Comp. Sc and Engg IIT Madras, Chennai February 17, 2007 National Workshop on VLSI Design 2006 1 Synthesis Flow High-Level Synthesis Logic

More information

Circuit Placement: 2000-Caldwell,Kahng,Markov; 2002-Kennings,Markov; 2006-Kennings,Vorwerk

Circuit Placement: 2000-Caldwell,Kahng,Markov; 2002-Kennings,Markov; 2006-Kennings,Vorwerk Circuit Placement: 2000-Caldwell,Kahng,Markov; 2002-Kennings,Markov; 2006-Kennings,Vorwerk Andrew A. Kennings, Univ. of Waterloo, Canada, http://gibbon.uwaterloo.ca/ akenning/ Igor L. Markov, Univ. of

More information

EE 466/586 VLSI Design. Partha Pande School of EECS Washington State University

EE 466/586 VLSI Design. Partha Pande School of EECS Washington State University EE 466/586 VLSI Design Partha Pande School of EECS Washington State University pande@eecs.wsu.edu Lecture 18 Implementation Methods The Design Productivity Challenge Logic Transistors per Chip (K) 10,000,000.10m

More information

Unification of Partitioning, Placement and Floorplanning. Saurabh N. Adya, Shubhyant Chaturvedi, Jarrod A. Roy, David A. Papa, and Igor L.

Unification of Partitioning, Placement and Floorplanning. Saurabh N. Adya, Shubhyant Chaturvedi, Jarrod A. Roy, David A. Papa, and Igor L. Unification of Partitioning, Placement and Floorplanning Saurabh N. Adya, Shubhyant Chaturvedi, Jarrod A. Roy, David A. Papa, and Igor L. Markov Outline Introduction Comparisons of classical techniques

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

Can Recursive Bisection Alone Produce Routable Placements?

Can Recursive Bisection Alone Produce Routable Placements? Supported by Cadence Can Recursive Bisection Alone Produce Routable Placements? Andrew E. Caldwell Andrew B. Kahng Igor L. Markov http://vlsicad.cs.ucla.edu Outline l Routability and the placement context

More information

Introduction to CMOS VLSI Design. Programmable Logic. Peter Kogge Fall 2015

Introduction to CMOS VLSI Design. Programmable Logic. Peter Kogge Fall 2015 Introduction to MOS VLSI Design Programmable Logic Peter Kogge Fall 2015 Includes lecture slides by David Harris, Harvey Mudd ollege http://www.cmosvlsi.com/coursematerials.html Programmable Logic Slide

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

Placement ABOUT THIS CHAPTER 11.1 INTRODUCTION CHAPTER. Chris Chu Iowa State University, Ames, Iowa

Placement ABOUT THIS CHAPTER 11.1 INTRODUCTION CHAPTER. Chris Chu Iowa State University, Ames, Iowa CHAPTER Placement 11 Chris Chu Iowa State University, Ames, Iowa ABOUT THIS CHAPTER Placement is the process of determining the locations of circuit devices on a die surface. It is an important stage in

More information

Genetic Placement: Genie Algorithm Way Sern Shong ECE556 Final Project Fall 2004

Genetic Placement: Genie Algorithm Way Sern Shong ECE556 Final Project Fall 2004 Genetic Placement: Genie Algorithm Way Sern Shong ECE556 Final Project Fall 2004 Introduction Overview One of the principle problems in VLSI chip design is the layout problem. The layout problem is complex

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

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

Lab. Course Goals. Topics. What is VLSI design? What is an integrated circuit? VLSI Design Cycle. VLSI Design Automation

Lab. Course Goals. Topics. What is VLSI design? What is an integrated circuit? VLSI Design Cycle. VLSI Design Automation Course Goals Lab Understand key components in VLSI designs Become familiar with design tools (Cadence) Understand design flows Understand behavioral, structural, and physical specifications Be able to

More information

Electronic Design Automation Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Electronic Design Automation Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Electronic Design Automation Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #1 Introduction So electronic design automation,

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

Pre-Layout Estimation of Individual Wire Lengths

Pre-Layout Estimation of Individual Wire Lengths Pre-Layout Estimation of Individual Wire Lengths Srinivas Bodapati and Farid N. Najm ECE Dept. and Coordinated Science Lab. University of Illinois at Urbana-Champaign ECE Department University of Toronto

More information

Physical Design Implementation for 3D IC Methodology and Tools. Dave Noice Vassilios Gerousis

Physical Design Implementation for 3D IC Methodology and Tools. Dave Noice Vassilios Gerousis I NVENTIVE Physical Design Implementation for 3D IC Methodology and Tools Dave Noice Vassilios Gerousis Outline 3D IC Physical components Modeling 3D IC Stack Configuration Physical Design With TSV Summary

More information

Full Custom Layout Optimization Using Minimum distance rule, Jogs and Depletion sharing

Full Custom Layout Optimization Using Minimum distance rule, Jogs and Depletion sharing Full Custom Layout Optimization Using Minimum distance rule, Jogs and Depletion sharing Umadevi.S #1, Vigneswaran.T #2 # Assistant Professor [Sr], School of Electronics Engineering, VIT University, Vandalur-

More information

UNIVERSITY OF CALGARY. Force-Directed Partitioning Technique for 3D IC. Aysa Fakheri Tabrizi A THESIS SUBMITTED TO THE FACULTY OF GRADUATE STUDIES

UNIVERSITY OF CALGARY. Force-Directed Partitioning Technique for 3D IC. Aysa Fakheri Tabrizi A THESIS SUBMITTED TO THE FACULTY OF GRADUATE STUDIES UNIVERSITY OF CALGARY Force-Directed Partitioning Technique for 3D IC by Aysa Fakheri Tabrizi A THESIS SUBMITTED TO THE FACULTY OF GRADUATE STUDIES IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE

More information

Channel & Switchbox Routing

Channel & Switchbox Routing Channel & Switchbox Routing channel routing Detailed routing switchbox routing Routing Models Grid-based model: A grid is super-imposed on the routing region. Wires follow paths along the grid lines. Gridless

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

3-D INTEGRATED CIRCUITS (3-D ICs) are emerging

3-D INTEGRATED CIRCUITS (3-D ICs) are emerging 862 IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 21, NO. 5, MAY 2013 Study of Through-Silicon-Via Impact on the 3-D Stacked IC Layout Dae Hyun Kim, Student Member, IEEE, Krit

More information

CHAPTER 1 INTRODUCTION. equipment. Almost every digital appliance, like computer, camera, music player or

CHAPTER 1 INTRODUCTION. equipment. Almost every digital appliance, like computer, camera, music player or 1 CHAPTER 1 INTRODUCTION 1.1. Overview In the modern time, integrated circuit (chip) is widely applied in the electronic equipment. Almost every digital appliance, like computer, camera, music player or

More information

Technology Dependent Logic Optimization Prof. Kurt Keutzer EECS University of California Berkeley, CA Thanks to S. Devadas

Technology Dependent Logic Optimization Prof. Kurt Keutzer EECS University of California Berkeley, CA Thanks to S. Devadas Technology Dependent Logic Optimization Prof. Kurt Keutzer EECS University of California Berkeley, CA Thanks to S. Devadas 1 RTL Design Flow HDL RTL Synthesis Manual Design Module Generators Library netlist

More information

Vector: A series of scalars contained in a column or row. Dimensions: How many rows and columns a vector or matrix has.

Vector: A series of scalars contained in a column or row. Dimensions: How many rows and columns a vector or matrix has. ASSIGNMENT 0 Introduction to Linear Algebra (Basics of vectors and matrices) Due 3:30 PM, Tuesday, October 10 th. Assignments should be submitted via e-mail to: matlabfun.ucsd@gmail.com You can also submit

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

Sungmin Bae, Hyung-Ock Kim, Jungyun Choi, and Jaehong Park. Design Technology Infrastructure Design Center System-LSI Business Division

Sungmin Bae, Hyung-Ock Kim, Jungyun Choi, and Jaehong Park. Design Technology Infrastructure Design Center System-LSI Business Division Sungmin Bae, Hyung-Ock Kim, Jungyun Choi, and Jaehong Park Design Technology Infrastructure Design Center System-LSI Business Division 1. Motivation 2. Design flow 3. Parallel multiplier 4. Coarse-grained

More information

A SURVEY: ON VARIOUS PLACERS USED IN VLSI STANDARD CELL PLACEMENT AND MIXED CELL PLACEMENT

A SURVEY: ON VARIOUS PLACERS USED IN VLSI STANDARD CELL PLACEMENT AND MIXED CELL PLACEMENT Int. J. Chem. Sci.: 14(1), 2016, 503-511 ISSN 0972-768X www.sadgurupublications.com A SURVEY: ON VARIOUS PLACERS USED IN VLSI STANDARD CELL PLACEMENT AND MIXED CELL PLACEMENT M. SHUNMUGATHAMMAL a,b, C.

More information

AN 567: Quartus II Design Separation Flow

AN 567: Quartus II Design Separation Flow AN 567: Quartus II Design Separation Flow June 2009 AN-567-1.0 Introduction This application note assumes familiarity with the Quartus II incremental compilation flow and floorplanning with the LogicLock

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

Floorplan Management: Incremental Placement for Gate Sizing and Buffer Insertion

Floorplan Management: Incremental Placement for Gate Sizing and Buffer Insertion Floorplan Management: Incremental Placement for Gate Sizing and Buffer Insertion Chen Li, Cheng-Kok Koh School of ECE, Purdue University West Lafayette, IN 47907, USA {li35, chengkok}@ecn.purdue.edu Patrick

More information

EN2911X: Reconfigurable Computing Lecture 13: Design Flow: Physical Synthesis (5)

EN2911X: Reconfigurable Computing Lecture 13: Design Flow: Physical Synthesis (5) EN2911X: Lecture 13: Design Flow: Physical Synthesis (5) Prof. Sherief Reda Division of Engineering, rown University http://scale.engin.brown.edu Fall 09 Summary of the last few lectures System Specification

More information

BACKEND DESIGN. Circuit Partitioning

BACKEND DESIGN. Circuit Partitioning BACKEND DESIGN Circuit Partitioning Partitioning System Design Decomposition of a complex system into smaller subsystems. Each subsystem can be designed independently. Decomposition scheme has to minimize

More information

ASIC Physical Design Top-Level Chip Layout

ASIC Physical Design Top-Level Chip Layout ASIC Physical Design Top-Level Chip Layout References: M. Smith, Application Specific Integrated Circuits, Chap. 16 Cadence Virtuoso User Manual Top-level IC design process Typically done before individual

More information

Large Scale Circuit Partitioning

Large Scale Circuit Partitioning Large Scale Circuit Partitioning With Loose/Stable Net Removal And Signal Flow Based Clustering Jason Cong Honching Li Sung-Kyu Lim Dongmin Xu UCLA VLSI CAD Lab Toshiyuki Shibuya Fujitsu Lab, LTD Support

More information

Programmable Logic Devices HDL-Based Design Flows CMPE 415

Programmable Logic Devices HDL-Based Design Flows CMPE 415 HDL-Based Design Flows: ASIC Toward the end of the 80s, it became difficult to use schematic-based ASIC flows to deal with the size and complexity of >5K or more gates. HDLs were introduced to deal with

More information

VLSI System Design Part II : Logic Synthesis (1) Oct Feb.2007

VLSI System Design Part II : Logic Synthesis (1) Oct Feb.2007 VLSI System Design Part II : Logic Synthesis (1) Oct.2006 - Feb.2007 Lecturer : Tsuyoshi Isshiki Dept. Communications and Integrated Systems, Tokyo Institute of Technology isshiki@vlsi.ss.titech.ac.jp

More information

Tutorial for Cadence SOC Encounter Place & Route

Tutorial for Cadence SOC Encounter Place & Route Tutorial for Cadence SOC Encounter Place & Route For Encounter RTL-to-GDSII System 13.15 T. Manikas, Southern Methodist University, 3/9/15 Contents 1 Preliminary Setup... 1 1.1 Helpful Hints... 1 2 Starting

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

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

Parallel Algorithm for Multilevel Graph Partitioning and Sparse Matrix Ordering

Parallel Algorithm for Multilevel Graph Partitioning and Sparse Matrix Ordering Parallel Algorithm for Multilevel Graph Partitioning and Sparse Matrix Ordering George Karypis and Vipin Kumar Brian Shi CSci 8314 03/09/2017 Outline Introduction Graph Partitioning Problem Multilevel

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

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

Sequential/Parallel Global Routing Algorithms for VLSI Standard. Cells

Sequential/Parallel Global Routing Algorithms for VLSI Standard. Cells Sequential/Parallel Global Routing Algorithms for VLSI Standard Cells A Thesis Presented to The Faculty of Graduate Studies of The University of Guelph by HAO SUN In partial fulfilment of requirements

More information

Tutorial 2 Automatic Placement & Routing

Tutorial 2 Automatic Placement & Routing Tutorial 2 Automatic Placement & Routing Please follow the instructions found under Setup on the CADTA main page before starting this tutorial. 1.1. Start Encounter Log on to a VLSI server using your EE

More information

ECO-system: Embracing the Change in Placement

ECO-system: Embracing the Change in Placement Motivation ECO-system: Embracing the Change in Placement Jarrod A. Roy and Igor L. Markov University of Michigan at Ann Arbor Cong and Sarrafzadeh: state-of-the-art incremental placement techniques unfocused

More information

Efficient Rectilinear Steiner Tree Construction with Rectilinear Blockages

Efficient Rectilinear Steiner Tree Construction with Rectilinear Blockages Efficient ectilinear Steiner Tree Construction with ectilinear Blockages Zion Shen Chris CN Chu Ying-Meng Li Cadence Design Systems 555 iver Oaks Parkway San Jose, CA, 5134 zion@cadencecom Department of

More information

Mincut Placement with FM Partitioning featuring Terminal Propagation. Brett Wilson Lowe Dantzler

Mincut Placement with FM Partitioning featuring Terminal Propagation. Brett Wilson Lowe Dantzler Mincut Placement with FM Partitioning featuring Terminal Propagation Brett Wilson Lowe Dantzler Project Overview Perform Mincut Placement using the FM Algorithm to perform partitioning. Goals: Minimize

More information

Wojciech P. Maly Department of Electrical and Computer Engineering Carnegie Mellon University 5000 Forbes Ave. Pittsburgh, PA

Wojciech P. Maly Department of Electrical and Computer Engineering Carnegie Mellon University 5000 Forbes Ave. Pittsburgh, PA Interconnect Characteristics of 2.5-D System Integration Scheme Yangdong Deng Department of Electrical and Computer Engineering Carnegie Mellon University 5000 Forbes Ave. Pittsburgh, PA 15213 412-268-5234

More information

6 Mathematics Curriculum

6 Mathematics Curriculum New York State Common Core 6 Mathematics Curriculum GRADE GRADE 6 MODULE 5 Table of Contents 1 Area, Surface Area, and Volume Problems... 3 Topic A: Area of Triangles, Quadrilaterals, and Polygons (6.G.A.1)...

More information

Research Article Accounting for Recent Changes of Gain in Dealing with Ties in Iterative Methods for Circuit Partitioning

Research Article Accounting for Recent Changes of Gain in Dealing with Ties in Iterative Methods for Circuit Partitioning Discrete Dynamics in Nature and Society Volume 25, Article ID 625, 8 pages http://dxdoiorg/55/25/625 Research Article Accounting for Recent Changes of Gain in Dealing with Ties in Iterative Methods for

More information