CprE566 / Fall 06 / Prepared by Chris ChuPartitioning1 CprE566 Partitioning.

Slides:



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

L30: Partitioning 성균관대학교 조 준 동 교수
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
Circuit Retiming with Interconnect Delay CUHK CSE CAD Group Meeting One Evangeline Young Aug 19, 2003.
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.
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.
Chapter 2 – Netlist and System Partitioning
Logic Synthesis Outline –Logic Synthesis Problem –Logic Specification –Two-Level Logic Optimization Goal –Understand logic synthesis problem –Understand.
1 Vertex Cover Problem Given a graph G=(V, E), find V' ⊆ V such that for each edge (u, v) ∈ E at least one of u and v belongs to V’ and |V’| is minimized.
Logic Synthesis 1 Outline –Logic Synthesis Problem –Logic Specification –Two-Level Logic Optimization Goal –Understand logic synthesis problem –Understand.
EDA (CS286.5b) Day 5 Partitioning: Intro + KLFM. Today Partitioning –why important –practical attack –variations and issues.
Local Unidirectional Bias for Smooth Cutsize-delay Tradeoff in Performance-driven Partitioning Andrew B. Kahng and Xu Xu UCSD CSE and ECE Depts. Work supported.
Logic Synthesis for Programmable Devices Onur Bay & Debatosh Debnath
Lecture 9: Multi-FPGA System Software October 3, 2013 ECE 636 Reconfigurable Computing Lecture 9 Multi-FPGA System Software.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
1 Circuit Partitioning Presented by Jill. 2 Outline Introduction Cut-size driven circuit partitioning Multi-objective circuit partitioning Our approach.
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.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
Multilevel Hypergraph Partitioning G. Karypis, R. Aggarwal, V. Kumar, and S. Shekhar Computer Science Department, U of MN Applications in VLSI Domain.
Register-Transfer (RT) Synthesis Greg Stitt ECE Department University of Florida.
Introduction to Routing. The Routing Problem Apply after placement Input: –Netlist –Timing budget for, typically, critical nets –Locations of blocks and.
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.
Fixed Parameter Complexity Algorithms and Networks.
CSE 242A Integrated Circuit Layout Automation Lecture: Partitioning Winter 2009 Chung-Kuan Cheng.
Graph Partitioning Problem Kernighan and Lin Algorithm
Combinational Logic Design BIL- 223 Logic Circuit Design Ege University Department of Computer Engineering.
CSE 494: Electronic Design Automation Lecture 4 Partitioning.
An Efficient Clustering Algorithm For Low Power Clock Tree Synthesis Rupesh S. Shelar Enterprise Microprocessor Group Intel Corporation, Hillsboro, OR.
Massachusetts Institute of Technology 1 L14 – Physical Design Spring 2007 Ajay Joshi.
Ho-Lin Chang, Hsiang-Cheng Lai, Tsu-Yun Hsueh, Wei-Kai Cheng, Mely Chen Chi Department of Information and Computer Engineering, CYCU A 3D IC Designs Partitioning.
10/25/ VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 3. Circuit Partitioning.
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 3 – Combinational Logic Design Part 1 –
ECE 260B – CSE 241A Partitioning & Floorplanning 1http://vlsicad.ucsd.edu ECE260B – CSE241A Winter 2005 Partitioning & Floorplanning Website:
CS/EE 3700 : Fundamentals of Digital System Design Chris J. Myers Lecture 4: Logic Optimization Chapter 4.
1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 3 Partitioning Mustafa Ozdal Computer Engineering Department, Bilkent University Mustafa.
1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 1 Course Overview Mustafa Ozdal Computer Engineering Department, Bilkent University.
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.
CSE 589 Part V One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important. Bertrand Russell.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University.
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
Graph Algorithms Maximum Flow - Best algorithms [Adapted from R.Solis-Oba]
Outline Motivation and Contributions Related Works ILP Formulation
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.
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.
Partitioning Jong-Wha Chong Wireless Location and SOC Lab. Hanyang University.
VLSI Physical Design Automation
Andrew B. Kahng and Xu Xu UCSD CSE and ECE Depts.
Chapter 2 – Netlist and System Partitioning
Chapter 3 – Combinational Logic Design
Design Hierarchy Guided Multilevel Circuit Partitioning
A Semi-Persistent Clustering Technique for VLSI Circuit Placement
A Fundamental Bi-partition Algorithm of Kernighan-Lin
VLSI CAD Flow: Logic Synthesis, Placement and Routing Lecture 5
Presentation transcript:

CprE566 / Fall 06 / Prepared by Chris ChuPartitioning1 CprE566 Partitioning

CprE566 / Fall 06 / Prepared by Chris ChuPartitioning2 System Hierarchy

CprE566 / Fall 06 / Prepared by Chris ChuPartitioning3 Why do we need a hierarchy? Subsystems can be designed independently and simultaneouslySubsystems can be designed independently and simultaneously Flexibility of changing part of the systemFlexibility of changing part of the system Reduced design complexity for smaller subsystemsReduced design complexity for smaller subsystems

CprE566 / Fall 06 / Prepared by Chris ChuPartitioning4 Levels of Partitioning System Level Partitioning Board Level Partitioning Chip Level Partitioning System PCBs Chips Subcircuits / Blocks

CprE566 / Fall 06 / Prepared by Chris ChuPartitioning5 Objectives and Constraints Objectives:Objectives: –Interconnections between partitions –Delay due to partitioning Constraints:Constraints: –Number of terminals –Area / Size of each partition –Number of partitions

CprE566 / Fall 06 / Prepared by Chris ChuPartitioning6 Some Terminologies Partitioning: Dividing into a small number of partitions. Clustering: Dividing into a large number of small partitions. 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.

CprE566 / Fall 06 / Prepared by Chris ChuPartitioning7 Partitioning of a Circuit

CprE566 / Fall 06 / Prepared by Chris ChuPartitioning8 Circuit Representation Netlist:Netlist: –Gates: A, B, C, D –Nets: {A,B,C}, {B,D}, {C,D} Hypergraph:Hypergraph: –Vertices: A, B, C, D –Hyperedges: {A,B,C}, {B,D}, {C,D} –Vertex label: Gate size –Hyperedge label: Importance of net A B CD A B C D

CprE566 / Fall 06 / Prepared by Chris ChuPartitioning9 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 Charles Alpert and Andrew Kahng, “Recent Directions in Netlist Partitioning: A Survey”, Integration: the VLSI Journal, 19(1-2), 1995, pp

CprE566 / Fall 06 / Prepared by Chris ChuPartitioning10 Logic Hierarchy Guided Partitioning Y. Cheon and D. F. Wong, “Design Hierarchy Guided Multilevel Circuit Partitioning”, ISPD 2002.Y. Cheon and D. F. Wong, “Design Hierarchy Guided Multilevel Circuit Partitioning”, ISPD –Multilevel partitioning approach –Design hierarchy provides useful guidance in clustering –However, elements in design hierarchy may not be strongly connected –Use Rent’s rule to identify hierarchy elements with strong connectivity –Significantly better cut size and similar runtime to hMETIS

CprE566 / Fall 06 / Prepared by Chris ChuPartitioning11 Logic Hierarchy May Not be Suitable Three designs by IBM in the next three slidesThree designs by IBM in the next three slides J. Cong, “Timing Closure Based on Physical Hierarchy”, ISPD-2002.J. Cong, “Timing Closure Based on Physical Hierarchy”, ISPD –Suggests to flatten the logic hierarchy and build a physical hierarchy instead RT-level Floorplan verses Mixed-Mode PlacementRT-level Floorplan verses Mixed-Mode Placement

CprE566 / Fall 06 / Prepared by Chris ChuPartitioning12 Hierarchy Example Plots

CprE566 / Fall 06 / Prepared by Chris ChuPartitioning13 Hierarchy Example Plots

CprE566 / Fall 06 / Prepared by Chris ChuPartitioning14 Hierarchy Example Plots

CprE566 / Fall 06 / Prepared by Chris ChuPartitioning15 Kernighan-Lin Algorithm “An Efficient Heuristic Procedure for Partitioning Graphs” The Bell System Technical Journal 49(2): , 1970

CprE566 / Fall 06 / Prepared by Chris ChuPartitioning16 Problem Solved Restrictions: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,If all nets are 2-terminal, the Hypergraph is called a Graph. A B C D Hypergraph Representation Graph Representation A B C D

CprE566 / Fall 06 / Prepared by Chris ChuPartitioning17 Problem Formulation Input: A graph withInput: 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 thatOutput: 2 partitions X & Y such that –Total cost of edges cut is minimized. –Each partition has n vertices. This problem is NP-Complete!!!!!This problem is NP-Complete!!!!!

CprE566 / Fall 06 / Prepared by Chris ChuPartitioning18 A Trivial Approach Try all possible bisections. Find the best one.Try all possible bisections. Find the best one. If there are 2n vertices,If there are 2n vertices, # of possibilities = 2n C n /2 = (2n)! / 2n! 2 = n O(n) For 4 vertices (A,B,C,D), 3 possibilities.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.For 100 vertices, 5x10 28 possibilities. Need 1.59x10 13 years if one can try 100M possbilities per second.Need 1.59x10 13 years if one can try 100M possbilities per second.

CprE566 / Fall 06 / Prepared by Chris ChuPartitioning19 Idea of KL Algorithm D A = Decrease in cut value if moving A.D A = Decrease in cut value if moving A. If switch A & B, gain(A,B) = D A +D B -2c ABIf switch A & B, gain(A,B) = D A +D B -2c AB A B C D XY A B C D XY D A = 2-1 = 1 D B = 1-1 = 0 A B C D XY A B C D XY gain(A,B) = = -1

CprE566 / Fall 06 / Prepared by Chris ChuPartitioning20 Idea of KL Algorithm Start with any initial partitions X and Y.Start with any initial partitions X and Y. A pass (exchanging each vertex exactly once) is described below:A pass (exchanging each vertex exactly once) is described below: 1. For i := 1 to n do From the unlocked (unexchanged) vertices, From the unlocked (unexchanged) vertices, choose a pair (A,B) s.t. gain(A,B) is largest. choose a pair (A,B) s.t. gain(A,B) is largest. Exchange A and B. Lock A and B. Exchange A and B. Lock A and B. Let g i = gain(A,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).Repeat the pass until there is no improvement (G=0).

CprE566 / Fall 06 / Prepared by Chris ChuPartitioning21 Example 1 X Y Original Cut Value = 9 4 X Y Optimal Cut Value = 5

CprE566 / Fall 06 / Prepared by Chris ChuPartitioning22 Time Complexity of KL For each pass,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.Better implementation can get O(n 2 log n) time per pass. Number of passes is usually small.Number of passes is usually small.