Routability-driven Placement Algorithm for Analog Integrated - - PowerPoint PPT Presentation

routability driven placement algorithm for analog
SMART_READER_LITE
LIVE PREVIEW

Routability-driven Placement Algorithm for Analog Integrated - - PowerPoint PPT Presentation

Routability-driven Placement Algorithm for Analog Integrated Circuits Cheng-Wu Lin, Cheng-Chung Lu, Jai-Ming Lin, and Soon-Jyh Chang March 27, 2012 Department of Electrical Engineering National Cheng Kung University, Tainan, Taiwan Outline


slide-1
SLIDE 1

Routability-driven Placement Algorithm for Analog Integrated Circuits

Cheng-Wu Lin, Cheng-Chung Lu, Jai-Ming Lin, and Soon-Jyh Chang

March 27, 2012 Department of Electrical Engineering National Cheng Kung University, Tainan, Taiwan

slide-2
SLIDE 2

Outline Outline

 Introduction to Analog Placement  Routability-driven Analog Placement  Congestion Estimation  Placement Expansion  Proposed Placement Flow  Experimental Results  Conclusion

2

slide-3
SLIDE 3

Analog Placement Considerations Analog Placement Considerations

 Basic constraints

 Matching  interdigitated placement, common-centroid placement  Symmetry  symmetric placement  Proximity  adjacent placement

 Other considerations

 Thermal effects, stress gradients, etc.

1

M

2

M

1

M

2

M

Interdigitated placement

2

M

1

M

1

M

2

M

1

M

2

M

2

M

1

M

Common-centroid placement

1

M

2

M

3

M

4

M

Symmetry constraint

1

M

2

M

Proximity constraint Substrate Well

5

M

3

M

4

M

3

slide-4
SLIDE 4

Analog Placement Approaches Analog Placement Approaches

 Constructive method

 Generate placement according to schematic topology [Mehranfar,

JSSC’91] or signal paths [Long et al., ASP-DAC’06]

4

VIP VIN M5 M1 M2 M4 M3 M8 M7 M6 CC1

○ ○ ○

CC2 M9 M10 VB2

  • VOP

VON

  • VB1

○ ○

M11 VIP VIN M5 M1 M2 M4 M3 M8 M7 M6 CC1

○ ○ ○

CC2 M9 M10 VB2

  • VOP

VON

  • VB1

○ ○

M11 M3 、 M4 M3 、 M4 M1 、 M2 M1 、 M2 M5 M5 M11 M11 M8 M8 M7、M10 M7、M10 M6 、 M9 M6 、 M9 CC1 and CC2 CC1 and CC2 M7 、 M10 M7 、 M10 M6 、 M9 M6 、 M9 W 2 W 2 W 2 W 2 W 2 W 2 W 2 W 2

slide-5
SLIDE 5

Analog Placement Approaches Analog Placement Approaches

 Constructive method

 Generate placement according to schematic topology [Mehranfar,

JSSC’91] or signal paths [Long et al., ASP-DAC’06]

4

slide-6
SLIDE 6

Analog Placement Approaches Analog Placement Approaches

 Constructive method

 Generate placement according to schematic topology [Mehranfar,

JSSC’91] or signal paths [Long et al., ASP-DAC’06]

 Deterministic algorithm

 Enumerate all possible placements for the basic module sets,

and then combine these placements hierarchically [Strasser et al.,

ICCAD’08]

4

slide-7
SLIDE 7

Analog Placement Approaches Analog Placement Approaches

 Constructive method

 Generate placement according to schematic topology [Mehranfar,

JSSC’91] or signal paths [Long et al., ASP-DAC’06]

 Deterministic algorithm

 Enumerate all possible placements for the basic module sets,

and then combine these placements hierarchically [Strasser et al.,

ICCAD’08]

4

slide-8
SLIDE 8

Analog Placement Approaches Analog Placement Approaches

 Constructive method

 Generate placement according to schematic topology [Mehranfar,

JSSC’91] or signal paths [Long et al., ASP-DAC’06]

 Deterministic algorithm

 Enumerate all possible placements for the basic module sets,

and then combine these placements hierarchically [Strasser et al.,

ICCAD’08]

 Statistical algorithm

 Apply simulated annealing (SA) algorithm with floorplan

representations

4

slide-9
SLIDE 9

Representations for Analog Placement Representations for Analog Placement

 Topological representation is a popular method for modern VLSI design

 Smaller solution space (compared with absolute representation)  Need specific techniques to deal with placement constraints

 Previous work of handling symmetry constraint

 Sequence-pairs [Balasa & Lampaert, DAC’99]  O-trees [Pang et al., DAC’00]  Binary trees [Balasa, ICCAD’00]  TCG-S [Lin et al., ASP-DAC’05]  CBL [Liu et al., ASP-DAC’07]

 Previous work of tackling common-centroid constraint

 C-CBL [Ma et al., ICCAD’07]  B*-trees [Strasser et al., ICCAD’08]  Sequence-pairs [Xiao & Young, ASP-DAC’09]

5

slide-10
SLIDE 10

Routability-driven Analog Placement Routability-driven Analog Placement

 One of the objective function in SA algorithm is to minimize chip area, which makes blocks compact to the lower-left corner  For analog design, a compact placement is not practical  Routing over the active areas of analog devices is usually avoided to reduce parasitics and cross-talk effects  Reserve enough spaces between the devices for laying out wires

6

slide-11
SLIDE 11

Review of Congestion-aware Placement Review of Congestion-aware Placement

 Congestion-aware placement for analog circuits [Xiao et al., ICCAD’10]

 Whole placement region is divided into an nn mesh, and vertical

and horizontal congestions are estimated for each room

 Rooms are expanded column-by-column and row-by-row based on

the congestion map

7

55 mesh Symmetry axis Non-symmetry module Symmetry group Symmetry axis Column expansion

Symmetry constraint is violated!

Symmetry constraint must be satisfied after placement expansion

slide-12
SLIDE 12

Problem Formulation Problem Formulation

 Given a set of devices and topological placement constraints

 The active areas of all devices are considered as routing blockages  Routing congestion in the resulting placement P is minimized  All topological constraints are satisfied in the resulting placement P  Cost function (P):

8

(P) =   AP +   WP +   CP AP: bounding-rectangle area of the placement WP: total wire length measured by half-perimeter estimation CP: estimation of routing congestion

slide-13
SLIDE 13

Overview of Our Placement Flow Overview of Our Placement Flow

9

Generate a compact placement based on ASF-B* -trees and HB* -trees Estimate routing congestion Expand congested regions Done Input devices, netlist, and topological placement constraints Minimum cost? No Yes

slide-14
SLIDE 14

Congestion Estimation Congestion Estimation

 The way to predict congestion accurately is to use the same technique and parameters in both congestion estimation and global routing [Pan & Chu, ICCAD’06]

 Congestion-driven Steiner tree construction can be used for

congestion estimation and global routing

 Previous work: FastRoute [Pan & Chu, ICCAD’06], NTHU-Route

[Chang et al., ICCAD’08]

10

Congestion map generation Congestion-driven Steiner tree construction Route two-pin nets using pattern routing and maze routing

  • 1. Use FLUTE to generate the Steiner
  • 1. minimal trees for all nets
  • 2. Route two-pin nets using L-shaped
  • 2. pattern routing
  • 3. Generate congestion map from the
  • 3. routing demand
slide-15
SLIDE 15

Congestion Estimation Congestion Estimation

 The way to predict congestion accurately is to use the same technique and parameters in both congestion estimation and global routing [Pan & Chu, ICCAD’06]

 Congestion-driven Steiner tree construction can be used for

congestion estimation and global routing

 Previous work: FastRoute [Pan & Chu, ICCAD’06], NTHU-Route

[Chang et al., ICCAD’08]

10

Congestion map generation Congestion-driven Steiner tree construction Route two-pin nets using pattern routing and maze routing

Reconstruct Steiner tree for each net according to the congestion map

slide-16
SLIDE 16

Congestion Estimation Congestion Estimation

 The way to predict congestion accurately is to use the same technique and parameters in both congestion estimation and global routing [Pan & Chu, ICCAD’06]

 Congestion-driven Steiner tree construction can be used for

congestion estimation and global routing

 Previous work: FastRoute [Pan & Chu, ICCAD’06], NTHU-Route

[Chang et al., ICCAD’08]

10

Congestion map generation Congestion-driven Steiner tree construction Route two-pin nets using pattern routing and maze routing

Reconstruct Steiner tree for each net according to the congestion map

slide-17
SLIDE 17

Congestion Estimation Congestion Estimation

 The way to predict congestion accurately is to use the same technique and parameters in both congestion estimation and global routing [Pan & Chu, ICCAD’06]

 Congestion-driven Steiner tree construction can be used for

congestion estimation and global routing

 Previous work: FastRoute [Pan & Chu, ICCAD’06], NTHU-Route

[Chang et al., ICCAD’08]

10

Congestion map generation Congestion-driven Steiner tree construction Route two-pin nets using pattern routing and maze routing

Reconstruct Steiner tree for each net according to the congestion map

slide-18
SLIDE 18

Congestion Estimation Congestion Estimation

 The way to predict congestion accurately is to use the same technique and parameters in both congestion estimation and global routing [Pan & Chu, ICCAD’06]

 Congestion-driven Steiner tree construction can be used for

congestion estimation and global routing

 Previous work: FastRoute [Pan & Chu, ICCAD’06], NTHU-Route

[Chang et al., ICCAD’08]

 Proposed congestion map generation:

10

Congestion map generation Congestion-driven Steiner tree construction Route two-pin nets using L-shaped pattern routing Generate congestion map from the routing demand

slide-19
SLIDE 19

Congestion Map Generation with Analog Devices Congestion Map Generation with Analog Devices

 Grid graph model for global routing:  Since the active areas of all devices are considered as routing blockages, we reduce global edge capacities of a bin if the bin is

  • ccupied by some devices

11

Global edges Modules Global bins Grid graph model

slide-20
SLIDE 20

Congestion Map Generation with Analog Devices Congestion Map Generation with Analog Devices

12

Edge capacity: ce Routing demand: de ce1 , de1 ce2 , de2 ce1* , de1 ce2* , de2 a s ce1* = 0 if de > ce*, overflowe = de – ce*

  • therwise overflowe = 0

a s ce2* = ce2 

slide-21
SLIDE 21

Overview of Our Placement Flow Overview of Our Placement Flow

13

Generate a compact placement based on ASF-B* -trees and HB* -trees Estimate routing congestion Expand congested regions Done Input devices, netlist, and topological placement constraints Minimum cost? No Yes

slide-22
SLIDE 22

Placement Expansion Placement Expansion

 To eliminate routing overflow, we slightly expand congested regions of a compact placement

 Placement expansion for non-symmetry modules  Placement expansion for symmetry groups

 Dummy nodes are inserted into ASF-B*-trees or HB*-trees for placement expansion

14

slide-23
SLIDE 23

Review of ASF-B*-tree Review of ASF-B*-tree

 Concept of symmetry islands [Lin & Lin, DAC’07]

 Matching devices should be placed at proximity to reduce

mismatch [Pelgrom et al., JSSC’89]

 Each module should abut at least one of the other modules in the

same symmetry group

 A symmetry island defines a symmetric placement, in which

devices form a connected placement

15

 

3

M

4

M

1

M

2

M

3

M

4

M

1

M

2

M

Symmetry group: S = { (M1 , M2) , (M3 , M4)}

slide-24
SLIDE 24

Review of ASF-B*-tree Review of ASF-B*-tree

 Concept of symmetry islands [Lin & Lin, DAC’07]

 Matching devices should be placed at proximity to reduce

mismatch [Pelgrom et al., JSSC’89]

 Each module should abut at least one of the other modules in the

same symmetry group

 A symmetry island defines a symmetric placement, in which

devices form a connected placement

 Automatically symmetric-feasible B*-tree (ASF-B*-tree) is used to represent a symmetry island

15

2 s

b 

1

b 

3

b

3

b

1

b

4 s

b

s

b

2 r

b

4 r

b

r

b

3 r

b

1 r

b

1 r

n

2 r

n

3 r

n

4 r

n

r

n

slide-25
SLIDE 25

Review of HB*-tree Review of HB*-tree

 Hierarchical B*-tree (HB*-tree) deals with the placement of symmetry islands and non-symmetry modules  Hierarchy nodes can handle the groups which require matching, symmetry, and proximity constraints

16

2

b

3

b

6

b b  b

1

b 

1

b

4 s

b

5

b 

5

b

3

n

2

n

6

n

4 r

n

5 r

n

1 S

n

r

n

1 r

n

S

n

hierarchy node

slide-26
SLIDE 26

Placement Expansion for Non-symmetry Modules Placement Expansion for Non-symmetry Modules

17

b2 b1 b0 b2 b1 b0

Congested region Expansion width is determined according to congestion map

n0 n1 n2

B* -tree

n0 n1 n2

slide-27
SLIDE 27

Placement Expansion for Non-symmetry Modules Placement Expansion for Non-symmetry Modules

17

n0 n1 n2 n0 n1 n2 b2 b1 b0 b2 b1 b0 b2 b1 b0

Expansion height is determined according to congestion map

slide-28
SLIDE 28

Placement Expansion for Non-symmetry Modules Placement Expansion for Non-symmetry Modules

18

b0 b1' b2' b1 b2 b0 b1' b2' b1 b2 n0 nS0 n1

r

n2

r

HB* -tree

n0 nS0

slide-29
SLIDE 29

Placement Expansion for Symmetry Groups Placement Expansion for Symmetry Groups

19

b2' b1 b1' b0

s

b2

ASF-B* -tree

n0

r

n1

r

n2

r

b2' b1 b1' b2 b0

s

n0

r

n1

r

n2

r

b0

r

b1

r

b2

r

slide-30
SLIDE 30

Placement Expansion for Symmetry Groups Placement Expansion for Symmetry Groups

 ASF-B*-trees guarantee that each symmetry group remains symmetric after placement expansion

19

n0

r

n1

r

n2

r

b2' b1 b1' b2 b0

s

b0

r

b1

r

b2

r

slide-31
SLIDE 31

Placement Expansion for Symmetry Groups Placement Expansion for Symmetry Groups

 ASF-B*-trees guarantee that each symmetry group remains symmetric after placement expansion

19

b1 b1' b2' b2 b0

s

b3

s

n0

r

n1

r

n2

r

n3

r

n0

r

n1

r

n3

r

n2

r

b1 b1' b2' b2 b0

s

b3

s

Dummy node only needs to add half the expansion width

slide-32
SLIDE 32

Outline Outline

 Introduction to Analog Placement  Routability-driven Analog Placement  Congestion Estimation  Placement Expansion  Proposed Placement Flow  Experimental Results  Conclusion

20

slide-33
SLIDE 33

Proposed Placement Flow Proposed Placement Flow

21

Start Generate a placement P Cost calculation

1(P) =   AP +   WP

Minimu m cost? No Yes Candidate placement P* Input modules, nets, and constraints Stage 1 Stage 2 Cost calculation

2(P*) =   AP +   WP +   CP

Construct Steiner trees for all nets Estimate routing overflow Congestion elimination Minimu m cost? No Yes Over- congeste d? Yes No Perturbation for placement P* End

slide-34
SLIDE 34

Proposed Placement Flow Proposed Placement Flow

21

Cost calculation

2(P*) =   AP +   WP +   CP

Construct Steiner trees for all nets Estimate routing overflow Congestion elimination Minimu m cost? No Yes Over- congeste d? Yes No Perturbation for placement P* End Stage 2 Estimate routing overflow Over- congeste d? No Yes Expand all congested regions Reconstruct Steiner trees for all nets

slide-35
SLIDE 35

Experimental Results Experimental Results

 Platform: 2.5GHz SUN Fire-X4250 workstation with 16GB RAM  Benchmark: two MCNC benchmark circuits

22

Circuit # of mod. # of sym. mod.

  • Mod. area (mm2)

ami33 33 7 (2+2+2+1) 1.16 = 100% ami49 49 5 (2+2+1) 35.45 = 100%

slide-36
SLIDE 36

Experimental Results Experimental Results

 Platform: 2.5GHz SUN Fire-X4250 workstation with 16GB RAM  Benchmark: two MCNC benchmark circuits

22

Circuit Without placement expansion With placement expansion Area (%) HPWL (mm) # of

  • verflow

Time (sec.) Area (%) HPWL (mm) # of

  • verflow

Time (sec.) ami33 107.11 37.38 154 103 113.25 47.73 556 ami49 108.44 569.25 253 206 115.32 677.24 1337 ami33 ami49

slide-37
SLIDE 37

Experimental Results Experimental Results

 Platform: 2.5GHz SUN Fire-X4250 workstation with 16GB RAM  Benchmark: two MCNC benchmark circuits  Symmetry property is maintained after placement expansion

22

ami33 ami49

slide-38
SLIDE 38

Conclusion Conclusion

 Analog placement considering routability was introduced

 The active areas of all devices are considered as routing blockages  Routing congestion in the resulting placement is minimized  Symmetry constraint must be satisfied after placement expansion

 ASF-B*-trees were used for maintaining the symmetry property after placement expansion  Future work

 Consider symmetric routing during the congestion estimation

23

slide-39
SLIDE 39

Questions or Comments Questions or Comments

Thank you!

24