Improved Method of Cell Placement with Symmetry Constraints for Analog IC Layout Design Shinichi Koda, Chikaaki Kodama and Kunihiro Fujiyoshi Department of Electrical and Electronic Engineering Tokyo University of Agriculture & Technology
Outline 1. Background 2. Conventional Method 2-1. Balasa’s method and defects 3. Proposed Method 3-1. Application of Okuda’s approach 3-2. Decrease of linear expression by substitution 3-3. Speed-up by constraint graph 4. Experiments 5. Conclusions
Background Problem peculiar to analog circuit layout E.g. Differential Amp. Parasitic elements are generated by V DD V DD cell placement and wiring. V OUT V OUT V OUT V OUT Unbalanced parasitic elements. V IN V IN V IN V IN Offset voltage : High V SS PSRR : Low V SS Necessary to balance parasitic elements. Place cells symmetrically.
Background The layout of analog ICs has been manually designed by experts. Recently, Balasa et al. proposed a symmetric placement method using a sequence-pair. ( IEEE Trans.CAD 2000 ) However, this method has some defects. -We clarify these defects. -We propose a new placement method with symmetry constraints.
Symmetry Constraints Constraints of placing given cell pairs symmetrically to vertical or horizontal axes. Symmetry Group A set of cells constrained to be placed symmetrically to one axis. Symmetric pair A pair of cells constrained to be placed symmetrically to one axis. Self symmetric cell The c enter of the cell constrained to be placed on the axis. a Symmetry constraints s b { a s , b s , ( c l ,c r ) , ( d l , d r )} e s c c d d r l l r Suffix l : Left of pairs Axis Suffix r : Right of pairs ( , ), ( , ) c c d d symmetric pairs: l r l r Suffix s : Self symmetric cell a , s b self symmetric cells: s
Sequence-pair (Murata et al. in IEEE Trans.CAD 1996) -An ordered pair of ( Γ + ; Γ − ) ( Γ + and Γ − each is a permutation of rectangle names.) -To show relative position of all rectangle pairs -Possible to represent any rectangle packing -Decoding time: O ( n 2 ) ( n : the number of rectangles) Γ + Γ − Relative position a is before b a is before b a is left of b a is before b a is after b a is above b a d c ( abcd ; abcd ) d b a b c ( adbc ; cabd )
Balasa’s method ( IEEE Trans.CAD 2000 ) (1) They revealed necessary and sufficient condition for symmetric feasible seq-pair. Definition of symmetric feasible: There exists a placement satisfying Given seq-pair S is - Constraints imposed by seq-pair S symmetric feasible - Symmetry constraint for one axis. (2) They proposed a method of obtaining the closest packing satisfying the given constraints in polynomial order time. (3) They insisted that the method can be easily expanded into plural symmetry groups.
Defect 1 Symmetric feasible sequence-pair Necessary and sufficient condition Symmetry constraints for symmetric feasible {( a , a ), ( b , b )} Γ −1 + ( a )< Γ −1 + ( b ), l r l r Γ −1 − ( sym( b ) )< Γ −1 − ( sym( a )) sym( a ) is pair of a ( a s = sym( a s )) b b l r ( b l b r c a l d a r ; a l c b l b r d a r ) c d a a l Not symmetric feasible r This is not necessary condition !! Searching only for symmetric feasible sequence-pair. Unique sequence-pair ( b b ca da ; a cb b da ) l r l r l l r r Optimum solutions may be overlooked.
Defect 2 X coordinate determining algorithm Input Symmetry constraints { a , ( b , b ), ( c , c )} s l r l r Seq-pair ( b c c a b ; b a c c b ) l l r s r l s l r r a c s l c b b r l r
Defect 2 X coordinate determining algorithm seq-pair ・ Cells are packed leftwards based on a ( b c c a b ; b a c c b ) l l r s r l s l r r given sequence-pair and x coordinate of the c c axis is determined. l r a b b s r l If cells can be placed symmetrically, right cells and self symmetric cells are moved rightwards one by one in order of Γ + . c c l r - Cells constrained to be on the right are also b a b moved rightwards by the same distance. l s r Left cells are moved leftwards one by one in reverse order of Γ + and they are placed c c l r symmetrically. b a b s - Cells constrained to be on the left are also l r moved leftwards by the same distance.
Defect 3 Y coordinate determining algorithm Input Symmetry constraints {( a l a , )} r seq-pair ( ; ) a bca ba a c l r l r c b a a l r
Defect 3 Y coordinate determining algorithm ・ Determine y coordinate of each cell in reverse order of Γ +. ・ When y coordinate of one cell in a symmetric pair is determined, determine y coordinate of the other cell to the same value. sequence - pair ( a bca ; ba a c ) l r l r c c c a a a l l r b a a a a a b l r l r r Place a r , and Place a l above b . Place c above a r . Place a r with place a l with the the same same value of a r . value of a l .
Defect 4 Expanding into plural symmetry groups Group1: {( a r1 , a l1 )} No placement satisfying Group2: {( b l2 , b r2 )} these constraints. Sequence-pair 2 a l 1 a r 1 b r 2 ; a l 1 b l 2 b r 2 a r 1 ) ( b l 2 is above a l 1 b l Symmetric feasible seq-pair 1 is above b r 2 a r for each symmetry group. In Balasa's method, how to handle more than one symmetry group is not clear.
Proposed method Feature 1. Placement is obtained from a given seq-pair and symmetry constraints by linear programming. Feature 2. Speed-up is done by reducing the number of variables and linear constraint expressions. Feature 3. If symmetry constraints are only for vertical (horizontal) axes, speed-up is done by determining y (x) coordinates using a graph-based algorithm.
A simple combination Given constraints - Sequence-pair - Symmetry constraints - width (height) of cells - width (height) of cells Constraint expressions Constraint expressions Linear programming Coordinate of left (lower) edge of each cell
To obtain constraint expressions from symmetry constraints Symmetry constraints constraint expressions ( width of cells ) Symmetry constraints X coordinate of left edge of cell a : x ( a ) b Axis is vertical Y coordinate of lower edge of cell a : y ( a ) s {( a , a ), b } a a Width of cell a : w ( a ) l r s l r X coordinate of axis : axis x axis symmetric pair − = + − ( ) ( ( ) ( )) axis x a x a w a axis x l r r x = y ( a ) y ( a ) l r self symmetric cell − = + − axis x ( b ) ( x ( b ) w ( b )) axis x s s s x
To obtain constraints expressions from sequence-pair Sequence-pair ( Jae-Gon Kim, constraint expressions IEEE Trans. CAD, 2003. ) ( width of cells ) - The relation between x direction and y direction is independent. - Explanation only for an x direction. Sequence-pair a b c a c l s r ( b a a c ; a a b ) sink sink s l r l r s Insert a virtual cell sink ( w(sink)=0 ) in the end of Γ + and Γ - . x ( c ) ≥ x ( b s ) + w ( b s ) c is right of b s x ( a r ) ≥ x ( a l ) + w ( a l ) a r is right of a l x ( c ) ≥ x ( a r ) + w ( a r ) c is right of a r x (sink) ≥ x ( c ) + w ( c ) sink is right of c Linear Obtained X coordinate of constraints expression left edge of each cell programming
A simple combination Given constraints - Sequence-pair - Symmetry constraints - width (height) of cells - width (height) of cells Constraint expressions Constraint expressions Redundant Linear programming Very Slow !! Coordinate of left (lower) edge of each cell Therefore, we reduce # of variables and constraint expressions.
Speed-up method for the compaction problem including symmetry constraints by Okuda et al. (IEICE Trans.(A) 1990) Conventional, Very Linear Slow!! -Symmetry constraints Coordinates of programming -Constraint graph each cell Therefore, Okuda et al proposed… Coordinates of Linear -Symmetry constraints each cell with programming -Constraint graph symmetry constraints Graph based Coordinates of -Constraint graph algorithm other cells Speed-Up
Speed-up method of the compaction problem including symmetry constraints by Okuda et al. (IEICE Trans.(A) 1990) 1. Pick up source, sink and vertices input with symmetry constraints from - Constraint graph a given constraint graph 5 3 2. Set the direct edge from a to b . 0 5 Weight = the longest path value c a a l r from a to b . S T 10 5 2 0 5 a a b l r S T - Symmetry constraint Simple constraint graph {( a l a , )} r Constraint expressions obtained
1. Application of speed-up method by Okuda Given constraints - Sequence-pair - Symmetry constraints - width (height) of cells - width (height) of cells Constraint expressions of simple constraint graph Constraint expressions linear programming - Coordinate of each cell with symmetry constraints is determined by LP. - Coordinates of other cells are determined by using graph.
1. Application of speed-up method by Okuda Naive method Proposed method Seq-pair Seq-pair O ( n 2 ) O ( sn loglog n+se ) Constraint graph Set of constraint expressions O ( s 2 n 2 ) Simple Constraint graph s : #cells with symmetry constraints n : #all cells e : #constraint expressions Set of linear We obtain a set of constraint constraint expressions expressions faster.
Recommend
More recommend