improved method of cell placement with symmetry
play

Improved Method of Cell Placement with Symmetry Constraints for - PowerPoint PPT Presentation

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 &


  1. 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

  2. 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

  3. 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.

  4. 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.

  5. 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

  6. 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 )

  7. 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.

  8. 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.

  9. 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

  10. 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.

  11. 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

  12. 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 .

  13. 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.

  14. 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.

  15. 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

  16. 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

  17. 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

  18. 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.

  19. 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

  20. 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

  21. 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.

  22. 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