1 / 61

CSE 242A Integrated Circuit Layout Automation

Learn about 2-way, multi-way, and multilevel partitioning in circuit layout automation. Explore algorithms, net modeling, and optimal vs. heuristic methods. Understand the importance of partitioning in design quality.

mdominguez
Download Presentation

CSE 242A Integrated Circuit Layout Automation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

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

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

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

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

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

  8. Bisection

  9. Ratio Cut

  10. Multi-Way Partitioning • K-Way Partitioning X1 X2 Xk

  11. Cluster Ratio Cut

  12. Multi-Level Partitioning • K-Level Partitioning • Li<= Xi<= Ui • Min Connection Cost • E(Ti) <= Ci • External connection cost <= threshold at level i

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

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

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

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

  17. Clustering • K-Way Partitioning • K>>10 • Obj strongly depends on applications • Performance driven • Obj min max # cuts between registers • Complexity reduction Ei external connection Ii internal connection

  18. 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.

  19. 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

  20. Net Modeling: Hypernet Model (Flow Approach)

  21. 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

  22. 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

  23. 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

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

  25. Group MigrationKermighan & Lin Bisection • Cost Ci: change of #cuts by moving node i to the other side • Heapsort nodes in each partition according to Ci Repeat 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

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

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

  28. High Order Gains

  29. Probabilistic Model

  30. 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

  31. Simulated Annealing

  32. Simulated Annealing s, nexts: configurations, T: real, count: integer • Begin • S= random initial configuration • T=T0 • Repeat • Count= 0 • Repeat • Count= count+1 • Nexts= generate(s) • If c(nexts)<= c(s) or f(c(s),c(nexts),T)> random(0,1) • Then s= nexts • Until equilibrium(count,s,T) • T= update(T) • Unitl frozen(T) • End

  33. Programming

  34. Improving the lower bound

  35. Network Flow Approaches

  36. Multiple Commodity Flow

  37. B constraints can be used to replace A

  38. Weighted Cluster Ratio Cut

  39. Replication Cut

  40. R R R S T S T S T

  41. Replication Graph

  42. Replication Graph

  43. Heuristic Flow Approaches

More Related