eda institute for electronic design automation prof. ulf ... · design automation prof. ulf...

Post on 17-Apr-2018

220 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Abacus: Fast Legalization of Standard Cell Circuits

with Minimal MovementPeter Spindler, Ulf Schlichtmann and Frank M. Johannes

Technische Universitaet Muenchen

ISPD, April 2008

EDA Institute for Electronic Design Automation Prof. Ulf Schlichtmann

Slide 2

Outline

• Background

• State-of-the-Art

• Abacus, PlaceRow

• Experimental Results

• Conclusion

Slide 3

Background

Standard cell circuits:

1. Global Placement

Legalization

2. Legal Placement

Placement: Align cells overlap-free to row structure

● No overlap● Cells aligned to rows● Preserve global placement:

minimal cell movement

Physical representation:Rectangles, all have the same height, but different widths

Millions of cells: inverter , NAND , NOR

Legal placement:

Slide 4

State-of-the-Art in Legalization

● Flow based: assign cells to placesDomino [Doll et al., TCAD 1994]BonnPlace [Vygen et al., TCAD 2004]

● Two stage: first assign cells to rows, then place the rows[Madden et al., ICCAD 2003, Kahng et al., GLS-VLSI 2004]

● Diffusion based [Alpert et al., DAC 2005]

● Computational Geometry based [Alpert et al., DAC 2007]

● Greedy: legalize one cell at a time: Tetris [Hill, Patent, 2002]

State-of-the-Art:

Slide 5

Abacus: Overview

● Similar to Tetris: sort cells, legalize one cell at a time

● Legalization of one cell: move cell over the rows, place cell to best/nearest row

● Difference to Tetris: PlaceRow: move already legalized cellswithin one row, minimize total movement

● Because of PlaceRow: lower total movement

Abacus:

Slide 6

5

1

2

3

4

6

Step 1: Sorting

Sort cells according to x-pos in global placement

x

7

8

9

3

1

2

5

4

6

7

8

9

Process order: 1, 2, 3, 4, 5, 6, 7, 8, 9

Slide 7

Legalize Cell 1

Insert to row 1

Insert to row 2

Insert to row 3

Best row: 2

Row 1

Row 2

Row 3

Cell 1 to be legalized

Slide 8

Legalize Cell 2

Insert to row 1

Insert to row 2

Insert to row 3

PlaceRow 2: Minimize quadratic movement in x-dir of cells

Row 1

Row 2 Cell 1 already legalized to row 2

Best row: 3Row 3

Cell 2 to be legalized

Slide 9

Legalize Cell 3

Insert to row 1

Insert to row 2

Insert to row 3

PlaceRow 2: Minimize quadratic movement in x-dir of cells Cell 1 already

legalized to row 2

Best row: 1

Row 1

Row 2

Row 3

Cell 2 already legalized to row 3

PlaceRow 3: Minimize quadratic movement in x-dir of cells

Cell 3 to be legalized

Slide 10

Legalize Cell 4

Insert to row 1

Insert to row 2

Insert to row 3

Best row: 2

PlaceRow 2

Row 1

Row 2

Row 3

PlaceRow 3

Cell 4 to be legalized

PlaceRow 1

Already legalized cell is moved within the row

Slide 11

Final Result

Abacus Tetris:No PlaceRow higher movement (about 50% more for a large circuit)

Global Placement

Slide 12

( xi )

( ) 111

2 s.t.min −−=

+≥′−∑ iii

N

iiii wxxxxe

global x-poslegal x-posweight no overlap

width

w1 w2

1 2 3 4 5 6

x

1 2 3 4 5 6

x1 x3x1 x2 x3

Input:

Output:

Input: one row with N cells, x-pos of cells: global placementOutput: new (legal) x-pos of cells ( xi ) such that the overlap is removed

and the total quadratic movement is minimized

x2…

PlaceRow

QP:

Slide 13

PlaceRow: Dynamic Programming

1

PlaceRow:● Solve QP by dynamic programming approach:

solve sub problems optimally to obtain final solution● Process cells from left to right

Cell 1:

first cell do not move

Slide 14

2Cell 2:

211 eee +←( )

21

122111 ee

wxexex+

−′+′←′ 211 www +←

( ) ( )22222

111min xxexxe ′−+′−

overlap with previous cell? yes cluster with previous cell

( ) ( ) 2

21

12211121min ⎟⎟

⎞⎜⎜⎝

⎛+

−′+′−+

eewxexexee

Update x1, e1, and w1:

Clustering process: 112 wxx +=

new e1 new x1

w1

1

PlaceRow, Cell 2

( )2111min xxe ′−Result: 11 xx ′=

Slide 15

PlaceRow, Cell 2 (Cont‘d)

211(2)

1 2Global:

Result:

Cluster cell 1 and 2

Move cluster to new global x-pos

Animation:

Slide 16

PlaceRow, Cell 3

1 3Cell 3:

Overlap with previous cell? yes cluster with previous cell

w1

311 eee +←

( )31

133111 ee

wxexex+

−′+′←′ 311 www +←Update x1, e1, and w1:

311(3)

1 3Prev:

Result:

w3

( )2111min xxe ′− 11 xxMove cell 1: ′=

Slide 17

1 4

Cell 4:

Overlap with previous cell? no no clustering, no movement

PlaceRow, Cell 4

Slide 18

Cell 5:

Overlap with previous cell? yes cluster with previous cell 4( )

54

455444 ee

wxexex+

−′+′←′

544 www +←Update x4, e4, and w4:

1

1 4

1

5

4 54(5)

544 eee +←

Overlap with previous cell? yes cluster with previous cell 141

(4) (5)

1 4Prev:5

Result:

( )2444min xxe ′− 44 xxMove cell 4:

PlaceRow, Cell 5

′=

Slide 19

1 6

Cell 6:

Overlap with previous cell? no no clustering, no movement

Last cell done, PlaceRow finished

PlaceRow, Cell 6

Slide 20

PlaceRow: Summary

● Called several times for legalizing one cell ● Places cells aligned to one row:

minimize quadratic movement quadratic program (QP)● Solves QP by dynamic programming:

● Process cells from left to right● If cell overlaps with previous cell:

clustering movement further checks with left cells● Clustering: update width, weight, and global x-pos of cell

constant execution time● Linear worst-case complexity: O(N)

N: number of cells in the rowAt most N-1 clustering operations for N cells

PlaceRow:

Slide 21

Complexity

Worst-case for a complete circuit with N cells:

Average-case (experimental results):)( 2NO

)( 2.1NΘ

Slide 22

Movement

Abacus (this work)

Tetris

Experimental results of one circuit:

Tetris: more cells are

Abacus: more cellsare moved less

moved farther

Lower movement with Abacus

Slide 23

0.500 0.600 0.700 0.800 0.900 1.000 1.100

Results

IBM-Place 2.0 benchmark suite:● Routability-driven placement● Global placement: Kraftwerk (with routability optimization)● Legalization: preserve global placement, minimal movement

Results of Abacus (normalized to Tetris):

-32%

-1.2%

+7%

(negative: better positive: worse)

Avg. movement

Routed wirelength

Total CPU time place.

Slide 24

Conclusion

● Greedy legalization approach, legalizes one cell at a time,similar to Tetris

● Already legalized cells are moved within the row: PlaceRow

● PlaceRow: minimize total quadratic movement, dynamic programming, linear worst-case complexity

● Results: lower movement than Tetris better results in routability-driven placement

Abacus:

Slide 25

The End

Thanks for the attention!

Questions?

top related