CSE 242A Integrated Circuit Layout Automation Lecture: Partitioning Winter 2009 Chung-Kuan Cheng.

Slides:



Advertisements
Similar presentations
L30: Partitioning 성균관대학교 조 준 동 교수
Advertisements

ECE-777 System Level Design and Automation Hardware/Software Co-design
A Graph-Partitioning-Based Approach for Multi-Layer Constrained Via Minimization Yih-Chih Chou and Youn-Long Lin Department of Computer Science, Tsing.
Management Science 461 Lecture 2b – Shortest Paths September 16, 2008.
Lectures on Network Flows
Graph Clustering. Why graph clustering is useful? Distance matrices are graphs  as useful as any other clustering Identification of communities in social.
TPL-aware displacement-driven detailed placement refinement with coloring constraints Tao Lin and Chris Chu Iowa State University 1.
Balanced Graph Partitioning Konstantin Andreev Harald Räcke.
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 HW/SW Partitioning Embedded Systems Design. 2 Hardware/Software Codesign “Exploration of the system design space formed by combinations of hardware.
Placement of Integration Points in Multi-hop Community Networks Ranveer Chandra (Cornell University) Lili Qiu, Kamal Jain and Mohammad Mahdian (Microsoft.
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2010.
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.
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.
Continuous Retiming EECS 290A Sequential Logic Synthesis and Verification.
Review Best-first search uses an evaluation function f(n) to select the next node for expansion. Greedy best-first search uses f(n) = h(n). Greedy best.
EDA (CS286.5b) Day 19 Covering and Retiming. “Final” Like Assignment #1 –longer –more breadth –focus since assignment #2 –…but ideas are cummulative –open.
Processing Rate Optimization by Sequential System Floorplanning Jia Wang 1, Ping-Chih Wu 2, and Hai Zhou 1 1 Electrical Engineering & Computer Science.
CSE 242A Integrated Circuit Layout Automation Lecture: Floorplanning Winter 2009 Chung-Kuan Cheng.
Partitioning 1 Outline –What is Partitioning –Partitioning Example –Partitioning Theory –Partitioning Algorithms Goal –Understand partitioning problem.
1 Contents college 3 en 4 Book: Appendix A.1, A.3, A.4, §3.4, §3.5, §4.1, §4.2, §4.4, §4.6 (not: §3.6 - §3.8, §4.2 - §4.3) Extra literature on resource.
15-853Page :Algorithms in the Real World Separators – Introduction – Applications.
Partitioning Outline –What is Partitioning –Partitioning Example –Partitioning Theory –Partitioning Algorithms Goal –Understand partitioning problem –Understand.
1 ENTITY test is port a: in bit; end ENTITY test; DRC LVS ERC Circuit Design Functional Design and Logic Design Physical Design Physical Verification and.
CSE 373 Data Structures Lecture 15
CSE 242A Integrated Circuit Layout Automation Lecture: Global Routing Winter 2009 Chung-Kuan Cheng.
CSE 242A Integrated Circuit Layout Automation Lecture 5: Placement Winter 2009 Chung-Kuan Cheng.
Register-Transfer (RT) Synthesis Greg Stitt ECE Department University of Florida.
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.
Graph Partitioning Problem Kernighan and Lin Algorithm
CSE 494: Electronic Design Automation Lecture 4 Partitioning.
Modeling and Evaluation with Graph Mohammad Khalily Dermany Islamic Azad University, Khomein branch.
1 CS612 Algorithms for Electronic Design Automation CS 612 – Lecture 8 Lecture 8 Network Flow Based Modeling Mustafa Ozdal Computer Engineering Department,
1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.
Maximization of Network Survivability against Intelligent and Malicious Attacks (Cont’d) Presented by Erion Lin.
Massachusetts Institute of Technology 1 L14 – Physical Design Spring 2007 Ajay Joshi.
1 Exploring Custom Instruction Synthesis for Application-Specific Instruction Set Processors with Multiple Design Objectives Lin, Hai Fei, Yunsi ACM/IEEE.
10/25/ VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 3. Circuit Partitioning.
Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.
Penn ESE535 Spring DeHon 1 ESE535: Electronic Design Automation Day 24: April 18, 2011 Covering and Retiming.
1 Short Term Scheduling. 2  Planning horizon is short  Multiple unique jobs (tasks) with varying processing times and due dates  Multiple unique jobs.
CS244-Introduction to Embedded Systems and Ubiquitous Computing Instructor: Eli Bozorgzadeh Computer Science Department UC Irvine Winter 2010.
Resource Mapping and Scheduling for Heterogeneous Network Processor Systems Liang Yang, Tushar Gohad, Pavel Ghosh, Devesh Sinha, Arunabha Sen and Andrea.
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 6: January 23, 2002 Partitioning (Intro, KLFM)
CSE 242A Integrated Circuit Layout Automation Lecture 1: Introduction Winter 2009 Chung-Kuan Cheng.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Chapter 18: Searching and Sorting Algorithms. Objectives In this chapter, you will: Learn the various search algorithms Implement sequential and binary.
Pipelining and Retiming
L12 : Lower Power High Level Synthesis(3) 성균관대학교 조 준 동 교수
CALTECH CS137 Winter DeHon CS137: Electronic Design Automation Day 9: February 9, 2004 Partitioning (Intro, KLFM)
CSCI1600: Embedded and Real Time Software Lecture 33: Worst Case Execution Time Steven Reiss, Fall 2015.
CALTECH CS137 Spring DeHon 1 CS137: Electronic Design Automation Day 5: April 12, 2004 Covering and Retiming.
ICS 252 Introduction to Computer Design
A global approach Finding correspondence between a pair of epipolar lines for all pixels simultaneously Local method: no guarantee we will have one to.
Global Clustering-Based Performance-Driven Circuit Partitioning Jason Cong University of California Los Angeles Chang Wu Aplus Design.
Register-Transfer (RT) Synthesis Greg Stitt ECE Department University of Florida.
Retiming EECS 290A Sequential Logic Synthesis and Verification.
Minimum Cost Flow Algorithms and Networks. Algorithms and Networks: Minimum Cost Flow2 This lecture The minimum cost flow problem: statement and applications.
Lectures on Network Flows
CSCI1600: Embedded and Real Time Software
Chapter 2 – Netlist and System Partitioning
A Fundamental Bi-partition Algorithm of Kernighan-Lin
Register-Transfer (RT) Synthesis
Major Design Strategies
CSCI1600: Embedded and Real Time Software
Major Design Strategies
Algorithm Course Algorithms Lecture 3 Sorting Algorithm-1
Presentation transcript:

CSE 242A Integrated Circuit Layout Automation Lecture: Partitioning Winter 2009 Chung-Kuan Cheng

Outlines Motivations Formulations 2-way partitioning, multi-way partitioning, multilevel partitioning, replication cut, clustering. Net Modeling Algorithms Optimal Methods: Special cases, branch and bound, Heuristic Methods: group migration, network flow, clustering, simulated annealing, genetic approaches

Motivation Huge designs 100 Millions Trans Design Analysis Engineering Change Orders Good partitioning makes difference on design quality

Motivation: Applications Physical Hierarchy Divide and Conquer Project decomposition Complexity reduction of each level Emulation Hardware & Software codesign Management design resource

Formulations: Two Way Partitioning Random two-way partition N-pin net to be cut a a a a b b b b

Min-Cut s t Theorem: There exists an optimal linear placement s.t. X and are separated. Trend:

Min-Cut Opt->Linear Placement Trend: X=V S S

Bisection

Ratio Cut

Multi-Way Partitioning K-Way Partitioning X1X1 X2X2 XkXk

Cluster Ratio Cut

Multi-Level Partitioning K-Level Partitioning L i <= X i <= U i Min Connection Cost E(T i ) <= C i External connection cost <= threshold at level i

Generic Binary Tree L <= X i <=U Level of Node = longest path to leaves Connection cost of node i at level L

Replication Cut X Y R X R R Y C(X,Y)+C(Y,X)+C(Y,R)+C(X,R)

Performance-Driven Partitioning Need an incremental timing analysis to reflect the performance fast Replication helps

Retiming (Pipelined process) Allocate one clock cycle for interpartition communication System performance is dominated by Loops:

Clustering K-Way Partitioning K>>10 Obj strongly depends on applications Performance driven Obj min max # cuts between registers Complexity reduction E i external connection I i internal connection

Net Modeling Shifting: For each shift, we update k, n-k. The cost of the net changes only when k = 0, 1 or n- k =0, 1 Two pin net clique 2/k total weight k-1 1/(k-1) S.K.

Net Modeling: Loop Model Suppose relative positions of pins are given, we can use a loop model The model remains correct if any two adjacent (in order) pins swap

Net Modeling: Hypernet Model (Flow Approach)

Optimal Methods: Branch & Bound Prune the branches when size constraint is violated Partial cost >= existing cost For U=L=|V|/2 # combinations = |V| ! / (|V/2)! (|V|/2)! With an elegant implementation |V| <= 60 is feasible

Optimal Methods: Serial & Parallel Graph Dynamic Programming on Series-Parallel graph G(V, E, s, t) C(a, i, j) a: s, t on different sides C(b, i, j) b: s, t on the left side, left side has i nodes, right side has j nodes

Optimal Methods: Serial & Parallel Graph (Cont) Dynamic Programming on Series-Parallel graph G(V, E, s, t) C(a, i, j) a: s, t on different sides C(b, i, j) b: s, t on the left side, left side has i nodes, right side has j nodes

Heuristic Methods Group Migration Kernighan & Lin Fiducccia-Matheyses Programming Network Flow Replication Cut Clustering

Group Migration Kermighan & Lin Bisection Cost Ci: change of #cuts by moving node i to the other side Heapsort nodes in each partition according to Ci Repeat Choose among the top k the best pair to swap Update the cost, lock the moved nodes Until all nodes are locked Find the best sequence to swap Until no more improvement

Group Migration Hill climbing to jump over local optimal solutions. Locking mechanism to avoid repeated moves.

Fiduccia-Mattheyses No swapping, move a single node each time Replace the heap with an array

High Order Gains

Probabilistic Model

Move all nodes according to a single net Adv: move more nodes a the same operation. Good for multi-way, hierarchical where cost function dominated by the way to handle the nets Dis: Complicate

Simulated Annealing

s, nexts: configurations, T: real, count: integer Begin S= random initial configuration T=T 0 Repeat  Count= 0  Repeat  Count= count+1  Nexts= generate(s)  If c(nexts) random(0,1)  Then s= nexts  Until equilibrium(count,s,T) T= update(T) Unitl frozen(T) End

Programming

Improving the lower bound

Network Flow Approaches

Multiple Commodity Flow

B constraints can be used to replace A

Weighted Cluster Ratio Cut

Replication Cut

R ST RR ST S T

Replication Graph

Heuristic Flow Approaches

Cluster Ratio

Clustering (Performance- Driven) Cap <= 4 (1)Min delay (2)Min #clusters (3)Min #clusters, T>=delay (4)Min delay #clusters <= C (5)Min max #inputs, #cluster<= C (6)Min #clusters, #inputs <= K

Clustering Heuristics Cluster during target operation Recursive partitioning (ratio cut) to find clusters. Then treat each cluster as a single node to perform partitioning.

Linear Placement Iteration Do linear placement Cluster adjacent nodes Treat each cluster as a single node repeat linear placement Adv: Work on the right target Dis: Need an efficient & effective target operation

Max Pair Given pairing cost, find the best pair to cluster Treat each cluster as a single node. Repeat the process The cost function does not encourage the largest node pair with other nodes continuously.

Max Matching Match the n/2 pairs simultaneously Adv: max matching can be solved in polynomial operation optimally Dis: enforce unnatural pair to merge C and f are merged because their choices are taken by others

Variations of cost function Similarity of signatures (Data Path) Bit #, pin sequence Control signal, function of gate

The conductivity between nodes i & j

K th -connectivity

Research Directions Logic Hierarchy Layout Hierarchy (1)Obj: min distortion, max performance (2)Linkage between two: eg ECO revision (3)Improvement of operations by exploring the given hierarchy