Clustering
ECE6133 Physical Design Automation of VLSI Systems
- Prof. Sung Kyu Lim
Clustering ECE6133 Physical Design Automation of VLSI Systems - - PowerPoint PPT Presentation
Clustering ECE6133 Physical Design Automation of VLSI Systems Prof. Sung Kyu Lim School of Electrical and Computer Engineering Georgia Institute of Technology Circuit Clustering Grouping cells to form bigger cells Why do we do this? B
Practical Problems in VLSI Physical Design
Grouping cells to form bigger cells
A D E F C B
Cluster A with its “closest neighbor”
A D E F C B AC D E F B
Update the circuit netlist
Practical Problems in VLSI Physical Design
Motivation
Objectives
Practical Problems in VLSI Physical Design
Differences and similarities
Clustering Metrics
Partitioning Metrics
Practical Problems in VLSI Physical Design
Desire high “density” in each cluster
e6 e3 e5 e4 e1 v1 v2 v3 e2 ) ( ) ( ) ( ) ( ) ( ) ( ) ( / ) ( ) (
3 2 1 5 4 3 1
1 1
v s v s v s e w e w e w v s e w C DEN
C e C v
+ + + + = = ∑
∈ ∈
Practical Problems in VLSI Physical Design
Cutsize-oriented
ASPDAC’00]
Delay-oriented
Brayton-Sanjiovanni 1991; Rajaraman-Wong 1995; Cong-Ding 1992]
ICCAD’97]
Practical Problems in VLSI Physical Design
Assumption:
Objective: Find a clustering of minimum delay Phase 1: Label all nodes in topological order
Phase 2: Form clusters
p-1 Xp p-1 v p-1 p p
Practical Problems in VLSI Physical Design
First optimal algorithm that solves delay-oriented
Given
Find
Delay model
Node duplication is allowed
Practical Problems in VLSI Physical Design
Initialization phase
Labeling Phase
Clustering Phase
Practical Problems in VLSI Physical Design
Practical Problems in VLSI Physical Design
Practical Problems in VLSI Physical Design
Practical Problems in VLSI Physical Design Rajaraman-Wong Algorithm (1/8)
Perform RW clustering on the following di-graph.
Practical Problems in VLSI Physical Design Rajaraman-Wong Algorithm (2/8)
All-pair delay matrix Δ(x,y)
Practical Problems in VLSI Physical Design Rajaraman-Wong Algorithm (3/8)
Compute l(d) and cluster(d)
Practical Problems in VLSI Physical Design Rajaraman-Wong Algorithm (4/8)
Compute l(i) and cluster(i)
Practical Problems in VLSI Physical Design Rajaraman-Wong Algorithm (5/8)
Labeling phase generates the following information.
Practical Problems in VLSI Physical Design Rajaraman-Wong Algorithm (6/8)
Initially L = POs = {k,l}.
Practical Problems in VLSI Physical Design Rajaraman-Wong Algorithm (7/8)
Clustering phase generates 8 clusters.
Practical Problems in VLSI Physical Design Rajaraman-Wong Algorithm (8/8)
Path c-e-g-i-k has delay 8 (= max label)
Practical Problems in VLSI Physical Design
Rajaraman-Wong Algorithm
– From coarse-grain into finer-grain optimization – Successfully used in partial differential equations, image processing, combinatorial optimization, etc, and circuit partitioning.
Coarsening Uncoarsening Initial Partitioning
– Generate hierarchical representation of the netlist
– Obtain initial solution for the top-level clusters – Reduced problem size: converge fast
– Project solution to the next lower-level (uncoarsening) – Perturb solution to improve quality (refinement)
– Additional improvement possible from new clustering – Iterate Step 1 (with variation) + Step 3 until no further gain
– Post-refinement scheme for multi-level methods – Different clustering can give additional improvement
– Require initial partitioning – Do not merge clusters in different partition – Maintain cutline: cutsize degradation is not possible
– V-cycle: start from the bottom-level – v-cycle: start from some middle-level – Tradeoff between quality vs. runtime
– Coarsening engine (bottom-up)
– Initial partitioning engine
– Refinement engine (top-down)
– hMetis [DAC97] and hMetis-Kway [DAC99]
– Contribution: 3 new coarsening schemes for hypergraphs
Original Graph Edge Coarsening Edge Coarsening = heavy-edge maximal matching
– Contribution: 3 new coarsening schemes for hypergraphs
Hyperedge Coarsening Modified Hyperedge Coarsening Hyperedge Coarsening = independent hyperedge merging
Modified Hyperedge Coarsening = Hyeredge Coarsening + post process
– New coarsening: First Choice (variant of Edge Coarsening)
– Greedy refinement
Original Graph First Choice
1.61 1.21 1.03 1 0.4 0.8 1.2 1.6 Scaled Cutsize FM LR LR/ESC hMetis
1.2 1.03 1.19 1.02 1.18 1.01 1.15 0.97 0.2 0.4 0.6 0.8 1 1.2 Scaled Cutsize 2way 8way 16way 32way hMetis-Kway KPM/LR LR/ESC-PM
Practical Problems in VLSI Physical Design Multi-level Coarsening (1/11)
Perform Edge Coarsening (EC)
Practical Problems in VLSI Physical Design Multi-level Coarsening (2/11)
Practical Problems in VLSI Physical Design Multi-level Coarsening (3/11)
Practical Problems in VLSI Physical Design Multi-level Coarsening (4/11)
# of nodes/hyperedges reduced: 4 nodes, 5 hyperedges
Practical Problems in VLSI Physical Design Multi-level Coarsening (5/11)
Initial setup
Practical Problems in VLSI Physical Design Multi-level Coarsening (6/11)
Practical Problems in VLSI Physical Design Multi-level Coarsening (7/11)
Practical Problems in VLSI Physical Design Multi-level Coarsening (8/11)
# of nodes/hyperedges reduced: 6 nodes, 4 hyperedges
Practical Problems in VLSI Physical Design Multi-level Coarsening (9/11)
Revisit skipped nets during hyperedge coarsening
Practical Problems in VLSI Physical Design Multi-level Coarsening (10/11)
Practical Problems in VLSI Physical Design Multi-level Coarsening (11/11)
# of nodes/hyperedges reduced: 5 nodes, 4 hyperedges