Title: Block Placement with Symmetry Constraints based on the Otree Nonslicing Representation
1Block Placement with Symmetry Constraints based
on the O-tree Non-slicing Representation
- Yingxin Pang, Florin Balasa?
- Koen Lampaert?, Chung-Kuan Cheng
- University of California, San Diego
- ?University of Illinois at Chicago
- ?Conexant System Inc.
2Overview
- Introduction and Motivation
- O-tree representation
- Symmetric constraints placement based on the
O-tree representation - Experimental results
- Conclusions
3Why Symmetry Constraints
In analog circuits
- To match interconnection parasitics and device
parameters - To balance thermal effects
4Symmetry Constraints
- Symmetry Pair
- A pair of blocks which have to be placed
symmetrically with respect to an axis - Symmetry Group
- A group of symmetry pairs which share a common
axis - A symmetry group
h
5Previous Work
- Exploring absolute placement configurations
- Operates directly on the absolute coordinates of
the devices - Implements the symmetry constraints directly in
the move set - Allows overlapped placements in intermediate
solutions and the placer has to drive the overlap
to zero during annealing
6Previous Work
- Employing topological representations
- Slicing structure
- Avoids the overlap problem
- Restricts the set of reachable layout topologies
- Sequence pair
- Allows to explore all placement configurations
- Works well in an industrial environment
7 O-tree Representation
An O-tree is an ordered tree, which can be
encoded by
- is a 2n-bit string which identifies the
structure of the tree - is a permutation of n nodes
An Example 00110100011011, abcdefg
8O-tree to Placement
9Symmetric X-feasible O-tree
- Symmetric x-feasible O-tree
- If an O-tree can lead to a placement satisfying
both the horizontal positioning constraints and
the horizontal symmetric constraints - X-constraint graph Gx
- Has the same nodes as the given O-tree
- Includes the horizontal constraint edges of the
O-tree - Introduces two new arcs (a, b) and (b, a) for
each symmetry pair (a,b) - w(a,b)0, w(b,a)0
10X-constraint graph
A symmetric x-feasible O-tree
h
g
f
e
b
Symmetry pairs (b,h), (e,f)
11X-constraint graph
A non-symmetric x-feasible O-tree
h
f
g
e
b
Symmetry pairs (b,h), (e,f)
12Symmetric X-feasible O-tree
- Theorem 1
- If the x-constraint graph does not contain any
positive cycles, then the corresponding O-tree is
symmetric x-feasible. - Theorem 2
- If an O-tree is symmetric x-feasible, a minimum
width placement satisfying both horizontal
positioning and symmetric constraints can be
built in O(n2) time by applying the single source
longest path algorithm
13Placement of X-feasible O-tree
h
b
14Symmetric Y-feasible O-tree
- Symmetric y-feasible O-tree
- If an O-tree can lead to a placement satisfying
both the vertical positioning constraints and the
vertical symmetric constraints - Y-constraint graph
- Has the same nodes as the given O-tree
- Includes the vertical constraint edges of the
O-tree - Introduces additional edges modeling the vertical
symmetric constraints as follows
15Y-constraint Graph
- For any two symmetry pairs ,
- If there is a path from to
- add a directed edge
- unless the edge exists
-
h
g
f
d
e
c
a
b
16Y-constraint Graph
- For any two symmetry pairs ,
- If there is a path from to
- Add a directed edge
- unless the edge exists
-
h
g
f
d
e
c
a
b
17Y-constraint Graph
A symmetric y-feasible O-tree
Symmetry pairs (b,h), (e,f)
18Y-constraint Graph
A non-symmetric y-feasible O-tree
f
g
h
d
e
c
a
b
Symmetry pairs (b,h), (e,f)
19Y-coordinates
- yi the longest path length from root to node Bi
- execute a topological sort of the nodes in Gy
- record each symmetry pairs (ai, bi) such that bi
is ordered according the topological sort - for each symmetry pair (ai, bi)
- if d gt0,
- update
- execute the single-source longest path algorithm,
consider bi as the source
20Symmetric Y-feasible O-tree
- Theorem 3
- If the y-constraint graph does not contain any
cycles, then the corresponding O-tree is
symmetric y-feasible. - Theorem 4
- If an O-tree is symmetric y-feasible O-tree, a
minimum height placement satisfying both vertical
positioning and symmetric constraints can be
built in O(n2) time
21Symmetric Feasible O-tree
- Symmetric feasible O-tree
- Symmetric x-feasible
- Symmetric y-feasible
- Theorem 5
- A symmetric feasible O-tree leads to a feasible
placement and the placement is optimal under the
O-tree packing rule - Theorem 6
- A minimum area rectangle placement with symmetric
constraints can be represented by a symmetric
feasible O-tree
22Symmetric Feasible O-tree to Placement
h
g
h
f
e
b
23Experimental Results
24Layout Result
lpf2_b25b
25Conclusions
- It handles the symmetry constraint efficiently by
adding the symmetry constraints directly in the
O-tree constraint graphs - It is better than other methods in terms of
- Time complexity
- Lower bound of configurations