Optimality of Packing Shigetoshi Nakatake Univ. of Kitakyushu 1 - - PowerPoint PPT Presentation

optimality of packing
SMART_READER_LITE
LIVE PREVIEW

Optimality of Packing Shigetoshi Nakatake Univ. of Kitakyushu 1 - - PowerPoint PPT Presentation

ISPD 2013 Commemoration for Professor Y. Kajitani Practicality on Placement Given by Optimality of Packing Shigetoshi Nakatake Univ. of Kitakyushu 1 Commemoration for Professor Y. Kajitani : ISPD 2013 Todays Talk 1) Rect. packing-base


slide-1
SLIDE 1

Practicality on Placement Given by Optimality of Packing

Shigetoshi Nakatake

  • Univ. of Kitakyushu

Commemoration for Professor Y. Kajitani : ISPD 2013

1

ISPD 2013 Commemoration for Professor Y. Kajitani

slide-2
SLIDE 2

Today’s Talk

1) Rect. packing-base analog placement

Sequence-pair Packing Constraint-driven Optimization

2) With or without packing scenario, how do we develop analog placement?

 Analytical Analog placement with proximity constraints  Comparison : w/ and w/o topological packing technique

2

Commemoration for Professor Y. Kajitani : ISPD 2013

slide-3
SLIDE 3

2D Rect. Packing

3

INPUT: A set of rectangles, each of which has width and height OUTPUT: A placement of rectangles SUBJECT TO: No overlapping of any pair of rectangles OBJECTIVE: Minimize bounding box of all the rectangles

Sequence-Pair[ICCAD95], [TCAD96]

Commemoration for Professor Y. Kajitani : ISPD 2013

slide-4
SLIDE 4

Topological Representation and Constraint Graphs

a c b

Topological description: Placement (w/o any overlapping): a is left-of c (c is right of a) b is left-of c (c is right of b) b is below a (a is above b)

a b a b c

Constraint graphs: vertical const. graph horizontal const. graph

a c b

Compacted placement: w(b)/2 w(a)/2 h(a)/2 NOTE: Gv, Gh are weighted DAG

4

Commemoration for Professor Y. Kajitani : ISPD 2013

slide-5
SLIDE 5

Sequence-Pair(1)

a b f d e c

Oblique-Line-Grid: Equivalent Representation of SP

Sequence-Pair Placement

) bfcaed abcdef, ( ) , (     SP

abcdef bf caed

a b c f e d

 

) (

1 X 

 ) (

1 X 

 : position of X in 

 : position of X in

  

   

) ( ) ( ), ( ) (

1 1 1 1

Y X Y X       

   

) ( ) ( ), ( ) (

1 1 1 1

Y X Y X    

X is left-of Y X is below Y

5

Commemoration for Professor Y. Kajitani : ISPD 2013

slide-6
SLIDE 6

Sequence-Pair(2)

a b c d e f S T

h h

Gh: horizontal constraint graph Gv: vertical constraint graph a b c d e f S T

v v

X Y

w(X)/2+w(Y)/2

X Y

h(X)/2+h(Y)/2 NOTE: w(X) , h(X): width, height of X

6

Commemoration for Professor Y. Kajitani : ISPD 2013

slide-7
SLIDE 7

Sequence-Pair(3)

  • 1. Every placement corresponds to a

sequence-pair

  • 2. Packing according to constraint graphs

can generate a minimal area placement under the same topological description

  • 3. A solution space induced by sequence-

pairs always includes an optimum placement with respect to area

7

Commemoration for Professor Y. Kajitani : ISPD 2013

slide-8
SLIDE 8

Sequence-Pair(4)

a b b a

Application to simulated annealing

Moves:

  • 1. FullExchange(a,b):

a b a b b a b a a b b a a b b a a b b a a b a b b a a b a b a b

  • 2. HalfExchange(a,b, ):

  |

 pair-exchange on  pair-exchange on  pair-exchange on both  and

8

Commemoration for Professor Y. Kajitani : ISPD 2013

slide-9
SLIDE 9

Practical Applications of Packing

  • Building block placement
  • Floorplanning for large scale circuits
  • Analog placement
  • 3D Cube packing
  • Polygon packing
  • Scheduling for dynamic reconfigurable

system …

9

Commemoration for Professor Y. Kajitani : ISPD 2013

slide-10
SLIDE 10

Analog Placement

10

Device Generation Cell Design Block Design

  • 1. Circuit netlist
  • 2. Design rule
  • 3. Specification /

constraints Layout (Layers w/ Geometry, Contacts, Wires…)

?

Each Placement…

Commemoration for Professor Y. Kajitani : ISPD 2013

slide-11
SLIDE 11

Analog Placement

  • Geometry-based placement

– ILAC [CICC88], KOAN/ANAGRAM [ICCAD88]  larger area and time consuming

  • Topology-based placement (modern)

– BSG, Sequence-Pair, O-tree, B*-tree, TCG-S, … – Constraint-driven

  • symmetry, common-centroid, alignment and
  • thers

 smaller area and rapid convergence

11

Commemoration for Professor Y. Kajitani : ISPD 2013

slide-12
SLIDE 12

Constraint-driven Placement

  • 1. Formulation as a rectangle packing problem
  • 2. Extensions under constraints

Separation Constraint Alignment Constraint Abutment Constraint Boundary Constraint Symmetry Constraint Preplaced Constraint Range Constraint Cluster Constraint

symm-const. cluster-const.

12

Commemoration for Professor Y. Kajitani : ISPD 2013

slide-13
SLIDE 13

Our Works in Constraint-driven Analog Layout

13

  • Placement

– ASPDAC04, GLSVLSI04, IEICE04, ISVLIS06a, ASPDAC09, ASPDAC08 – AMPER produced by JEDAT

  • Routing

– GLSVLSI05, IEICE06

  • Compaction

– ASPDAC02, ISVLSI06b – GRANA produced by JEDAT

[ICCAD95] H.Murata, K.Fujiyoshi, S. Nakatake, Y.Kajitani, “Rectangle-Packing Based on Module Placement”, ICCAD95, pp.472-479, 1995. [TCAD96] VLSI H.Murata, K.Fujiyoshi, S.Nakatake, Y.Kajitani, “Module Placement Based on Rectangle-Packing by the Sequence-Pair”, IEEE Trans. on CAD, vol.15, No.12, pp.1518-1524, 1996. [ASPDAC02] Y.Kubo, S.Nakatake, Y.Kajitani, M.Kawakita, “Explicit Expression and Simultaneous Optimization of Placement and Routing for Analog IC Layouts”, ASPDAC02, pp.467-472, 2002. [ASPDAC04] T.Nojima, X.Zhu, Y.Takashima, S.Nakatake, Y.Kajitani, “Multi-Level Placement with Circuit Schema Based Clustering in Analog IC Layouts”, ASPDAC04, pp.406-411, 2004. [GLSVLSI04] T.Nojima, X.Zhu, Y.Takashima, S.Nakatake, Y.Kajitani, “A Device-Level Placement with Multi-Directional Convex Clustering”, GLSVLSI04, pp.196-201, 2004. [IEICE04] T.Nojima, X.Zhu, Y.Takashima, S.Nakatake, Y.Kajitani, “A Device-Level Placement with Schema Based Clusters in Analog IC Layouts”, IEICE Trans. on Fundamentals, Vol.E87-A, No.12, pp.3301-3308, 2004. [IEICE06] N. Fu, S. Nakatake, Y. Takashima, Y. Kajitani, “The Oct-Touched Tile: A New Architecture for Shape-Based Routing ”, IEICE

  • Trans. on Fundamentals, Vol.E89-A, No.2, pp.448-445, 2006 .

[ISVLSI06a] N Fu, S. Nakatake, M. Mineshima, “Multi-SP: A Representation with United Rectangles for Analog Placement and Routing”, ISVLSI06, pp.38-43, 2006. [ISVLSI06b] T.Nojima, S.Nakatake, T.Fujimura, K.Okazaki, Y.Kajitani, N.Ono, “Adaptive Porting of Analog IPs with Reusable Conservative Properties”, ISVLSI06, pp.18-23, 2006. [ASPDAC07] S.Nakatake, “Structured Placement with Topological Regularity Evaluation”, ASPDAC07, pp.215-220, 2007. [ASPDAC08] Q.Dong, S.Nakatake, “Constraint-Free Analog Placement with Topological Symmetry Structure”, ASPDAC08, pp.186-191, 2008.

Commemoration for Professor Y. Kajitani : ISPD 2013

slide-14
SLIDE 14

Analog Constraint Formulation

14

Commemoration for Professor Y. Kajitani : ISPD 2013

slide-15
SLIDE 15

Objective and Optimization

  • Objective: Area + Wirelength (HPWL or

MST)

  • Framework: Simulated Annealing

– Moves – Feasibility Check

  • Topological Checking  sequence-pair conditions
  • Geometrical Checking  no positive cycle

15

Commemoration for Professor Y. Kajitani : ISPD 2013

slide-16
SLIDE 16

Design Flow for Analog Layout

Schematic Entry Netlist Generation Device Generation Layout Constraint Generation Constraint-Driven Placement Routing Simulation & Device Sizing Compaction (option) DRC, LVS LPE & PostLayout Simulation

16 16

Commemoration for Professor Y. Kajitani : ISPD 2013

slide-17
SLIDE 17

Design Case Study: LCD-Driver

manual const-driven manual const-driven manual const-driven

NOTE: Both ICs by ‘manual’ and ‘const- driven’ implemented on NECEL 0.35um, both of them could work. (Collaboration with NEC micro systems.)

AMP BIAS Level-Shifter

BGR

manual const-driven

17

Commemoration for Professor Y. Kajitani : ISPD 2013

slide-18
SLIDE 18

Today’s Talk

1) Rect. packing-base analog placement

Sequence-pair Packing Constraint-driven Optimization

2) With or without packing scenario, how do we develop analog placement?

 Analytical Analog placement with proximity constraints  Comparison : w/ and w/o topological packing technique

18

Commemoration for Professor Y. Kajitani : ISPD 2013

slide-19
SLIDE 19

Representation of Placement (1)

19

C A B (1) Schematic

A B C

(4) Electrical Placement (3) Physical/Geometrical Placement (2) Symbolic/Topological Placement

A B C

C A B

Commemoration for Professor Y. Kajitani : ISPD 2013

slide-20
SLIDE 20

Representation of Placement (2)

20

C A B

Schematic

A B C

Electrical Placement Geometrical Placement Topological Placement

C A B

Outline I/O pin Device size

A B C

Layers Design rules Parasitics Device sizing Floorpl anning Device Generati

  • n (PDK)

Layout(Place ment/Routing/ Compaction) LPE

Outputs Steps

Commemoration for Professor Y. Kajitani : ISPD 2013

slide-21
SLIDE 21

Optimization of Placement

21

Commemoration for Professor Y. Kajitani : ISPD 2013

Constraint-driven Sensitivity-driven

A B C

X

  • 1. Spec.: Voff < 1mV
  • 2. Extract diff. pair (A, B)
  • 3. Symm. Const.: A and B is x-

symmetry for X

  • 4. Represent placement and

constraint topologically

  • 5. Search optimal placement

under constraints Input is up to here

C A B

  • 1. Spec.: Voff < 1mV
  • 2. Generate parasitic network
  • 3. Sensitivity analysis
  • 4. Perturb placement of A, B, C

and optimize placement

) min(

C

  • ffset

B

  • ffset

A

  • ffset

X V X V X V        

)) (( )) (( )) (( Input is up to here

slide-22
SLIDE 22

Constraint-driven v.s. Sensitivity-driven

22

Commemoration for Professor Y. Kajitani : ISPD 2013

Constraint-driven Sensitivity-driven

A B C

X

C A B

)) (( )) (( )) ((

  • Need to substitute objective

and constraints

  • Available to use general
  • ptimizer like SA
  • Rapid computation and global
  • ptimization
  • EDA and users can have

explicit consensus by means

  • f constraints
  • Directly optimize specification

without substituting objective and constraints

  • Huge computation and local
  • ptimization
  • All can be don in EDA
  • Need routing information for

accuracy

slide-23
SLIDE 23

Preliminary of Sensitivity-driven: Analytical Analog Placement

23

Commemoration for Professor Y. Kajitani : ISPD 2013

Analytical Placement Pros: high speed, good scalability Cons: many overlaps, messy Proximity function induced by group information

Analytical analog placement w/ proximity constraints

VDD VSS Iref VIN Vref VOUT

B A C D G H F E

slide-24
SLIDE 24

Group Extraction from Schematic

24

Commemoration for Professor Y. Kajitani : ISPD 2013

B A C D G H F E

pch nch

VDD VSS Iref VIN Vref VOUT

B A C D G H F E

  • 1. Extract sub-netlist

corresponding to current mirror, differential pair, logic primitive…

  • 2. Place blocks

corresponding to sub-netlists.

slide-25
SLIDE 25

w/o Rect. Packing: Analytical Formulation

25

Commemoration for Professor Y. Kajitani : ISPD 2013

Min: CostOfHPWL + CostOfOverlap + CostOfGroupProximity

Well Group : P-well, N-well with same potential Signal Group : path from VDD to GND

  • Res. Group : resisters connected in parallel or serial.
  • Cap. Group : capacitances with same size
  • CM. Group : current mirrors
  • DP. Group : differential pairs

Variables: x and y-coordinates of each cell

CostOfHPWL  LogSumExp. CostOfHPWL  Overlap Removal Length, Takashima, et. al. SASIMI 2010. CostOfGroupProximity  like an HPWL formulation.

VDD VSS Iref VIN Vref VOUT

DP CP CM DP S i g S i g P- well N- well

slide-26
SLIDE 26

Group Proximity Cost Formulation

26

Commemoration for Professor Y. Kajitani : ISPD 2013

A C B D F H E G (xmin, ymin) (xmax, ymax)

GroupCost = Max(AreaOfBoundBox, SumOfCellArea)

t × log{exp((xmax- xmin)*(ymax- ymin)/ t)+exp( a(i)/ t)}

iÎ{A, ,H}

å

xmin = -t × log exp(-l(i) /t)

iÎ{A,฀ H}

å

xmax = t × log exp(r(i) / t)

iÎ{A,฀ H}

å

Group : { A, B, C, D, E, F, G, H }

slide-27
SLIDE 27

Example: Analytical Analog Placement w/ proximity constraints

27

Commemoration for Professor Y. Kajitani : ISPD 2013

TIME : 1.0 sec. AREA : 29,793 (100%) HPWL : 2,998 (100%) But, many DR-errors.

slide-28
SLIDE 28

Analytical Analog Placement w/o Proximity Constraints

28

Commemoration for Professor Y. Kajitani : ISPD 2013

TIME : 1.0 sec. AREA : 22,637 (76%) HPWL : 4,259 (142%)

slide-29
SLIDE 29

Eliminating DR-errors

29

Commemoration for Professor Y. Kajitani : ISPD 2013

De-compaction No DR-errors. 1D-Compaction No DR-errors.

slide-30
SLIDE 30

Floorplan

Circuit Netlist w/ Device Configuration FP FP FP FP Designer’s Choice Diffusion/Gate-sharing Routing Layout Layout Layout Layout

Redesign of Netlist or Regeneration of Devices Parameter Tuning

w/ Rect. Packing: Multi-output Floorplan

30

Commemoration for Professor Y. Kajitani : ISPD 2013

slide-31
SLIDE 31

Comparison:

  • Rect. Packing-base Placement (1)

31

Commemoration for Professor Y. Kajitani : ISPD 2013

AREA : 23,212 (78%) HPWL : 3,443 (115%) No DR-errors. AREA: 25,405 (85%) HPWL: 4,010 (134%) No DR-errors. Total time for 10 placements: 7.0 sec.

slide-32
SLIDE 32

Comparison:

  • Rect. Packing-base Placement (2)

32

Commemoration for Professor Y. Kajitani : ISPD 2013

AREA : 27,070 (91%) HPWL : 3,814 (127%) No DR-errors. AREA : 26,798 (90%) HWPL : 4,083 (136%) No DR-errors.

slide-33
SLIDE 33

w/ Rect. Packing: Dynamic Diffusion/Gate Sharing

a b c f e d a d c

circuit schematic not sharing diffusion and gate sharing

b e f

Diffusions (gates) can save area if they have the same net

possible gate/diffusion sharing: a set of blocks forming a topological row and array

33

Representation, Limitation and Optimization in Analog Placement

slide-34
SLIDE 34

w/ Rect. Packing: Dynamic Well Island Generation

p p p p N-Well N-Well p p p p N-Well p p p p N-Well N-Well VDD VDD VDD1 VDD2 ws1 ds2 ws3

A and B have the same potential  separation = ws1 A and B have the same well island  separation = ds2 not for wells but diffusions A and B have different potential wells  separation = ws3

ds1 ds3

Different rules for separation between wells

A B

A B

B A

NOTE: ds2 < ws1 < ws2

possible well-island : a set of blocks which are rectangular extractable

34

Representation, Limitation and Optimization in Analog Placement

slide-35
SLIDE 35

Control of Adjacency: Diffusion Sharing

35

Commemoration for Professor Y. Kajitani : ISPD 2013

w/o diffusion sharing w/ diffusion sharing

slide-36
SLIDE 36

Summary

  • Rect. Packing:

– Compacted – Multi-output – Soft modules – No DR errors – Easy to take constraint- driven – Easy to control adjacency (constraints) – Floorplan to estimate area

  • Analytical:

– Less wire-length – Quick – Scalability – Potentially applicable to sensitivity-driven – Initial placement for manual designer

36

Commemoration for Professor Y. Kajitani : ISPD 2013

slide-37
SLIDE 37

Thank you!

37

Commemoration for Professor Y. Kajitani : ISPD 2013

slide-38
SLIDE 38

Block Size Well Island Diffusion Sharing Multiplier/Finger Sensitivity Parasitics PWR/GND Hierarchical Structure Differential Pair, Current Mirror, … Logic (INV, NAND, …) Netlist Sim. report Group Symmetry Guard-Ring Pair / Array Dummy High Low Floorplan

Constraint-Driven Layout System

Know-how Template IP Process variation σ(ΔVth), σ(Δβ), σ(Δλ) Distance-Dependent Size-Dependent

Analog Layout Constraint

Constraint

Commemoration for Professor Y. Kajitani : ISPD 2013

38

slide-39
SLIDE 39

B C A D

Separation Constraint

poly layer pdiff layer

>= 0.45 um >= 1.5 um

poly layer metal1 layer

>= 0.85 um >= 0.45 um >= 0.45 um >= 0.85 um

metal1 layer

A B C D

w(A,pdiff)/2+w(B,pdiff)/2+1.5 w(B,pdff)/2+w(C,poly)/2+0.85 w(C,poly)/2+w(D,poly)/2+0.45 NOTE: w(X, L) = width of layer L of device X

maximal separation

horizontal constraint graph:

39

Commemoration for Professor Y. Kajitani : ISPD 2013

slide-40
SLIDE 40

Alignment Constraint

B A B A B A

A B

h(B)/2-h(A)/2

vertical constraint graph:

A B

h(A)/2-h(B)/2 h(B)/2-h(A)/2

A B

h(A)/2-h(B)/2

sequence-pair condition:

SP=(…A…B…, …A…B…)

bottom-alignment top-alignment ycenter-alignment

) ( ) ( ), ( ) (

1 1 1 1

B A B A

   

     

SP= (…B…A…, …B…A…)

) ( ) ( ), ( ) (

1 1 1 1

A B A B

   

     

  • r

40

Commemoration for Professor Y. Kajitani : ISPD 2013

slide-41
SLIDE 41

Abutment Constraint

A B

sequence-pair condition:

horizontal-abutment

vertical constraint graph:

A B A B

A B B A min(h(A),h(B))/2-max(h(A),h(B))/2 min(h(A),h(B))/2-max(h(A),h(B))/2

) ( ) ( ), ( ) (

1 1 1 1

B A B A

   

      ) ( ) (

1 1

A X

 

  ) ( ) (

1 1

X B

 

  ) ( ) (

1 1

A X

 

   ) ( ) (

1 1

X B

 

  

and

  • r
  • r
  • r

for

) , ( B A X  

41

Commemoration for Professor Y. Kajitani : ISPD 2013

slide-42
SLIDE 42

Boundary Constraint

A left-boundary placement region

sequence-pair condition: horizontal constraint graph:

) ( ) (

1 1

X A

 

 

for

) ( A X  

B

for

) ( B X   ) ( ) (

1 1

X A

 

  

  • r

bottom-boundary (X0,Y0)

) ( ) (

1 1

B X

 

  ) ( ) (

1 1

X B

 

  

  • r

vertical constraint graph:

S A S B

=X0 w(A)/2

  • h(B)/2

h(B)/2 h v =Y0

  • w(A)/2

42

Commemoration for Professor Y. Kajitani : ISPD 2013

slide-43
SLIDE 43

Range Constraint

A P(X1,Y1) Q(X2,Y2)

horizontal constraint graph: vertical constraint graph:

A

w(A)/2

P Q

  • w(A)/2

=X1 =X2

A

w(A)/2

P Q

  • w(A)/2

=Y1 =Y2

NOTE: P, Q are dummy blocks range const. preplaced const. if P and Q are the same as A

43

Commemoration for Professor Y. Kajitani : ISPD 2013

slide-44
SLIDE 44

Symmetry Constraint

sequence-pair condition: horizontal constraint graph:

)) ( ( )) ( ( ) ( ) (

1 1 1 1

A sym B sym B A

   

      

A C NOTE: sym(A)=C, sym(B)=D, sym(E)=E E self-symmetry: E pair-symmetry: (A,C), (B,D) B D

B X D E A C

vertical constraint graph:

A C B D

NOTE: ycenter-alignment w(A)/2+d1

Xz w(C)/2+d1 w(C)/2-d1 w(A)/2-d1 w(B)/2+d2 w(D)/2+d2 w(B)/2-d2 w(D)/2-d2 horizontal symmetry group d1 d1 d2 d2

NOTE: X is dummy node, d1, d2 should be precalculated

44

Commemoration for Professor Y. Kajitani : ISPD 2013

slide-45
SLIDE 45

Cluster Constraint(1)

a c b

left-of left-of left-of

a c b

left-of left-of left-of Horizontal-convex Not Horizontal-convex a, b, c  X a, b  X, c  X Horizontal-Convex: For any pair (a, b) in X such that “a” is left-of “b”: Any device “c” such that “a” is left-of “c” and “c” is left-of “b” also belongs to X

45

Commemoration for Professor Y. Kajitani : ISPD 2013

slide-46
SLIDE 46

Cluster Constraint(2)

X Y

a b b b

left-of below above X is Convexly left-of Y:

  • X and Y are horizontal-

convex

  • No pair (a, b) such that a  X

is right-of b  Y X Y

a b b

left-of below X is convexly left-below Y:

  • X is convexly left-of and

convexly below Y

  • No pair (a, b) such that a  X

is right-of and above b  Y

46

Commemoration for Professor Y. Kajitani : ISPD 2013

slide-47
SLIDE 47

Cluster Constraint(4)

X is convexly ... Y Sequence-Pair a  X and b  Y left-of below right-of above left-below right-below right-above left-above

sequence-pair condition for all convex relation

)} ( ) ( { )} ( ) ( {

1 1 1 1

b a b a

   

       )} ( ) ( { )} ( ) ( {

1 1 1 1

b a b a

   

       )} ( ) ( { )} ( ) ( {

1 1 1 1

b a b a

   

       )} ( ) ( { )} ( ) ( {

1 1 1 1

b a b a

   

       ) ( ) (

1 1

b a

 

   ) ( ) (

1 1

b a

 

  ) ( ) (

1 1

b a

 

   ) ( ) (

1 1

b a

 

 

47

Commemoration for Professor Y. Kajitani : ISPD 2013