Title: Kein Folientitel
1Analog Placement with Common Centroid Constraints
Qiang Ma, Evangeline F. Y. Young and K. P. Pun
The Chinese University of Hong Kong Hong
Kong
8-Nov-2007
2Outline
- Introduction
- Problem formulation
- Methodology
- Experimental results
- An Alternative Grid-based Approach
- Conclusion
3Introduction
- In todays SoC design, a chip may consist of both
digital and analog parts - Need a compatible CAD tool for both the digital
and analog parts - In analog circuits, component mismatch has
significant adverse effects on the performance - Placement with symmetry and common centroid
constraints help to reduce mismatch errors greatly
4Previous Work
- 1-D symmetry
- 1 KOAN/ANAGRAMII New Tools for Device-Level
Analog Layout (Cohn et al. ) - 2 A Performance-driven Placement Tool for
Analog Integrated Circuits. (Lampaert et al.) - 3 Automation of IC Layout with Analog
Constraints - (Malavasi et al.)
- 4 Symmetry within the Sequence-Pair
Representation in the Constext of Placement for
Analog Design. (Balasa et al.) - 5 Block Placement with Symmetry Constraints
based on the O-tree Nonslicing Representation.(Pan
g et al.) - 6 On the Exploration of the Solution Space in
Analog Placement with Symmetry Constraints.
(Balasa et al.) - 7 Analog Placement with Symmetry and Other
Placement Constraints (Tam et al.) - 8 Analog Placement Based on Novel
Symmetry-Island Formulation (Lin et al.)
5Common Centroid Placement
- Difference between Common Centroid Placement and
2-D Symmetry Placement - In 2-D symmetry placement, blocks can only be
placed along the horizontal and vertical axes of
the symmetry group - Thus 2-D symmetry placement is a small subset of
common centroid placement
2-D symmetry
common centroid
6Problem Formulation
- Analog placement with common centroid constraints
- A set of blocks without constraints
- A set of nets
- A set of p common centroid groups G1,G2, , Gp
- Each group Gi consists of a number of si
devices - The si devices are with areas gi1, gi2, , gisi,
respectively - The si devices are sliceable and required to be
placed in a common centroid geometry - Cost function
- Cost Area ?Wirelength
7Methodology (C-CBL)
- Slice each device gij of Gi into two blocks aij
and bij with exactly the same dimension - Gi contains si pairs of blocks (ai1,bi1),(ai2,bi2
),,(aisi,bisi) - Let the si pairs share a common centroid
- Center-based Corner Block List (C-CBL)
- Represent the placement of a common centroid
group - Extended from the basic CBL representation
- Complete and non-redundant in representing any
common centroid mosaic packings with pairs of
devices to be matched - Global Sequence Pair
- Each common centroid group is regarded as a
super-block - Describe global topology between the super-blocks
and other ordinary blocks - Simulated Annealing is used as the basic
searching engine
8 A Common Centroid Placement Example
- Two common centroid groups
- G1 (a11,b11), (a12,b12), c
- G2 (a21,b21), (a22,b22), (a23,b23)
b12
a11
c
b11
a12
b22
a23
a21
b23
b21
a22
9Review of Corner Block List
- Corner Block List
- 3-tuple S,L,T
- A representation for mosaic floorplan
- Corner Block
- The block located at the upper right corner
10Review of Corner Block List (Cont)
- Corner Block List
- 3-tuple S, L, T
- S is a sequence of block names
- L is a sequence of block orientations
- T is a sequence of T-junction information
- Obtained by iteratively deleting Corner Block
a2
S b2 L 0 T 1
S b1,b2 L 1,0 T 1,1
S c,b1,b2 L 1,1,0 T 0,1,1
S a1,c,b1,b2 L 0,1,1,0 T 0,0,1,1
S a2,a1,c,b1,b2 L 0,1,1,0 T 0,0,1,1
CBL S (a2,a1,c,b1,b2), L (0,1,1,0), T
(0,0,1,1)
11C-CBL
- Center-based Corner Block List (C-CBL)
- Two corner blocks
- Upper-Right (UR) Corner Block
- Lower-Left (LL) Corner Block
12C-CBL (cont)
- Definition
- Corner Block Pair
- UR Corner Block and LL Corner Block form a Corner
Block Pair iff they have the same orientation and
T-junction information
UR Corner Block
b2
a1
b1
a2
LL Corner Block
13C-CBL (cont)
- C-CBL is a 4-tuple C, S, L, T
- C is a center block
- C can be a real block located at the center or a
dummy block with 0 width and height - S is a list of Corner Block Pairs
- L is a list of block orientations
- T is a list of T-junction information
14Derive C-CBL from packing
15Theorem 1
- A unique C-CBL can be obtained from a mosaic
- packing with n pairs of blocks (or n pairs
plus one - block) satisfying the common centroid
constraint.
16Construct a packing from C-CBL
17Theorem 2
- A packing constructed from a C-CBL satisfies the
- common centroid constraint.
18Obtain exact coordinates
- Given a C-CBL representation C, S, L, T
- Construct HCG and VCG
- Longest Path algorithm
- Bottom-left compacted packing
- Not necessarily a common centroid placement
b2
b1
c
a1
h(Gi)
a2
w(Gi)
19Coordinates Adjustment
- Fix the coordinates of the LL corner blocks
- Recalculate the coordinates of the UR corner
blocks - bij.x w(Gi)-aij.x-width(bij),
- bij.y h(Gi)-aij.y-height(bij)
b2
b1
c
a1
h(Gi)
a2
Fix LL corner blocks
w(Gi)
20Global Sequence Pair
- Globally, use sequence pair as representation
- The common centroid groups are regarded as
super-blocks - Global sequence pair consists of super-blocks and
other ordinary blocks - Easy to deal with other placement constraints
- Just inserting additional constraint edges into
constraint graphs
21Simulated Annealing
- Random Moves
- SP perturbations
- Change aspect ratio
- Swap two blocks in one sequence
- Swap two blocks in both sequences
- C-CBL perturbations
- Change aspect ratio of symmetry blocks
- Perturb S
- Perturb L
- Perturb T
22Comparison with extension of 7
7 Analog Placement with Symmetry and Other
Placement Constraints (Tam et al. ICCAD06)
23Experimental Results with C-CBL
- A packing contains two common centroid groups
24Experimental Results with C-CBL (cont)
- A common centroid group with a 1-D symmetry group
- 1-D symmetry group is handled with the approach
in 7 - Our approach is compatible with other methods to
solve mixed constraints
25Experimental Results with C-CBL
- A resultant packing with 300 non-symmetry blocks
and six common centroid groups
26An Alternative Grid-based Approach
- In C-CBL approach, each device in a common
centroid group is sliced into two blocks - We want to distribute the devices in a group more
uniformly - Average out the influence of parasitic errors
- More stable
- Less sensitive to noise
- Split each device into a set of basic unit blocks
27Grid-based Approach
- Split each device in a group into a number of
basic unit blocks according to the area - Solution generation for each group
- Match the basic unit blocks in each device into
singles, pairs and triples - Generate all possible packing solutions by
assigning those singles, pairs and triples into a
grid in a common centroid way - Note that if all the matched blocks share a
common centroid, all devices have a common
centroid - At the end, prunings are done to remove redundant
solutions - Global SP
- Common centroid groups are regarded as
super-blocks - With a set of aspect ratios available to choose
28Example of Assigning into Grid
- Suppose a group contains 4 devices g1,g2,g3,g4
with areas 1, 3, 3 and 2 respectively. - After matching
- g1 has a single (a1)
- g2 has a triple (a2,b2,c2)
- g3 has a triple (a3,b3,c3)
- g4 has a pair (a4,b4)
- These matched basic unit blocks will be assigned
into a grid in a common centroid way in the order
of singles, triples and then pairs.
b2
b4
c3
a1
a2
a3
a4
c2
b3
29Solution Pruning
- After assignment, every group will have a number
of grid packing solutions with different column
numbers. - The redundant ones are then pruned.
- Example
- Consider all the packing solutions of a group
with 2 pairs
30Simulated Annealing
- Random moves
- Change packing solution of a group
- Rotate a group
- Perturb global SP
- Change aspect ratio
- Swap two blocks in one sequence
- Swap two blocks in both sequences
31Experimental Results
- A Digital-Analog Converter Circuit
- Containing a capacitor array of 9 devices
- 1,1,2,4,8,16,32,64,128
32Experimental Results
- A data set with a common centroid group
- 1,1,2,3,4,5,6,7,8,9,10
33Conclusion
- Placement with common centroid constraints has
been studied - A representation C-CBL is developed
- Represent common centroid placement with pairs of
blocks to be matched - An alternative Grid-based approach
- Distribute the devices more uniformly
- Deal with the case that devices are with integer
area ratios - First work in literature to handle common
centroid constraints topologically
34