SlideShare a Scribd company logo
VLSI Physical Design Automation
   Introduction , partitioning



                    Sushil kundu
                    Roll No:20084056
                    Registration No: 1954
                    Dept. of Applied Electronics
                    & Instrumentation Engg.,
                    University Institute of
                    Technology burdwan
Intended Audience

•  VLSI CAD (also known as EDA – electronic design
  automation) students, in particular for chip implementation
  (physical design)
• Circuit designers to understand how tools work behind
  the scene
• Process engineers to tune process that is more
  circuit/physical design friendly
• Mathematical/Computer Science majors who want to find
  tough problems to solve
  – Lots of VLSI physical design problems can be
      formulated into combinatorial optimization or
      mathematical programming problems.
  – Actually, most CAD problems are NP-complete ->
      heuristics
Objective of this Lecture
To review the materials used in fabrication of VLSI devices.
To review the structure of devices and process involved in
 fabricating different types of VLSI circuits.
To review the basic algorithm concepts.
 Understand the process of VLSI layout design.
 Study the basic algorithms used in layout design of VLSI
   circuits.
 Learn about the physical design automation techniques used
   in the best-known academic and commercial layout systems.
Physical Design
• Converts a circuit description into a geometric
description.
– This description is used for fabrication of the chip.
• Basic steps in the physical design cycle:
1. Partitioning
2. Floorplanning
3. placement
4. Routing
5. Compaction
So, what is Partitioning?


System Level Partitioning                 System

                                             PCBs

Board Level Partitioning

                                             Chips

 Chip Level Partitioning
                                          Subcircuits
                                           / Blocks

                                      6
Why partition ?
•  Ask Lord Curzon 
  – The most effective way to solve problems of high
      complexity : Parallel CAD Development
• System-level partitioning for multi-chip designs
  – Inter-chip interconnection delay dominates system
      performance
• IO Pin Limitation
• In deep-submicron designs, partitioning defines local
  and global interconnect, and has significant impact on
  circuit performance




                                                7
Importance of Circuit Partitioning
 Divide-and-conquer methodology
 The most effective way to solve problems of high complexity
E.g.: min-cut based placement, partitioning-based test
 generation,…
 System-level partitioning for multi-chip designs
   inter-chip interconnection delay dominates system
 performance.
 Circuit emulation/parallel simulation
  partition large circuit into multiple FPGAs (e.g. Quickturn), or
      multiple special-purpose processors (e.g. Zycad).
 Parallel CAD development
 Task decomposition and load balancing
 In deep-submicron designs, partitioning defines local and
 global interconnect, and has significant impact on circuit
 performance
…… ……
Objectives
•    Since each partition can correspond to a chip, interesting
    objectives are:
    – Minimum number of partitions
       • Subject to maximum size (area) of each partition
    – Minimum number of interconnections between partitions
       • Since they correspond to off-chip wiring with more
           delay and less reliability
       • Less pin count on ICs (larger IO pins, much higher
           packaging cost)
    – Balanced partitioning given bound for area of each
        partition




                                                  9
Partitioning:
 Partitioning is the task of dividing a circuit into smaller parts .
The objective is to partition the circuit into parts, so that the size
of each component is within prescribed ranges and the number of
connections between the components is minimized .
 Different ways to partition correspond to different circuit
implementations . Therefore, a good partitioning can significantly
improve circuit performance and reduce layout costs .
• Decomposition of a complex system into smaller subsystems
  – Done hierarchically
  – Partitioning done until each subsystem has manageable size
  – Each subsystem can be designed independently
• Interconnections between partitions minimized
  – Less hassle interfacing the subsystems
  – Communication between subsystems usually costly
Partitioning of a Circuit

Input size: 48




Cut 1=4          Cut 2=4
Size 1=15        Size 2=16   Size 3=17
Hierarcahical Partitioning
•    Levels of partitioning:
    – System-level partitioning:
       Each sub-system can be designed as a single PCB
    – Board-level partitioning:
       Circuit assigned to a PCB is partitioned into sub-circuits
       each fabricated as a VLSI chip
    – Chip-level partitioning:
       Circuit assigned to the chip is divided into manageable sub-
       circuits
       NOTE: physically not necessary
Delay at Different Levels of Partitions



        x
   A
             B
                                D

                 C
       10x


PCB1                                      PCB2
                     20x




                                     13
Partitioning: Formal Definition
•    Input:
    – Graph or hypergraph
    – Usually with vertex weights
    – Usually weighted edges
•    Constraints
    – Number of partitions (K-way partitioning)
    – Maximum capacity of each partition
        OR
        maximum allowable difference between partitions
•    Objective
    – Assign nodes to partitions subject to constraints
        s.t. the cutsize is minimized
•    Tractability
-    Is NP-complete 




                                                          14
Circuit Representation


• Netlist:                                   B
   – Gates: A, B, C, D
                                         A
   – Nets: {A,B,C}, {B,D}, {C,D}

                                             C       D
• Hypergraph:
   – Vertices: A, B, C, D
   – Hyperedges: {A,B,C}, {B,D}, {C,D}
                                                 B
   – Vertex label: Gate size/area
                                         A
   – Hyperedge label:
     Importance of net (weight)
                                             C       D
Circuit Partitioning: Formulation

  Bi-partitioning formulation:
      Minimize interconnections between partitions


                       c(X,X’)

               X                     X’


  •   Minimum cut:          min c(x, x’)
  •   minimum bisection: min c(x, x’) with |x|= |x’|
  •   minimum ratio-cut:    min c(x, x’) / |x||x’|



                                                     16
A Bi-Partitioning Example


             a                    c         100    e
                                      100    100
                             100                   100
                      9
   min-cut
             4

             b       10           d         100    f

                 mini-ratio-cut        min-bisection



       Min-cut size=13
       Min-Bisection size = 300
       Min-ratio-cut size= 19

Ratio-cut helps to identify natural clusters
                                                         17
Iterative Partitioning Algorithms


• Greedy iterative improvement method (Deterministic)
  – [Kernighan-Lin 1970]

• Simulated Annealing (Non-Deterministic)




                                                18
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, hypergraph  graph
                      b                              b
         a                                   a


                  c       d                          c   d
          Hypergraph                Graph
          Representation            Representation
                                             19
Problem Formulation
• Input: A graph with
   – Set vertices V (|V| = 2n)
   – Set of edges E (|E| = m)
   – Cost cAB for each edge {A, B} in E
• Output: 2 partitions X & Y such that
   – Total cost of edge cuts is minimized
   – Each partition has n vertices
• This problem is NP-Complete!!!!!




                                            20
A Trivial Approach
•    Try all possible bisections and find the best one
•    If there are 2n vertices,
    # of possibilities = (2n)! / n!2 = nO(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, 5x1028 possibilities
•        Need 1.59x1013 years if one can try 100M
       possbilities per second




                                                         21
Definitions
• Definition 1: Consider any node a in block X. The
  contribution of node a to the cutset is called the external cost
  of a and is denoted as Ea, where
  Ea =Σcav (for all v in Y)
• Definition 2: The internal cost Ia of node a in X is defined
  as follows:
            Ia =Σcav (for all v in X)
Example

• External cost (connection) Ea = 2
• Internal cost Ia = 1




                       X         b
                                      Y
                   c
                           a          d
Idea of KL Algorithm

• Da = Decrease in cut value if moving a = Ea-Ia
  – Moving node a from block X to block Y would decrease the
    value of the cutset by Ea and increase it by Ia


        X        b
                      Y                  X        b
                                                       Y
                                         c
    c
            a         d                           a    d

                          Da = 2-1 = 1
                          Db = 1-1 = 0
Idea of KL Algorithm
•    Note that we want to balance two partitions
•    If switch A & B, gain(A,B) = DA+DB-2cAB
    – cAB : edge cost for AB



         X        B
                        Y                  X       B       Y
     C                                    C
                        D
             A                                         A   D
                      gain(A,B) = 1+0-2 = -1
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 gi = gain(A,B)
  2. Find the k s.t. G=g1+...+gk is maximized
  3. Switch the first k pairs
•     Repeat the pass until there is no
         improvement (G=0)
Example

        X            Y                               X   Y
    1                    4                     4             1
                                                     2   5
    2                    5

    3                    6                     3             6

Original Cut Value = 9                   Optimal Cut Value = 5


            A good step-by-step example in SY book
Time Complexity of KL

•  For each pass,
  – O(n2) time to find the best pair to exchange.
  – n pairs exchanged.
  – Total time is O(n3) per pass.
• Better implementation can get O(n2log n) time per pass.

•   Number of passes is usually small.
Recap of Kernighan-Lin’s Algorithm
 Pair-wise exchange of nodes to reduce cut size
 Allow 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”;                    u            v a
  Update swap gains;
Until no feasible swap;                          v             u
Find max prefix partial sum in gain sequence g1,
                                                      locked
g2, …, gm
Make corresponding swaps permanent.

 Start another pass if current pass reduces the
cut size
 (usually converge after a few passes)
Other Partitioning Methods
• KL and FM have each held up very well
• Min-cut / max-flow algorithms
   – Ford-Fulkerson – for unconstrained
     partitions
• Ratio cut
• Genetic algorithm
• Simulated annealing
References and Copyright
 Textbooks referred (none required)
    [Mic94] G. De Micheli
     “Synthesis and Optimization of Digital Circuits”
     McGraw-Hill, 1994.
    [CLR90] T. H. Cormen, C. E. Leiserson, R. L. Rivest
     “Introduction to Algorithms”
     MIT Press, 1990.
    [Sar96] M. Sarrafzadeh, C. K. Wong
     “An Introduction to VLSI Physical Design”
     McGraw-Hill, 1996.
    [She99] N. Sherwani
     “Algorithms For VLSI Physical Design Automation”
     Kluwer Academic Publishers, 3rd edition, 1999.
THANK YOU

More Related Content

PPTX
Netlist to GDSII flow new.pptx physical design full info
PPTX
System partitioning in VLSI and its considerations
PPT
Asic backend design
PPTX
Vlsi physical design
PPTX
ASIC DESIGN : PLACEMENT
PPTX
ZERO WIRE LOAD MODEL.pptx
DOCX
Vlsi physical design-notes
PPTX
Placement in VLSI Design
Netlist to GDSII flow new.pptx physical design full info
System partitioning in VLSI and its considerations
Asic backend design
Vlsi physical design
ASIC DESIGN : PLACEMENT
ZERO WIRE LOAD MODEL.pptx
Vlsi physical design-notes
Placement in VLSI Design

What's hot (20)

PDF
Physical design-complete
PPTX
Floor plan & Power Plan
PPT
VLSI routing
PDF
VLSI-Physical Design- Tool Terminalogy
PPTX
Physical design
PPT
Design challenges in physical design
PDF
Sta by usha_mehta
PPT
ASIC design Flow (Digital Design)
PPTX
Powerplanning
PPTX
LOW POWER DESIGN VLSI
PPTX
Multi mode multi corner (mmmc)
PPT
floor planning
PPT
Placement and routing in full custom physical design
PPTX
Synopsys Fusion Compiler-Comprehensive RTL-to-GDSII Implementation System
PPT
Low Power Techniques
PDF
Vlsi design-styles
PPTX
PDF
Physical design
PDF
Understanding cts log_messages
PPTX
Placement
Physical design-complete
Floor plan & Power Plan
VLSI routing
VLSI-Physical Design- Tool Terminalogy
Physical design
Design challenges in physical design
Sta by usha_mehta
ASIC design Flow (Digital Design)
Powerplanning
LOW POWER DESIGN VLSI
Multi mode multi corner (mmmc)
floor planning
Placement and routing in full custom physical design
Synopsys Fusion Compiler-Comprehensive RTL-to-GDSII Implementation System
Low Power Techniques
Vlsi design-styles
Physical design
Understanding cts log_messages
Placement
Ad

Viewers also liked (16)

PPTX
Partition problem IN VLSI algorithem automation
PPTX
Physical Design Flow Challenges at 28nm on Multi-million Gate Blocks
PDF
APIs and Beyond: Open Distribution Platforms
PDF
Lec4 jwfiles
PPTX
Multi chip module
PDF
Research Facilities and Student Profile VLSI IITH
PPT
Vlsi Education In India
PPTX
PPT
VLSI circuit design process
PPTX
CAD: introduction to floorplanning
PDF
Floorplanning in physical design
PPTX
THE CMOS VLSI DESIGN
PPTX
Mobile IP
PPT
Introduction to VLSI
PPTX
FLOORPLANNING USING DE
PPTX
Slideshare ppt
Partition problem IN VLSI algorithem automation
Physical Design Flow Challenges at 28nm on Multi-million Gate Blocks
APIs and Beyond: Open Distribution Platforms
Lec4 jwfiles
Multi chip module
Research Facilities and Student Profile VLSI IITH
Vlsi Education In India
VLSI circuit design process
CAD: introduction to floorplanning
Floorplanning in physical design
THE CMOS VLSI DESIGN
Mobile IP
Introduction to VLSI
FLOORPLANNING USING DE
Slideshare ppt
Ad

Similar to Vlsi physical design automation on partitioning (20)

PPTX
Vlsiphysicaldesignautomationonpartitioning 120219012744-phpapp01
PDF
Volume 2-issue-6-2200-2204
PDF
Volume 2-issue-6-2200-2204
PPT
0021.system partitioning
PPTX
Presentation2
PDF
Ijarcet vol-2-issue-7-2230-2231
PDF
Ijarcet vol-2-issue-7-2230-2231
PPTX
Circuit Partitioning for VLSI Layout presented by Oveis Dehghantanha
PDF
CSBP: A Fast Circuit Similarity-Based Placement for FPGA Incremental Design a...
PDF
Physical Design-Floor Planning Goals And Placement
PPT
ASIC construction details for design prospective
PPT
Floor planning ppt
PDF
Summary of My Research
PDF
Mincut_Placement_Final_Report
KEY
Defense
PPT
UIC Panella Thesis
PDF
Graphlab under the hood
PPTX
application specific IC Algorithms Partitioning.pptx
PDF
The Berkeley View on the Parallel Computing Landscape
PPT
3rd 3DDRESD: DReAMS
Vlsiphysicaldesignautomationonpartitioning 120219012744-phpapp01
Volume 2-issue-6-2200-2204
Volume 2-issue-6-2200-2204
0021.system partitioning
Presentation2
Ijarcet vol-2-issue-7-2230-2231
Ijarcet vol-2-issue-7-2230-2231
Circuit Partitioning for VLSI Layout presented by Oveis Dehghantanha
CSBP: A Fast Circuit Similarity-Based Placement for FPGA Incremental Design a...
Physical Design-Floor Planning Goals And Placement
ASIC construction details for design prospective
Floor planning ppt
Summary of My Research
Mincut_Placement_Final_Report
Defense
UIC Panella Thesis
Graphlab under the hood
application specific IC Algorithms Partitioning.pptx
The Berkeley View on the Parallel Computing Landscape
3rd 3DDRESD: DReAMS

More from Sushil Kundu (15)

PDF
Sushil_Exp_CV_new
PDF
Synergy_Summit-Brochure
PDF
global_energy_summit_brochure
PDF
letter_head_john's_1
PDF
jhon's)_1
PDF
zenta-denta2
PDF
Synergy Summit Poster_4
PDF
Synergy_Summit-Poster
PDF
letter_head_john's_1
PDF
brochure_john's_salon
PDF
zenta_denta
PDF
Sushil cv
PPSX
My presentation for Banaras tours
PPTX
Seminar on “4G Technology” held at University Institute of Technology, Burdwa...
PDF
Mini cement plant using plc published in national conference on materials, de...
Sushil_Exp_CV_new
Synergy_Summit-Brochure
global_energy_summit_brochure
letter_head_john's_1
jhon's)_1
zenta-denta2
Synergy Summit Poster_4
Synergy_Summit-Poster
letter_head_john's_1
brochure_john's_salon
zenta_denta
Sushil cv
My presentation for Banaras tours
Seminar on “4G Technology” held at University Institute of Technology, Burdwa...
Mini cement plant using plc published in national conference on materials, de...

Recently uploaded (20)

PDF
Insiders guide to clinical Medicine.pdf
PDF
Basic Mud Logging Guide for educational purpose
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PPTX
Pharma ospi slides which help in ospi learning
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
RMMM.pdf make it easy to upload and study
PDF
Business Ethics Teaching Materials for college
PDF
Classroom Observation Tools for Teachers
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
Complications of Minimal Access Surgery at WLH
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PPTX
PPH.pptx obstetrics and gynecology in nursing
Insiders guide to clinical Medicine.pdf
Basic Mud Logging Guide for educational purpose
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
2.FourierTransform-ShortQuestionswithAnswers.pdf
Anesthesia in Laparoscopic Surgery in India
STATICS OF THE RIGID BODIES Hibbelers.pdf
Pharma ospi slides which help in ospi learning
Module 4: Burden of Disease Tutorial Slides S2 2025
RMMM.pdf make it easy to upload and study
Business Ethics Teaching Materials for college
Classroom Observation Tools for Teachers
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Abdominal Access Techniques with Prof. Dr. R K Mishra
Microbial diseases, their pathogenesis and prophylaxis
O7-L3 Supply Chain Operations - ICLT Program
Complications of Minimal Access Surgery at WLH
human mycosis Human fungal infections are called human mycosis..pptx
Microbial disease of the cardiovascular and lymphatic systems
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PPH.pptx obstetrics and gynecology in nursing

Vlsi physical design automation on partitioning

  • 1. VLSI Physical Design Automation Introduction , partitioning Sushil kundu Roll No:20084056 Registration No: 1954 Dept. of Applied Electronics & Instrumentation Engg., University Institute of Technology burdwan
  • 2. Intended Audience • VLSI CAD (also known as EDA – electronic design automation) students, in particular for chip implementation (physical design) • Circuit designers to understand how tools work behind the scene • Process engineers to tune process that is more circuit/physical design friendly • Mathematical/Computer Science majors who want to find tough problems to solve – Lots of VLSI physical design problems can be formulated into combinatorial optimization or mathematical programming problems. – Actually, most CAD problems are NP-complete -> heuristics
  • 3. Objective of this Lecture To review the materials used in fabrication of VLSI devices. To review the structure of devices and process involved in fabricating different types of VLSI circuits. To review the basic algorithm concepts.  Understand the process of VLSI layout design.  Study the basic algorithms used in layout design of VLSI circuits.  Learn about the physical design automation techniques used in the best-known academic and commercial layout systems.
  • 4. Physical Design • Converts a circuit description into a geometric description. – This description is used for fabrication of the chip. • Basic steps in the physical design cycle: 1. Partitioning 2. Floorplanning 3. placement 4. Routing 5. Compaction
  • 5. So, what is Partitioning? System Level Partitioning System PCBs Board Level Partitioning Chips Chip Level Partitioning Subcircuits / Blocks 6
  • 6. Why partition ? • Ask Lord Curzon  – The most effective way to solve problems of high complexity : Parallel CAD Development • System-level partitioning for multi-chip designs – Inter-chip interconnection delay dominates system performance • IO Pin Limitation • In deep-submicron designs, partitioning defines local and global interconnect, and has significant impact on circuit performance 7
  • 7. Importance of Circuit Partitioning  Divide-and-conquer methodology  The most effective way to solve problems of high complexity E.g.: min-cut based placement, partitioning-based test generation,…  System-level partitioning for multi-chip designs inter-chip interconnection delay dominates system performance.  Circuit emulation/parallel simulation partition large circuit into multiple FPGAs (e.g. Quickturn), or multiple special-purpose processors (e.g. Zycad).  Parallel CAD development Task decomposition and load balancing  In deep-submicron designs, partitioning defines local and global interconnect, and has significant impact on circuit performance …… ……
  • 8. Objectives • Since each partition can correspond to a chip, interesting objectives are: – Minimum number of partitions • Subject to maximum size (area) of each partition – Minimum number of interconnections between partitions • Since they correspond to off-chip wiring with more delay and less reliability • Less pin count on ICs (larger IO pins, much higher packaging cost) – Balanced partitioning given bound for area of each partition 9
  • 9. Partitioning:  Partitioning is the task of dividing a circuit into smaller parts . The objective is to partition the circuit into parts, so that the size of each component is within prescribed ranges and the number of connections between the components is minimized .  Different ways to partition correspond to different circuit implementations . Therefore, a good partitioning can significantly improve circuit performance and reduce layout costs . • Decomposition of a complex system into smaller subsystems – Done hierarchically – Partitioning done until each subsystem has manageable size – Each subsystem can be designed independently • Interconnections between partitions minimized – Less hassle interfacing the subsystems – Communication between subsystems usually costly
  • 10. Partitioning of a Circuit Input size: 48 Cut 1=4 Cut 2=4 Size 1=15 Size 2=16 Size 3=17
  • 11. Hierarcahical Partitioning • Levels of partitioning: – System-level partitioning: Each sub-system can be designed as a single PCB – Board-level partitioning: Circuit assigned to a PCB is partitioned into sub-circuits each fabricated as a VLSI chip – Chip-level partitioning: Circuit assigned to the chip is divided into manageable sub- circuits NOTE: physically not necessary
  • 12. Delay at Different Levels of Partitions x A B D C 10x PCB1 PCB2 20x 13
  • 13. Partitioning: Formal Definition • Input: – Graph or hypergraph – Usually with vertex weights – Usually weighted edges • Constraints – Number of partitions (K-way partitioning) – Maximum capacity of each partition OR maximum allowable difference between partitions • Objective – Assign nodes to partitions subject to constraints s.t. the cutsize is minimized • Tractability - Is NP-complete  14
  • 14. Circuit Representation • Netlist: B – Gates: A, B, C, D A – Nets: {A,B,C}, {B,D}, {C,D} C D • Hypergraph: – Vertices: A, B, C, D – Hyperedges: {A,B,C}, {B,D}, {C,D} B – Vertex label: Gate size/area A – Hyperedge label: Importance of net (weight) C D
  • 15. Circuit Partitioning: Formulation Bi-partitioning formulation: Minimize interconnections between partitions c(X,X’) X X’ • Minimum cut: min c(x, x’) • minimum bisection: min c(x, x’) with |x|= |x’| • minimum ratio-cut: min c(x, x’) / |x||x’| 16
  • 16. A Bi-Partitioning Example a c 100 e 100 100 100 100 9 min-cut 4 b 10 d 100 f mini-ratio-cut min-bisection Min-cut size=13 Min-Bisection size = 300 Min-ratio-cut size= 19 Ratio-cut helps to identify natural clusters 17
  • 17. Iterative Partitioning Algorithms • Greedy iterative improvement method (Deterministic) – [Kernighan-Lin 1970] • Simulated Annealing (Non-Deterministic) 18
  • 18. 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, hypergraph  graph b b a a c d c d Hypergraph Graph Representation Representation 19
  • 19. Problem Formulation • Input: A graph with – Set vertices V (|V| = 2n) – Set of edges E (|E| = m) – Cost cAB for each edge {A, B} in E • Output: 2 partitions X & Y such that – Total cost of edge cuts is minimized – Each partition has n vertices • This problem is NP-Complete!!!!! 20
  • 20. A Trivial Approach • Try all possible bisections and find the best one • If there are 2n vertices, # of possibilities = (2n)! / n!2 = nO(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, 5x1028 possibilities • Need 1.59x1013 years if one can try 100M possbilities per second 21
  • 21. Definitions • Definition 1: Consider any node a in block X. The contribution of node a to the cutset is called the external cost of a and is denoted as Ea, where Ea =Σcav (for all v in Y) • Definition 2: The internal cost Ia of node a in X is defined as follows: Ia =Σcav (for all v in X)
  • 22. Example • External cost (connection) Ea = 2 • Internal cost Ia = 1 X b Y c a d
  • 23. Idea of KL Algorithm • Da = Decrease in cut value if moving a = Ea-Ia – Moving node a from block X to block Y would decrease the value of the cutset by Ea and increase it by Ia X b Y X b Y c c a d a d Da = 2-1 = 1 Db = 1-1 = 0
  • 24. Idea of KL Algorithm • Note that we want to balance two partitions • If switch A & B, gain(A,B) = DA+DB-2cAB – cAB : edge cost for AB X B Y X B Y C C D A A D gain(A,B) = 1+0-2 = -1
  • 25. 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 gi = gain(A,B) 2. Find the k s.t. G=g1+...+gk is maximized 3. Switch the first k pairs • Repeat the pass until there is no improvement (G=0)
  • 26. Example X Y X Y 1 4 4 1 2 5 2 5 3 6 3 6 Original Cut Value = 9 Optimal Cut Value = 5 A good step-by-step example in SY book
  • 27. Time Complexity of KL • For each pass, – O(n2) time to find the best pair to exchange. – n pairs exchanged. – Total time is O(n3) per pass. • Better implementation can get O(n2log n) time per pass. • Number of passes is usually small.
  • 28. Recap of Kernighan-Lin’s Algorithm  Pair-wise exchange of nodes to reduce cut size  Allow 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”; u v a Update swap gains; Until no feasible swap; v u Find max prefix partial sum in gain sequence g1, locked g2, …, gm Make corresponding swaps permanent.  Start another pass if current pass reduces the cut size (usually converge after a few passes)
  • 29. Other Partitioning Methods • KL and FM have each held up very well • Min-cut / max-flow algorithms – Ford-Fulkerson – for unconstrained partitions • Ratio cut • Genetic algorithm • Simulated annealing
  • 30. References and Copyright  Textbooks referred (none required)  [Mic94] G. De Micheli “Synthesis and Optimization of Digital Circuits” McGraw-Hill, 1994.  [CLR90] T. H. Cormen, C. E. Leiserson, R. L. Rivest “Introduction to Algorithms” MIT Press, 1990.  [Sar96] M. Sarrafzadeh, C. K. Wong “An Introduction to VLSI Physical Design” McGraw-Hill, 1996.  [She99] N. Sherwani “Algorithms For VLSI Physical Design Automation” Kluwer Academic Publishers, 3rd edition, 1999.

Editor's Notes

  • #15: Maximum difference between partition sizes is usually specified as a percentage. For example, if 5% is the maximum allowable imbalance, then a partition cannot have more than 55% of the vertices (or sum of vertex weights) in a 2-way partitioning solutionWhat does cutsize mean?It refers to the number (sum of weights) of the edges that are “cut”, i.e., connect two vertices from two different partitions