Title: BTrees: A New Representation for NonSlicing Floorplans
1B-Trees A New Representation forNon-Slicing
Floorplans
- Yun-Chih Chang, Yao-Wen Chang,
- Guang-Ming Wu, and Shu-Wei Wu
Department of Computer and Information
Science National Chiao Tung University Hsinchu,
Taiwan, ROC
2Outline
Introduction
Our Contributions
Pre-placed Modules
Representations
Operations
Soft Modules
Algorithm
Rectilinear Modules
Experimental results
Conclusion
3Introduction
Our Contributions
Pre-placed Modules
Representations
Operations
Soft Modules
Algorithm
Rectilinear Modules
Experimental results
Conclusion
4Introduction
- Floorplanning becomes more critical due to
hierarchical design and IP modules. - Need an efficient, flexible, and effective
representation for floorplans. - Two types of floorplans slicing structure and
non-slicing structure.
3
1
4
5
2
6
7
5Floorplan Representations
- Slicing Floorplans
- Binary tree Otten, DAC82
- Normalized Polish expression Wong and Liu,
DAC86 - Non-slicing Floorplans
- Sequence pair Murata et al., ICCAD95
- Bounding slicing grid Nakatake et al., ICCAD96
- O-tree Guo, Cheng, and Yoshimura, DAC99
6Introduction
Our Contributions
Pre-placed Modules
Representations
Operations
Soft Modules
Algorithm
Rectilinear Modules
Experimental results
Conclusion
7Contributions
Introduce the B-tree representation for
non-slicing floorplans.
8Characteristics of B-trees
- Efficiency
- Is based on ordered binary tree, fast and easy
for implementation. - Needs no constraint graphs for area cost
evaluation. - Evaluates area cost incrementally.
- Only needs to transform from a B-tree to
placement during processing, except for handling
soft modules. - Effectiveness
- Results in smaller silicon area.
- Flexibility
- Handles hard, pre-placed, soft and rectilinear
modulesdirectly and efficiently.
9Introduction
Our Contributions
Pre-placed Modules
Representations
Operations
Soft Modules
Algorithm
Rectilinear Modules
Experimental results
Conclusion
10The O-tree Representation
- Compacts modules to left and bottom
- Represents by an arbitrary ordered tree
- Needs sequence encoding
b10
b5
b6
1
0
0
1
1
0
b3
n1
n0
n5
b1
b4
b2
0
1
0
1
0
1
0
1
1
1
0
0
n2
n9
n10
n8
n6
n7
1
0
1
b9
b0
0
n11
n3
b8
b11
0
1
b7
n4
(001001101011000011110011, b0 b7 b8 b11 b9 b10
b1 b2 b3 b4 b5 b6)
11Limitation of the O-tree
- Can insert only at external positions, due to the
overhead in encoding sequence. - May deviate from the optimal during solution
perturbations.
n1
n5
n0
n6
n2
n9
n10
n7
n8
n11
n3
n4
12The B-tree Construction
n0
b10
b5
b6
b3
b1
n1
n7
b4
b2
n2
n5
n8
b0
b9
n3
n6
n9
n11
b8
b11
b7
n4
n10
1-1 correspondence
13The B-tree Representation
- Apply the Depth-First Search (DFS) to construct
the tree. - left child gt adjacent, bottom-most module on
the right - right child gt module above and adjacent with
the same x-coordinate. - x-coordinates can be determinated by the tree
structure. - y-coordinates?
b1
x1x0
b0
b7
(x0,y0)
x7x0w0
14Contour Structure
- Reduce the complexity of computing a y-coordinate
to O(1) time. - First introduced in the O-tree.
horizontal contour
b10
vertical contour
b3
b1
b4
b0
b9
b8
b11
b7
15Introduction
Our Contributions
Pre-placed Modules
Representations
Operations
Soft Modules
Algorithm
Rectilinear Modules
Experimental results
Conclusion
16Introduction
Our Contributions
Pre-placed Modules
Representations
Operations
Soft Modules
Algorithm
Rectilinear Modules
Experimental results
Conclusion
17Pre-placed Modules
n0
n1
n1
n7
b2
n5
n2
n2
n5
n8
n3
n3
n6
n9
n11
n4
n10
D6 b1, b2
18Pre-placed Modules
n0
n1
n1
n7
b2
n5
n5
n8
n6
n3
n3
n9
n11
n2
n4
n10
D6 b1, b2
19Pre-placed Modules
n0
b2
b10
b5
b3
b1
b4
b6
b0
b9
b8
b11
b7
D6 b1, b2
20Introduction
Our Contributions
Pre-placed Modules
Representations
Operations
Soft Modules
Algorithm
Rectilinear Modules
Experimental results
Conclusion
21Soft Modules
- Step1 Change the shape of the inserted soft
module - Step2 Change the shapes of other soft modules
surplus space
b10
b5
b6
b3
b1
b4
b2
b0
b0
b9
b8
b11
b7
22Soft Modules
- Step1 Change the shape of the inserted soft
module - Step2 Change the shape of other soft modules
b10
b0
b9
b8
b11
b7
23Soft Modules
- Step1 Change the shape of the inserted soft
module - Step2 Change the shapes of other soft modules
b5
b10
b6
b3
b1
surplus space
b4
b2
b2
b0
b9
b8
b11
b7
24Soft Modules
- Step1 Change the shape of the inserted soft
module - Step2 Change the shape of other soft modules
b5
b10
b6
b3
b1
b2
b4
b0
b9
b8
b11
b7
25Introduction
Our Contributions
Pre-placed Modules
Representations
Operations
Soft Modules
Algorithm
Rectilinear Modules
Experimental results
Conclusion
26Rectilinear Modules
- A rectilinear module can be partitioned into
rectangular sub-modules.
b5
b4
b6
b3
b2
b7
b1
27Orientations of L-Shaped Module
- An L-shaped module has four orientationsafter
rotation.
28Location Constraint
- Location Constraint Keep b2 as b1s left child
in the B-tree.
0
b2
1
2
b1
b1
b3
1
b3
b2
b4
b4
0
2
Location Constraint
29Fixing Mis-aligned Sub-Modules
- Mis-aligned sub-modules do not conform to the
shape of their original module.
b2
1
b3
b4
0
2
30Fixing Mis-aligned Sub-Modules
- Mis-aligned sub-modules do not conform to the
shape of their original module.
b2
1
b3
b4
0
2
31Introduction
Our Contributions
Pre-placed Modules
Representations
Operations
Soft Modules
Algorithm
Rectilinear Modules
Experimental results
Conclusion
32Algorithm
- Based on the simulated annealing method.
- Flow
Initialize a B-tree
Perturb the B-tree
no
Meet termination conditions?
yes
Stop!
33Perturbations
- Four types of perturbations
- --Op1 Rotates a module.
- --Op2 Moves a module to another place.
- --Op3 Swaps two modules.
- --Op4 Removes a soft module and inserts it into
the best internal or external
positions. - Needs deletion and insertion for Op2 Op4.
34Deletion
- Three cases for deletion
- -- Case1 A leaf node.
O(1)
35Deletion (contd)
- Case2 A node with one child.
O(1)
36Deletion (contd)
- Case3 A node with two children.
37Deletion (contd)
- Case3 A node with two children.
h
O(h)
38Insertion
- Three types of positions
- -- Inseparable position Between two nodes
associated with two sub-modules of a rectilinear
module. - -- Internal position Between two nodes in a
B-tree, but is not an inseparable one. - -- External position Pointed by a NULL pointer.
0
Rectilinear module
1
2
5
3
6
4
39Introduction
Our Contributions
Pre-placed Modules
Representations
Operations
Soft Modules
Algorithm
Rectilinear Modules
Experimental results
Conclusion
40Experimental Results
- Implemented two algorithms
- Iterative, deterministic algorithm to compare
with O-tree. - Simulated annealing algorithmto further improve
the results.
- Consumes 60 less memory, runs 4.5 times faster,
uses 1.4 less area.
41Resulting Placement for Ami49
49 rectangles dead space 3.6
42Experimental Results on Rectilinear Modules
- Achieves near optimum areas.
43Resulting Placement for Test5
10 rectangular, 10 L-shaped, and 10 T-shaped
modules dead space 5
44Introduction
Our Contributions
Pre-placed Modules
Representations
Operations
Soft Modules
Algorithm
Rectilinear Modules
Experimental results
Conclusion
45Conclusion
- Have introduced the binary-tree based B-tree
representation for non-slicing floorplans. - Have shown the efficiency, flexibility, and
effectiveness of the B-tree. - Minimizes the gap between the representations for
slicing and non-slicing floorplans. - Applies to interconnect-driven floorplanning.
46Acknowledgements
- Thank Prof. Chunk-Kuan Cheng and Dr. Pei-Ning Guo
for providing us with the O-tree package and the
benchmark circuits.
47Thank you for your attention
48(No Transcript)
49(No Transcript)
50Question1
- How do you handle timing?
51Question2
- Whats the difference between the O-tree and the
B-tree?
52Question3
- The Location constraint for rectilinear modules
is only a necessary condition. Is it possible to
make it a necessary and sufficient condition?