+ All Categories
Home > Documents > Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning...

Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning...

Date post: 03-Jan-2016
Category:
Upload: logan-boyd
View: 222 times
Download: 2 times
Share this document with a friend
Popular Tags:
36
Placement
Transcript
Page 1: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

Placement

Page 2: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

Physical Design Cycle

PartitioningPartitioning

Placement/Floorplanning

Placement/Floorplanning

RoutingRouting

Break the circuit up into

smaller segments

Place the segments on the chip

Layout thewire paths

2

Page 3: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

Floorplanning and Placement• Partitioning:

Circuit divided into smaller modules• Floorplanning:

Block outlines are determined• Pin Assignment:

Pin locations are determined

• Placement to determine the locations of standard cells or logic

elements within each block

• Objectives: Total wire length Performance …

3

Page 4: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

Placement Steps

• Global placement:Assigns general locations to movable objects

• Detailed placement: Incrementally improves object locations

− e.g., swapping cells

• Legalization: Before or during detailed placement:

− Align cells with rows and columns− Remove overlaps− Should minimize displacement from global placement

locations− Minimize impacts on interconnect length and circuit delay

4

Page 5: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

5

Placement Stages

Global Placement

Detailed Placement

Page 6: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

Placement Stages

• Run time: Of the same order

• Memory: Global placement requires much more

• Parallelism: Global placement is difficult to parallelize

• Performance-driven: More accurate delay information in detailed placement

6

Page 7: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

7

Optimization Objectives

Total Wirelength

Wire Congestion

Signal Delay

©20

11

Spr

inge

r V

erla

g

Page 8: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

Consequences of Placement

8

Page 9: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

Consequences of Placement

A bad placement A good placement

9

Page 10: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

Placement Considerations

Module Shapes: Rectangular (Possibly Rectilinear) Aspect Ratio: H/W (constrained) L-Shape (complex)

Routing Considerations: Routability Routing Area Estimation

10

Page 11: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

Placement Considerations

High Performance Design: Critical Nets.

Pre-placed Modules: E.g. Clock buffer in the middle.

11

Page 12: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

Routing Length Estimation

• Interconnects: Unknown during placement Estimate

• Two-terminal nets: Euclidean distance Manhattan distance (rectilinear distance) Octilinear distance

12

Page 13: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

13

Wirelength estimation for a net

Objectives: Total Wirelength

Half-perimeterwirelength (HPWL)

HPWL = 9

4

5

Complete graph (clique)

8

6

5

33

4

Clique Length =(2/p)e cliquedM(e) = 14.5

Monotone chain

Chain Length = 12

63

3

Star model

Star Length = 15

83

4

Sai

t, S

. M.,

You

ssef

, H.:

VL

SI P

hysi

cal D

esig

n A

utom

atio

n, W

orld

Sci

enti

fic

Page 14: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

Objectives: Total Worelength

• Star:One pin as the sourceUseful for timing optimizationUses only p-1 edges

− advantageous for high pin count netsOverestimates wirelength

14

Page 15: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

Objectives: Total Wirelength

• Complete graph (clique): p pins

− No. of edges:

15

Spanning tree:

− No. of edges:

p – 1

Normalization factor: p/2

Page 16: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

16

Sai

t, S

. M.,

You

ssef

, H.:

VL

SI P

hysi

cal D

esig

n A

utom

atio

n, W

orld

Sci

enti

fic

Objectives: Total Wirelength

Rectilinear minimumspanning tree (RMST)

RMST Length = 11

3

3

5

Rectilinear Steinerminimum tree (RSMT)

RSMT Length = 10

31

6

Rectilinear Steiner arborescence model (RSA)

RSA Length = 10

+5

3 +2

Single-trunk Steinertree (STST)

STST Length = 10

3

12

4

Wirelength estimation for a net (cont’d)

Page 17: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

Objectives: Total Wirelength

• RSA: One pin as the source: s0

Path length from s0 to any si must be equal to s0~ si Manhattan distance

Minimum length RSA: NP-hard• STST:

Easy to construct Commonly used for estimation

17

Page 18: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

18

Preferred method: Half-perimeter wirelength (HPWL)

· Fast (order of magnitude faster than RSMT)

· RSMT: NP-hard

· = RSMT for 2- and 3-pin nets (70%-80% of nets in most modern designs)

· Margin of error for real circuits approx. 8% [Chu, ICCAD 04]

hwL HPWL

Objectives: Total Wirelength

RSMT Length = 10

31

6

HPWL = 9

4

5

w

h

Page 19: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

19

Objectives: Total Wirelength

Total wirelength with net weights (weighted wirelength)

• For a placement P estimated total weighted wirelength:

Pnet

netLnetwPL )()()(

31314462)()()( Pnet

netLnetwPL

a

b

d

c

f

eb1 e1

c1

a1

d1

d2 f2

f1

NetsWeights

N1 = (a1, b1, d2)w(N1) = 2

N2 = (c1, d1, f1)w(N2) = 4

N3 = (e1, f2)w(N3) = 1

w(net): weight of net

L(net): estimated wirelength of net

• Example:

Page 20: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

Objectives: Congestion

• Two choices: Channel-based Channel segment-based

Channel

ChannelSegment

20

Page 21: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

Cost Function Using Channel For each channel i

wi: total number of nets whose bounding rectangles intersect with channel i:

w1=0

w2=2

w3=1

w4=

1

w5=

1

w6=

0Net-CrossingHistogram

21

Page 22: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

Assign a threshold value ti on the wiring capacity for each channel i.

− Cost function =

Total wire length + a Si(max{wi-ti , 0})2

Cost Function Using Channel

22

Page 23: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

Cost FunctionUsing Channel Segment

• For each net j,Rj : bounding rectangle

pj : half perimeter of Rj

lj : number of channel segments that intersected or enclosed by Rj.

• Expected occupancy of net j in each segments

pj / lj• wi of a segment i =

sum of all the expected occupancy in i23

Page 24: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

Cost Function Using Channel Segment

Cost function = Total wirelength

+ aSi (max{wi-ti , 0})2

Expected Occupancy

= 2/4 Expected Occupancy

= 3/7

wi = 2/4+3/7

24

Page 25: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

Objectives: Delay

• Delay:Static timing analysis:

− For each path p, if delay(p) > timing budget (p)Timing is violated

- details: later

25

Page 26: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

Placement Problem Formulation

Blocks: B1, …, Bn Bi:(wi, hi)

Nets: N1, …, Nm

Net Length Estimation for Ni: Li

Rectangular Spaces for Routing: Q1, …, Qk

26

Page 27: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

Placement Problem Formulation

NP-Complete Problem

Find the position and orientation of all Bi’s such that:

27

Page 28: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

Macrocell Placement

• Different Block Sizes and Shapes.• Primary Objective Function: Area.

The main cause of area waste: non-regularity.

• Opposite to Connection Length Objective?

28

Page 29: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

Standard-Cell Placement• Equal Height Cells Easier• Placement in Rows.• Area Minimization:

Minimize Total Height Minimize Widest Width (Balance in Row Widths)

29

Page 30: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

Gate Array Placement• Mapping Components to Gates.

Inputs: − A set of blocks: {B1, …, Bn},

− A set of slots: {S1, …, Sr} (r >= n)

Objective:− Map Bi’s to Sj’s such that no two blocks map onto one slot

− And the result is routable.

• e.g. FPGA.

Customized WiringPrefabricated gates

30

Page 31: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

Placement Algorithms Classification

Constructive Iterative

Improvement

Global Placement Algorithms

31

Page 32: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

Placement Algorithms Classification

DeterministicStochastic

Global Placement Algorithms

32

Page 33: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

Placement Algorithms Classification

Simulation-Based

Analytical

Global Placement Algorithms

Partitioning-Based

.…

.…

33

Page 34: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

Placement Algorithms Classification

Simulation-Based

34

Simulated annealing

Simulated evolution

Force-directed

Neural networks

….

Page 35: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

Placement Algorithms Classification

Partitioning-Based

35

Breuer Min-cut

Terminal propagation

Dragon (UCLA)

Capo (Michigan)

….

Page 36: Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.

Placement Algorithms Classification

Analytical

36

Quadratic placement

ILP-based

….


Recommended