Title: Circuit placement on arbitrarily shaped regions using the self-organization principle
1Circuit placement on arbitrarily shaped regions
using the self-organization principle
- Paper by Sung-Soo Kim,
- Chong-Min Kyuing,
- Korea, 1992
Leonid Tolstoy UMASS 2004
2Overview
- Self-organization assisted placement
algorithm(SOAP), for circuit placement in
arbitrarily shaped regions
- two-dimensional (2-D) arbitrary shaped regions
- nonplanar surfaces of three-dimensional objects
- three-dimensional volumes
Based on the self-organizing Kohonen algorithm
for Neural Networks
3Advantages
- General algorithm for circuit placement in
arbitrary shaped region, even 3D, and gives
optimal solution. - Earlier methods of placement in rectilinear
regions, where result heavily depends on
arbitrary partition of the entire region into a
number of rectangular subregions, often give
suboptimal solutions.
4Self-Organizing Assisted Placement
- Placement consists in finding the positions of
modules such that closely related modules are
placed near one another, and total
interconnection length is minimized.
- Relationship with Neural Network (NN)- Number
of input nodes corresponds to dimensionality (2D,
3D) of the region- Circuit modules correspond
to output NN nodes- Variable weighs wij from
input nodes (si) to output nodes (rj) correspond
to i-th coordinates of module mj (x and y)
5General Self-Organizing Assisted Placement Alg-m.
- 1 step. Initialization t0all modules are
clustered around the center of the region.
2 step. Present a new pointX(t)x1(t),x2(t)
3 step. Select closest to X module j
4 step. Update position of module j, and its
neighbors within the distance s(i) from module j.
5 step. Increment t.
6 step. If s(t)0 stop,else go to step 2.
6Neighborhood of a module
- Neighborhood of a module j at time t is a set of
modules lying within distance s(t) from module j,
where s(t) is a time- decreasing function, which
determines the size of the neighborhood.
Position update
Neighborhood at T1
Neighborhood at T2
Neighborhood at T3
7Global Placement of Macro cells using SOAP
- In the basic SOAP each module is considered as a
point, which leads to overlaps in placement. - Modified algorithm considers size and shape of
modules.
- Basic SOAP is used to obtain the initial
placement in the initial region (about 25 of
the entire region). - Then gradually increase size of the modules,
preserving current placement configuration. - Use reorientation of modules to eliminate
overlaps.
8Global Placement for Macro cells, using modified
SOAP
1 step. Initial placement using basic SOAP
(using 25 of area, and modules represented by
point).
2 step. Gradual expansion of module size.
3 step. Modules rotation and orientation for min
wiring length.
5 step. If module size is actual- stop,else go
to step 2.
93-D circuit placement
- Occurs when control schemes have to be placed on
the interior/exterior surface of the mechanical
object,or when it is necessary to place circuits
modules on the surface of the 3D objects to
minimize total volume or wiring distances. - Placement on multiple layers - high packing
density and high performance.
SOAP Algorithm modifications -3 input nodes
(correspond to x,y,z coordinates) -sort cells
for each surface, project on it.
103D circuit placement results
Placement on the 3D surface and on multiple
layers
11Conclusions
- This algorithm can work with arbitrary shaped
regions, non-planar surfaces, and 3D volumes. - SOAP algorithm doesnt requires region
partitioning (essential in earlier works). - This algorithm is quite competitive with other
algorithms even in rectangular regions.
12?