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

25
Abacus: Fast Legalization of Standard Cell Circuits with Minimal Movement Peter Spindler, Ulf Schlichtmann and Frank M. Johannes Technische Universitaet Muenchen ISPD, April 2008 EDA Institute for Electronic Design Automation Prof. Ulf Schlichtmann

Upload: trinhnga

Post on 17-Apr-2018

220 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: EDA Institute for Electronic Design Automation Prof. Ulf ... · Design Automation Prof. Ulf Schlichtmann. Slide 2 Outline ... [Madden et al., ICCAD 2003, Kahng et al., GLS-VLSI 2004]

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

Page 2: EDA Institute for Electronic Design Automation Prof. Ulf ... · Design Automation Prof. Ulf Schlichtmann. Slide 2 Outline ... [Madden et al., ICCAD 2003, Kahng et al., GLS-VLSI 2004]

Slide 2

Outline

• Background

• State-of-the-Art

• Abacus, PlaceRow

• Experimental Results

• Conclusion

Page 3: EDA Institute for Electronic Design Automation Prof. Ulf ... · Design Automation Prof. Ulf Schlichtmann. Slide 2 Outline ... [Madden et al., ICCAD 2003, Kahng et al., GLS-VLSI 2004]

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:

Page 4: EDA Institute for Electronic Design Automation Prof. Ulf ... · Design Automation Prof. Ulf Schlichtmann. Slide 2 Outline ... [Madden et al., ICCAD 2003, Kahng et al., GLS-VLSI 2004]

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:

Page 5: EDA Institute for Electronic Design Automation Prof. Ulf ... · Design Automation Prof. Ulf Schlichtmann. Slide 2 Outline ... [Madden et al., ICCAD 2003, Kahng et al., GLS-VLSI 2004]

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:

Page 6: EDA Institute for Electronic Design Automation Prof. Ulf ... · Design Automation Prof. Ulf Schlichtmann. Slide 2 Outline ... [Madden et al., ICCAD 2003, Kahng et al., GLS-VLSI 2004]

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

Page 7: EDA Institute for Electronic Design Automation Prof. Ulf ... · Design Automation Prof. Ulf Schlichtmann. Slide 2 Outline ... [Madden et al., ICCAD 2003, Kahng et al., GLS-VLSI 2004]

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

Page 8: EDA Institute for Electronic Design Automation Prof. Ulf ... · Design Automation Prof. Ulf Schlichtmann. Slide 2 Outline ... [Madden et al., ICCAD 2003, Kahng et al., GLS-VLSI 2004]

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

Page 9: EDA Institute for Electronic Design Automation Prof. Ulf ... · Design Automation Prof. Ulf Schlichtmann. Slide 2 Outline ... [Madden et al., ICCAD 2003, Kahng et al., GLS-VLSI 2004]

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

Page 10: EDA Institute for Electronic Design Automation Prof. Ulf ... · Design Automation Prof. Ulf Schlichtmann. Slide 2 Outline ... [Madden et al., ICCAD 2003, Kahng et al., GLS-VLSI 2004]

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

Page 11: EDA Institute for Electronic Design Automation Prof. Ulf ... · Design Automation Prof. Ulf Schlichtmann. Slide 2 Outline ... [Madden et al., ICCAD 2003, Kahng et al., GLS-VLSI 2004]

Slide 11

Final Result

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

Global Placement

Page 12: EDA Institute for Electronic Design Automation Prof. Ulf ... · Design Automation Prof. Ulf Schlichtmann. Slide 2 Outline ... [Madden et al., ICCAD 2003, Kahng et al., GLS-VLSI 2004]

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:

Page 13: EDA Institute for Electronic Design Automation Prof. Ulf ... · Design Automation Prof. Ulf Schlichtmann. Slide 2 Outline ... [Madden et al., ICCAD 2003, Kahng et al., GLS-VLSI 2004]

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

Page 14: EDA Institute for Electronic Design Automation Prof. Ulf ... · Design Automation Prof. Ulf Schlichtmann. Slide 2 Outline ... [Madden et al., ICCAD 2003, Kahng et al., GLS-VLSI 2004]

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 ′=

Page 15: EDA Institute for Electronic Design Automation Prof. Ulf ... · Design Automation Prof. Ulf Schlichtmann. Slide 2 Outline ... [Madden et al., ICCAD 2003, Kahng et al., GLS-VLSI 2004]

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:

Page 16: EDA Institute for Electronic Design Automation Prof. Ulf ... · Design Automation Prof. Ulf Schlichtmann. Slide 2 Outline ... [Madden et al., ICCAD 2003, Kahng et al., GLS-VLSI 2004]

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: ′=

Page 17: EDA Institute for Electronic Design Automation Prof. Ulf ... · Design Automation Prof. Ulf Schlichtmann. Slide 2 Outline ... [Madden et al., ICCAD 2003, Kahng et al., GLS-VLSI 2004]

Slide 17

1 4

Cell 4:

Overlap with previous cell? no no clustering, no movement

PlaceRow, Cell 4

Page 18: EDA Institute for Electronic Design Automation Prof. Ulf ... · Design Automation Prof. Ulf Schlichtmann. Slide 2 Outline ... [Madden et al., ICCAD 2003, Kahng et al., GLS-VLSI 2004]

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

′=

Page 19: EDA Institute for Electronic Design Automation Prof. Ulf ... · Design Automation Prof. Ulf Schlichtmann. Slide 2 Outline ... [Madden et al., ICCAD 2003, Kahng et al., GLS-VLSI 2004]

Slide 19

1 6

Cell 6:

Overlap with previous cell? no no clustering, no movement

Last cell done, PlaceRow finished

PlaceRow, Cell 6

Page 20: EDA Institute for Electronic Design Automation Prof. Ulf ... · Design Automation Prof. Ulf Schlichtmann. Slide 2 Outline ... [Madden et al., ICCAD 2003, Kahng et al., GLS-VLSI 2004]

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:

Page 21: EDA Institute for Electronic Design Automation Prof. Ulf ... · Design Automation Prof. Ulf Schlichtmann. Slide 2 Outline ... [Madden et al., ICCAD 2003, Kahng et al., GLS-VLSI 2004]

Slide 21

Complexity

Worst-case for a complete circuit with N cells:

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

)( 2.1NΘ

Page 22: EDA Institute for Electronic Design Automation Prof. Ulf ... · Design Automation Prof. Ulf Schlichtmann. Slide 2 Outline ... [Madden et al., ICCAD 2003, Kahng et al., GLS-VLSI 2004]

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

Page 23: EDA Institute for Electronic Design Automation Prof. Ulf ... · Design Automation Prof. Ulf Schlichtmann. Slide 2 Outline ... [Madden et al., ICCAD 2003, Kahng et al., GLS-VLSI 2004]

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.

Page 24: EDA Institute for Electronic Design Automation Prof. Ulf ... · Design Automation Prof. Ulf Schlichtmann. Slide 2 Outline ... [Madden et al., ICCAD 2003, Kahng et al., GLS-VLSI 2004]

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:

Page 25: EDA Institute for Electronic Design Automation Prof. Ulf ... · Design Automation Prof. Ulf Schlichtmann. Slide 2 Outline ... [Madden et al., ICCAD 2003, Kahng et al., GLS-VLSI 2004]

Slide 25

The End

Thanks for the attention!

Questions?