10/25/2015 1 VLSI Physical Design Automation Prof. David Pan Office: ACES 5.434 Lecture 3. Circuit Partitioning.

Slides:



Advertisements
Similar presentations
Multilevel Hypergraph Partitioning Daniel Salce Matthew Zobel.
Advertisements

L30: Partitioning 성균관대학교 조 준 동 교수
FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Topics n Logic synthesis. n Placement and routing.
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
Lectures on Network Flows
Simulated Evolution Algorithm for Multi- Objective VLSI Netlist Bi-Partitioning Sadiq M. Sait, Aiman El-Maleh, Raslan Al-Abaji King Fahd University of.
EE 5301 – VLSI Design Automation I
VLSI Layout Algorithms CSE 6404 A 46 B 65 C 11 D 56 E 23 F 8 H 37 G 19 I 12J 14 K 27 X=(AB*CD)+ (A+D)+(A(B+C)) Y = (A(B+C)+AC+ D+A(BC+D)) Dr. Md. Saidur.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 9: February 20, 2008 Partitioning (Intro, KLFM)
VLSI Layout Algorithms CSE 6404 A 46 B 65 C 11 D 56 E 23 F 8 H 37 G 19 I 12J 14 K 27 X=(AB*CD)+ (A+D)+(A(B+C)) Y = (A(B+C)+AC+ D+A(BC+D)) Dr. Md. Saidur.
1 Simulated Evolution Algorithm for Multiobjective VLSI Netlist Bi-Partitioning By Dr Sadiq M. Sait Dr Aiman El-Maleh Raslan Al Abaji King Fahd University.
2004/9/16EE VLSI Design Automation I 85 EE 5301 – VLSI Design Automation I Kia Bazargan University of Minnesota Part III: Partitioning.
Partitioning and Clustering Professor Lei He
Chapter 2 – Netlist and System Partitioning
EDA (CS286.5b) Day 5 Partitioning: Intro + KLFM. Today Partitioning –why important –practical attack –variations and issues.
EDA (CS286.5b) Day 6 Partitioning: Spectral + MinCut.
CS294-6 Reconfigurable Computing Day 13 October 6, 1998 Interconnect Partitioning.
Partitioning 2 Outline Goal Fiduccia-Mattheyses Algorithm Approach
CS267 L15 Graph Partitioning II.1 Demmel Sp 1999 CS 267 Applications of Parallel Computers Lecture 15: Graph Partitioning - II James Demmel
CS294-6 Reconfigurable Computing Day 15 October 13, 1998 LUT Mapping.
1 General Iterative Heuristics for VLSI Multiobjective Partitioning by Dr. Sadiq M. Sait Dr. Aiman El-Maleh Mr. Raslan Al Abaji King Fahd University Computer.
1 Circuit Partitioning Presented by Jill. 2 Outline Introduction Cut-size driven circuit partitioning Multi-objective circuit partitioning Our approach.
Partitioning 1 Outline –What is Partitioning –Partitioning Example –Partitioning Theory –Partitioning Algorithms Goal –Understand partitioning problem.
1 Enhancing Performance of Iterative Heuristics for VLSI Netlist Partitioning Dr. Sadiq M. Sait Dr. Aiman El-Maleh Mr. Raslan Al Abaji. Computer Engineering.
Applying Edge Partitioning to SPFD's 1 Applying Edge Partitioning to SPFD’s 219B Project Presentation Trevor Meyerowitz Mentor: Subarna Sinha Professor:
Multilevel Graph Partitioning and Fiduccia-Mattheyses
1 CSC 6001 VLSI CAD (Physical Design) January
Partitioning Outline –What is Partitioning –Partitioning Example –Partitioning Theory –Partitioning Algorithms Goal –Understand partitioning problem –Understand.
Joanna Ellis-Monaghan, St. Michaels College Paul Gutwin, Principal Technical Account Manager, Cadence.
Register-Transfer (RT) Synthesis Greg Stitt ECE Department University of Florida.
August 25, 2015National Workshop on VLSI Design Physical Design Automation Speaker: Speaker: Debdeep Mukhopadhyay Dept of Comp. Sc and Engg IIT.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University COT 5410 – Spring 2004.
Graph partition in PCB and VLSI physical synthesis Lin Zhong ELEC424, Fall 2010.
Escape Routing For Dense Pin Clusters In Integrated Circuits Mustafa Ozdal, Design Automation Conference, 2007 Mustafa Ozdal, IEEE Trans. on CAD, 2009.
CSE 242A Integrated Circuit Layout Automation Lecture: Partitioning Winter 2009 Chung-Kuan Cheng.
Graph Partitioning Problem Kernighan and Lin Algorithm
CSE 494: Electronic Design Automation Lecture 4 Partitioning.
10/7/ VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 6. Floorplanning (1)
Massachusetts Institute of Technology 1 L14 – Physical Design Spring 2007 Ajay Joshi.
05/04/06 1 Integrating Logic Synthesis, Tech mapping and Retiming Presented by Atchuthan Perinkulam Based on the above paper by A. Mishchenko et al, UCAL.
ECE 260B – CSE 241A Partitioning & Floorplanning 1http://vlsicad.ucsd.edu ECE260B – CSE241A Winter 2005 Partitioning & Floorplanning Website:
Modern VLSI Design 3e: Chapter 10 Copyright  1998, 2002 Prentice Hall PTR Topics n CAD systems. n Simulation. n Placement and routing. n Layout analysis.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 6: January 23, 2002 Partitioning (Intro, KLFM)
1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 3 Partitioning Mustafa Ozdal Computer Engineering Department, Bilkent University Mustafa.
Circuit Partitioning Divides circuit into smaller partitions that can be efficiently handled Goal is generally to minimize communication between balanced.
1 Partitioning. 2 Decomposition of a complex system into smaller subsystems  Done hierarchically  Partitioning done until each subsystem has manageable.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 9: February 9, 2004 Partitioning (Intro, KLFM)
Simulated Evolution Algorithm for Multi- Objective VLSI Netlist Bi-Partitioning Sadiq M. Sait, Aiman El-Maleh, Raslan Al Abaji King Fahd University of.
ICS 252 Introduction to Computer Design
1 EE5900 Advanced Embedded System For Smart Infrastructure Static Scheduling.
CprE566 / Fall 06 / Prepared by Chris ChuPartitioning1 CprE566 Partitioning.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 6: January 30, 2013 Partitioning (Intro, KLFM)
Example Apply hierarchical clustering with d min to below data where c=3. Nearest neighbor clustering d min d max will form elongated clusters!
Hypergraph Partitioning With Fixed Vertices Andrew E. Caldwell, Andrew B. Kahng and Igor L. Markov UCLA Computer Science Department
Multilevel Partitioning
CSE 144 Project. Overall Goal of the Project Implement a physical design tool for a two- row standard cell design
Register-Transfer (RT) Synthesis Greg Stitt ECE Department University of Florida.
1 Simulated Evolution Algorithm for Multi- Objective VLSI Netlist Bi-Partitioning Sadiq M. Sait,, Aiman El-Maleh, Raslan Al Abaji King Fahd University.
3/21/ VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 4. Circuit Partitioning (II)
RTL Design Flow RTL Synthesis HDL netlist logic optimization netlist Library/ module generators physical design layout manual design a b s q 0 1 d clk.
CS 140: Sparse Matrix-Vector Multiplication and Graph Partitioning
Partitioning Jong-Wha Chong Wireless Location and SOC Lab. Hanyang University.
VLSI Physical Design Automation
Lectures on Network Flows
A Linear-Time Heuristic for Improving Network Partitions
Chapter 2 – Netlist and System Partitioning
Haim Kaplan and Uri Zwick
Topics Logic synthesis. Placement and routing..
A Fundamental Bi-partition Algorithm of Kernighan-Lin
VLSI CAD Flow: Logic Synthesis, Placement and Routing Lecture 5
Presentation transcript:

10/25/ VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 3. Circuit Partitioning

2 10/25/2015 System Hierarchy

3 10/25/2015 Levels of Partitioning System Level Partitioning Board Level Partitioning Chip Level Partitioning System PCBs Chips Subcircuits / Blocks

4 10/25/2015 Partitioning of a Circuit

5 10/25/2015 Importance of Circuit Partitioning aDivide-and-conquer methodology The most effective way to solve problems of high complexity E.g.: min-cut based placement, partitioning-based test generation,… aSystem-level partitioning for multi-chip designs inter-chip interconnection delay dominates system performance. aCircuit emulation/parallel simulation partition large circuit into multiple FPGAs (e.g. Quickturn), or multiple special-purpose processors (e.g. Zycad). aParallel CAD development Task decomposition and load balancing aIn deep-submicron designs, partitioning defines local and global interconnect, and has significant impact on circuit performance ……

6 10/25/2015 Some Terminology Partitioning: Dividing bigger circuits into a small number of partitions (top down) Clustering: cluster small cells into bigger clusters (bottom up). Covering / Technology Mapping: Clustering such that each partitions (clusters) have some special structure (e.g., can be implemented by a cell in a cell library). k-way Partitioning: Dividing into k partitions. Bipartitioning: 2-way partitioning. Bisectioning: Bipartitioning such that the two partitions have the same size.

7 10/25/2015 Circuit Representation Netlist: –Gates: A, B, C, D –Nets: {A,B,C}, {B,D}, {C,D} Hypergraph: –Vertices: A, B, C, D –Hyperedges: {A,B,C}, {B,D}, {C,D} –Vertex label: Gate size/area –Hyperedge label: Importance of net (weight) A B CD A B C D

8 10/25/2015 Circuit Partitioning Formulation Bi-partitioning formulation : Minimize interconnections between partitions aMinimum cut: min c(x, x ’ ) aminimum bisection: min c(x, x’) with |x|= |x ’ | aminimum ratio-cut: min c(x, x ’ ) / |x||x ’ | XX’ c(X,X’)

9 10/25/2015 A Bi-Partitioning Example Min-cut size=13 Min-Bisection size = 300 Min-ratio-cut size= 19 a b ce df mini-ratio-cut min-bisection min-cut Ratio-cut helps to identify natural clusters

10 10/25/2015 Circuit Partitioning Formulation (Cont’d) General multi-way partitioning formulation: Partitioning a network N into N 1, N 2, …, N k such that aEach partition has an area constraint aeach partition has an I/O constraint Minimize the total interconnection:    i Nv i Ava)( iii INNNc  ),( ),( i N i NNNc i  

11 10/25/2015 Partitioning Algorithms aIterative partitioning algorithms aSpectral based partitioning algorithms aNet partitioning vs. module partitioning aMulti-way partitioning aMulti-level partitioning aFurther study in partitioning techniques (timing-driven …)

12 10/25/2015 Iterative Partitioning Algorithms aGreedy iterative improvement method [Kernighan-Lin 1970] [Fiduccia-Mattheyses 1982] [krishnamurthy 1984] aSimulated Annealing [Kirkpartrick-Gelatt-Vecchi 1983] [Greene-Supowit 1984]

10/25/ Kernighan-Lin Algorithm “An Efficient Heuristic Procedure for Partitioning Graphs” The Bell System Technical Journal 49(2): , 1970

14 10/25/2015 Restricted Partition Problem Restrictions: –For Bisectioning of circuit. –Assume all gates are of the same size. –Works only for 2-terminal nets. If all nets are 2-terminal, the Hypergraph is called a Graph. A B C D Hypergraph Representation Graph Representation A B C D

15 10/25/2015 Problem Formulation Input: A graph with –Set vertices V. (|V| = 2n) –Set of edges E. (|E| = m) –Cost c AB for each edge {A, B} in E. Output: 2 partitions X & Y such that –Total cost of edges cut is minimized. –Each partition has n vertices. This problem is NP-Complete!!!!!

16 10/25/2015 A Trivial Approach Try all possible bisections. Find the best one. If there are 2n vertices, # of possibilities = (2n)! / n! 2 = n O(n) For 4 vertices (A,B,C,D), 3 possibilities. 1. X={A,B} & Y={C,D} 2. X={A,C} & Y={B,D} 3. X={A,D} & Y={B,C} For 100 vertices, 5x10 28 possibilities. Need 1.59x10 13 years if one can try 100M possbilities per second.

17 10/25/2015 Idea of KL Algorithm D A = Decrease in cut value if moving A –External cost (connection) E A – Internal cost I A –Moving node a from block A to block B would increase the value of the cutset by E A and decrease it by I A A B C D XY A B C D XY D A = 2-1 = 1 D B = 1-1 = 0

18 10/25/2015 Idea of KL Algorithm Note that we want to balance two partitions If switch A & B, gain(A,B) = D A +D B -2c AB –c AB : edge cost for AB A B C D XY A B C D XY gain(A,B) = = -1

19 10/25/2015 Idea of KL Algorithm Start with any initial legal partitions X and Y. A pass (exchanging each vertex exactly once) is described below: 1. For i := 1 to n do From the unlocked (unexchanged) vertices, choose a pair (A,B) s.t. gain(A,B) is largest. Exchange A and B. Lock A and B. Let g i = gain(A,B). 2. Find the k s.t. G=g g k is maximized. 3. Switch the first k pairs. Repeat the pass until there is no improvement (G=0).

20 10/25/2015 Example 1 X Y Original Cut Value = 9 4 X Y Optimal Cut Value = 5 A good step-by-step example in SY book

21 10/25/2015 Time Complexity of KL For each pass, –O(n 2 ) time to find the best pair to exchange. –n pairs exchanged. –Total time is O(n 3 ) per pass. Better implementation can get O(n 2 log n) time per pass. Number of passes is usually small.

22 10/25/2015 Recap of Kernighan-Lin’s Algorithm aPair-wise exchange of nodes to reduce cut size aAllow cut size to increase temporarily within a pass Compute the gain of a swap Repeat Perform a feasible swap of max gain Mark swapped nodes “locked”; Update swap gains; Until no feasible swap; Find max prefix partial sum in gain sequence g 1, g 2, …, g m Make corresponding swaps permanent. aStart another pass if current pass reduces the cut size (usually converge after a few passes) u  v  u  locked

23 10/25/2015 A Useful Survey Paper Charles Alpert and Andrew Kahng, “Recent Directions in Netlist Partitioning: A Survey”, Integration: the VLSI Journal, 19(1-2), 1995, pp Next lecture: more on partitioning