An Effective Floorplanning Algorithm in Mixed Mode Placement

advertisement
An Effective Floorplanning Algorithm in Mixed
Mode Placement Integrated with RectilinearShaped Optimization for Soft Blocks
Changqi Yang, Xianlong Hong, Hannah Yang
EDA Lab, Tsinghua University
Strategic CAD Labs, Intel Corporation
Content

Motivation
 Outline of the Floorplan Algorithm RSF
 Experimental Results
 Summary
Motivation
Mixed Mode Placement

Mixed Mode Placement (MMP) problem can be
successfully solved by combining floorplanning
and cell based placement according to circuit's
hierarchy.
– Partition
– Floorplan
– Placement
Motivation
Floorplanning is the Key
Stage in MMP

Floorplanning is the key phase during the
whole design stages of MMP because the
shorter wire length of floorplanning can
reduce the final wire length after global /
detailed placement.
 Restricting virtual blocks’ shapes to be fixed
or be rectangular will limit the quality of
floorplanning.
Motivation
Previous Works

Soften virtual blocks by changing their width and height
– 2000, Ma, “VLSI floorplanning with Fixed Topology”

L/T shaped floorplanning
– 2001, Ma, "Floorplanning with Abutment Constraints ..."

Grid-based floorplanning algorithm to optimize the
shape of virtual blocks
– 2000, Dinesh P. Mehta, "On the Use of Flexible, ..."

Lagrange Relaxation method to modify the shapes and
dimensions of modules to fill up the unused area of a
preliminary floorplanning
– 2002, F.Y.Young, "Non-rectangular shaping and sizing ..."
Motivation
Virtual Block
c
g
b
g
C
b
e
B
a
f
A
c
e
B
d
A
C’
f
’
d
a

Virtual blocks are composed by standard cells.
 Virtual blocks’ features:
– They can expand their area
– They can be transformed into rectilinear-shape.
– They connect to other blocks through virtual pins.
Outline of Algorithm
Main Flow
Normal Floorplan
Change the
topology
Rectilinear-Shaped
Optimization (RSO)
Output the
optimum value
Back to
Rectangle
evaluation
Outline of Algorithm
RSO

MBB - Minimal Bounding Box
– The half-perimeter of this bounding box is corresponding to
the minimal wire length of the net in half-perimeter mode

MBBI – Minimal Bounding Box Intersection
– The virtual pin can be allocated at the point of intersection
between the MBB and the virtual block which the virtual pin
belongs to

DSA – Dead Space Attachment
– RSO can reduce the wire length if it can result in the smaller
MBB of nets. It starts from searching DSB during the
packing and then attaches the DSB to the virtual blocks
properly.
Outline of Algorithm
MBB & MBBI
virtual block
MBB
MBB candidate
(a)

(b)
(c)
The minimal wire length of a net is:
Max( Max( X ilb )  Min( X irt ), 0)  Max( Max(Yi lb )  Min(Yi rt ), 0)

Draw a MMB according to the formula
 MBB would retrogress to be a line
 Find MBB with rectilinear-shaped block by enumerating all
MBB candidates among sub blocks and selecting the one with
minimal perimeter.
Outline of Algorithm
Find the Dead Space
g
DSB
g
d
c
b
a

d
f
f
c
b
e
a
e
CBL is adopted as the representation of blocks’
topology.
 In CBL, all the dead-space blocks can be found
during the process of packing.
Outline of Algorithm
DSA
a
Virtual block
2
b
DSB
1
c
(a)
MBB
(b)

Gain:
 Potential Gain:
max( HP( MBB( L))  HP( MBB ' ( L)), 0)

max( MM (b, MBB( L))  MM (b ' , MBB( L)), 0)

G (b ' , b) 
LNL ( b )
G ' (b' , b) 
LNL ( b )
Outline of Algorithm
DSA Algorithm




















Algorithm DSA()
DS: the set of DSB in packing
{
construct DS during packing according to lemma 3;
for each D in DS do
for each attachment do
calculate G according to formula (2);
calculate G' according to formula (3);
end for
select an attachment A with maximal G;
if G(A)>0 then
complete this attachment;
else
select an attachment A with maximal G';
if G'(A) > 0 then
complete this attachment;
end if
end if
end for
}
Experimental Results
Results on MCNC Cases
Virtual #
20%
Virtual
#50%
Virtual #100%
WireLen
Min/Ave
r
Min/Aver
Impr (%)
Min/Aver
Impr (%)
Min/Aver
Impr (%)
ami33
39.431/
48.947
38.189/
40.657
3.2/
16.9
32.427/
33.781
17.8/
30.9
19.911/
22.903
49.5/
53.2
ami49
710.220/
775.551
730.156/
757.099
-2.8/
2.4
667.203/
689.463
6.1/
11.1
444.975/
480.984
37.3/
37.9
apte
194.950/
202.830
160.227/
209.284
17.8/
-3.2
160.68/
177.243
17.6/
12.6
74.187/
113.626
61.9/
43.9
xerox
403.466/
533.916
347.719/
411.925
13.8/
22.8
303.507/
365.3
24.8/
31.6
192.323/
237.822
52.3/
55.5
Name
Experimental Results
Results on MMP
Circuits
#cells
#macro
blocks
#nets
Block area (average)
/cell area(average)
block2
7094
2
10049
2045
block6
5996
6
10049
872
block8
5662
8
10049
695
block9
5895
9
10049
751
block10
5151
10
10049
676
Experimental Results
Results on MMP (2)
Name
HMMP
WireLen
MMP
WireLen
Impr(
%)
HMMP
RTime(s)
MMP
RTime(s)
block 2
1.692e6
1.608e6
5.0
358
320
block 6
2.029e6
1.435e6
29.3
382
335
block 8
2.022e6
1.409e6
30.3
405
314
block9
2.345e6
1.552e6
33.8
388
295
block 10
2.131e6
1.240e6
41.8
388
356
Summary
Summary

The floorplanning algorithm integrated with
rectilinear-shaped optimization is effective.
 It can achieve good floorplanning quality
when virtual blocks exist.
 The MMP involving the algorithm as its
floorplanning stage can obtain better
performance in final placement results
Thank you!!!
Download