14 Compaction
14 Compaction
Compaction
The operation of layout area minimization is called layout compaction. Compaction of:
Space between the features. Size of the features. Shape of the features.
Accepts symbolic layout as the input, and generates the final layout as output.
Problem Formulation
Given:
A set of geometric features M = {M1, M2, .., Mn}. The minimum feature size, s(Mi), for all i. The minimum separation between features Mi and Mj, d(Mi,Mj).
Objective:
Minimize the layout such that s(Mi) size(Mi) dist(Mi,Mj) d(Mi,Mj) where size(Mi) and dist(Mi,Mj) are size of Mi and distance between Mi and Mj after the compaction, where 1 i,j n.
Compaction Algorithms
Based on minimum distance between features
Constraint graph based Virtual grid based
Constraint Types
Connectivity constraints
Separation constraints
Connectivity Constraints
If two features X and Y are required to be within a distance s of each other.
A physical connection can be represented in the graph as a pair of edges between X and Y, each with weight s.
X X Y
s
CAD for VLSI
Y
s
Separation Constraints
Two features X and Y are required to be at least d units apart from each other.
Represented as an edge from X to Y of weight d.
Contd.
Whenever the feature is obstructed by another feature, an edge is added to the graph between corresponding vertices. The obstructed part is then removed. The process is continued until all of the shadow has been obstructed. Process repeated for each feature in the layout.
Example
B A D C E
B A E
CAD for VLSI 10
D G
11
Contd.
Advantage:
Simple and easy to implement.
Disadvantage:
Does not produce compact layouts as compared to the constraint graph method.
12
Example
13
2- Dimensional Compaction
2-D compaction is in general much better than performing 1-D compaction. 2-D compaction, if solved optimally, produces minimum-area layouts.
It is very time consuming. Thus 1-D compaction techniques have been proposed. Perform x-direction compaction moves while making small moves in the y-direction.
14
Example
Given layout Optimal compaction
x followed by y
y followed by x
15
1-Dimensional Compaction
A deterministic algorithm.
Key idea is to provide enough lateral movements to blocks during compaction to resolve interferences.
This is called 1-dimensional compactor, since the geometry is not as free as in true 2-dimensional compaction.
16
Contd.
The algorithm maintains an X-Y adjacency graph.
Vertices represent blocks. Edges represent horizontal and vertical adjacency. Two blocks have a horizontal edge if they share a vertical boundary. Two blocks have a vertical edge if they share a horizontal boundary. The labels on the edges represent the minimum allowable distance between blocks.
17
Contd.
Four additional vertices are added to keep all the blocks within the required bounded rectangle. Free space is ignored in computing the neighborhood edges between blocks.
The algorithm assumes that the input is a partially completed layout, obtained by two applications of a 1-D compactor.
18
Contd.
Maintains two lists floor and ceiling. Floor consists of all the blocks which are visible from the top, and may become a neighbor of future block. Ceiling is a list of all blocks which can be moved immediately (namely, those which are visible from the bottom). Selects the lowest block in the ceiling list and moves it to the place on the floor which maximizes the gap between floor and ceiling. The process is continued until all blocks are moved from ceiling to floor.
19
Example
Since C is the lowest block in the ceiling list, it is selected for the move.
20
Contd.
The gap is maximum at the boundary between blocks A and B.
21
Contd.
The modified layout and the adjacency graph is shown.
22