30
PLACEMENT USING DON’T CARE WIRES Fan Mo Don’t Care Wire Group: P.Chong, Y- J.Jiang, S.Singha and R.K.Brayton

PLACEMENT USING DON’T CARE WIRES

  • Upload
    teige

  • View
    25

  • Download
    0

Embed Size (px)

DESCRIPTION

PLACEMENT USING DON’T CARE WIRES. Fan Mo Don’t Care Wire Group: P.Chong, Y-J.Jiang, S.Singha and R.K.Brayton. OUTLINE. Design flow overview What is don’t care wire? What is our macro-cell placer? How to use don’t care wires in placement? Experiment, results and conclusion. - PowerPoint PPT Presentation

Citation preview

Page 1: PLACEMENT USING DON’T CARE WIRES

PLACEMENT USINGDON’T CARE WIRES

Fan Mo

Don’t Care Wire Group: P.Chong, Y-J.Jiang, S.Singha and R.K.Brayton

Page 2: PLACEMENT USING DON’T CARE WIRES

OUTLINE

• Design flow overview

• What is don’t care wire?

• What is our macro-cell placer?

• How to use don’t care wires in placement?

• Experiment, results and conclusion

Page 3: PLACEMENT USING DON’T CARE WIRES

DESIGN FLOW OVERVIEW

PLA-based Decomposition

SPFD-based Don’t CareWire Generation

Placement based onWire Choices

Resynthesis

Netlist

Layout

Final Placement

pins withwire choices

Cell area andnet connection

determined

wire choicemade

Page 4: PLACEMENT USING DON’T CARE WIRES

SPFD

• Yamashita and etc., “A new method to express functional permissibility for LUT based FPGAs and its applications”, ICCAD96

• Brayton, “Understanding SPFDs: A new method for specifying flexibility”, IWLS97 • Sinha and Brayton, “Implementation and use of SPFD”, ICCAD98

yy11

yy22

yy55

yy44

YA

yy22

yy33

yy55

yy44

YB

yy11

yy33

yy44

yy55

YC

Y-space

Z-space

Primary Inputs

YA YB YC

Page 5: PLACEMENT USING DON’T CARE WIRES

SPFD

1

Y-space

0

2

53

7

9 4

6

8

10

need SPFDYA

provide atleast SPFDYA

need SPFDYB

provide atleast SPFDYB

need SPFDYC

provide atleast SPFDYC

Each input pin of a node needs information described by its SPFD, and some other non-TFO nodes provide the required information.

Page 6: PLACEMENT USING DON’T CARE WIRES

DON’T CARE WIRES

Denition 1 Given a set of sets of nodes R={Rk}, a selection is an

ordered set of nodes {1, … , |R| } such that kRk.

Denition 2 A set of sets R={Rk} is compatible if for each selection,

there exist logic functions at each node such that the implied netlist

for that selection can implement the specications at the primary

outputs.

Theorem Any set of sets of nodes {Rk} satisfying

1. For any selection, the resulting netlist is acyclic, and

2. ’Rk SPFDk SPFD’

is compatible.

Page 7: PLACEMENT USING DON’T CARE WIRES

DON’T CARE WIRESProcedure (Constructing a compatible set, but still acyclic network)1. Starting from the outputs and proceeding in a backward topological order, for each node in the network, and each of its input pins, , assign SPFDs, SPFD and SPFD so that the required information is supplied. Once

this is done, each SPFD represents the set of minterms which must be distinguished by that node or pin. 2. Initialize for each node ,

ex()={}TFO

and for each input pin, of , let R ={’ }, where ’ is the initial choice of

source for pin . R will eventually represent the set of alternate wires for .3. Starting from the inputs and proceeding in some topological order, at each node , do the following: (a) Let C =~ex()(b) For each fanin wire of : # Find an ’ C such that SPFD SPFD’ .

# Include ’ in R , R = R {’ } .

# Update ex(’ ) = ex() ex(’ ). (to avoid cycles.) # This continues until no more nodes can be added to R .

R ’

exex(())exex((’’ ) )

Page 8: PLACEMENT USING DON’T CARE WIRES

USE DON’T CARE WIRES IN PLACEMENT

• Based on current placement, determine which wire among the choice set is chosen in terms of wire length reduction.

• Based on current netlist, determine the movement of the cells.

Wire choice interleaves cell placement

Page 9: PLACEMENT USING DON’T CARE WIRES

AWC PHASE I• For each pin with alternate wires, temporarily disconnect it from the

current net.

• For each net form the bounding boxes of the currently connected pins. These partial bounding boxes form a lower bound on the total wire length.

• For each pin with alternate wires, if its pin position is inside one of the partial bounding boxes for its candidate wires (the original wire plus its alternates), assign it to that net. No increase has been caused by this, and hence the partial assignment seen so far must be part of an optimum assignment.

• For each remaining pin with alternate wires, compute the “delta” costs if it is assigned to each of the candidate nets. There is a net assignment which increase the total net length by the least amount. Choose this assignment and update the chosen net.

• Continue last step until all pins have been assigned.

Page 10: PLACEMENT USING DON’T CARE WIRES

AWC PHASE I

Page 11: PLACEMENT USING DON’T CARE WIRES

AWC PHASE II• For each pin which is an extreme of the bounding box of its

currently assigned net, temporarily release it from its assignment, and compute the best net to put it in and its delta decrease cost in doing this. Note that the delta decrease is nonnegative.

• Choose the pin with the maximum delta decrease and reassign the pin to the new net.

• Repeat the above steps until the best delta is 0.

Page 12: PLACEMENT USING DON’T CARE WIRES

AWC PHASE II

Page 13: PLACEMENT USING DON’T CARE WIRES

AWC• After PHASE I, there may be pins that can be moved to different

nets to improve the total cost.

• During PHASE II, a pin may be reassigned more than once. To speed up the process, one may want to “lock” a pin once it is reassigned once.

• After PHASE II (with no locking), the solution is locally optimal, in that there is no pin which can be moved to a new net such that the total cost is decreased. However, there might be a set of pins that can be reassigned all at once which decreases the cost.

• Chong and etc., “Don’t care wires in logic/physical design”, IWLS00

Page 14: PLACEMENT USING DON’T CARE WIRES

FORCE-DIRECTEDMACRO-CELL PLACER

• Iterative so that wire choice can be merged into the placement.

• Incremental so that final placement can start from the layout done after wire choice instead of starting from scratch.

• Need to handle maro-cell, not only standard cell.

Standard cell design Macro-cell design

Iterative and Incremental

• Quinn and Breuer, “A Forced Directed Component Placement Procedure for Printed Circuit Boards”, IE3 Trans.-CAS79

• Eisenmann and Johannes, “Generic global placement and floorplanning”, DAC98

Page 15: PLACEMENT USING DON’T CARE WIRES

FORCE-DIRECTEDMACRO-CELL PLACER

• Short Total Wire Length Attractive forces applied on connected cells.

• Small AreaCells are dragged by attractive forces.

• Cell Orientation and Aspect Ratio (for soft cell)Gain function describing the relation between force reduction and cell orientation and shape.

• Eliminate OverlappingDensity field method. Make an evenly distributed layout. Also use pads to pull cells apart.

• IterativeIt should be. AWC can be easily merged in the placer.

• Run Time We seek more speed up by using a new wire model.

• Other Interesting FeaturesWire congestion estimation. Pad positioning.

Page 16: PLACEMENT USING DON’T CARE WIRES

PLACER ATTRACTIVE FORCE

Cell[1]

Star[s]

Chip

Pad[1] Pad[2]

Cell[2]

][

1

][

1

][

1

]][[]][[][]][[

]][[]][[]][[

]][[][

cNT

t

STC

cNT

t

ST

cNT

t

TA

tcSPtcOcPtck

tcSPtcPtck

tcFcF

Using star wire model instead of clique wire model. About 30% saving.

k: net weight; Pc: cell location; OT: terminal offset; Ps: star location

Page 17: PLACEMENT USING DON’T CARE WIRES

PLACER DENSITY FIELD

.5 .40 .4 0 0

1 .80 .8 0 0

1.2 1.10 1 .2 .1

2 1.80 1.2 1 .7

1.4 1.30 .9 1 .7

1 10 .4 1 .7

.5 .50 .2 .5 .4

0 00 0 0 0

1][

1][

1][

1][

4321

4321

]][[

][][][][

][][][][][

cBRTX

cBLBXbx

cBRTY

cBLBYby

EEEE

CCCCF

bybxf

cfcfcfcf

cfcfcfcfcF

BinNumX

xb

BinNumY

yb ybxbPbybxP

ybxbPbybxPybxbD

BinSizebybxf

1 12

2

]][[]][[

]][[]][[]][[

]][[

]][[

2][]][[

bybxbinveringAllCellsCo

BAL BinSizecADbybxD

CHIP

TOTALBAL area

areaD

MLBX[c]

BLBY[c]

BLBX [c]

BRTX [c]

BRTY[c]

MLBY [c]

MRTX[c]

MRTY [c]

BinSize

Page 18: PLACEMENT USING DON’T CARE WIRES

PLACER FORCE EQUATIONS

][][][ cFdcFacF FAC

LIMITC

C

C

LIMIT

LIMITCC

CfcF

cF

cFf

fcFcF

cP][

][

][

][][

][

Page 19: PLACEMENT USING DON’T CARE WIRES

PLACER CELL ORIENTATION

EW TN

S

H V R

])[]][[(]][[]][[]][[

])[]][[(]][[]][[]][[][

])[]][[(]][[]][[]][[

])[]][[(]][[]][[]][[][

][][][

])[]][[(]][[]][[]][[

])[]][[(]][[]][[]][[][

])[]][[(]][[]][[]][[

])[]][[(]][[]][[]][[][

][]][[]][[2]][[]][[][

][]][[]][[2]][[]][[][

][

1

][

1

][

1

][

1

][

1

][

1

ceSiztcOtcktcFtcF

ceSiztcOtcktcFtcFcg

ceSiztcOtcktcFtcF

ceSiztcOtcktcFtcFcg

cgcgcg

ceSiztcOtcktcFtcF

ceSiztcOtcktcFtcFcg

ceSiztcOtcktcFtcF

ceSiztcOtcktcFtcFcg

cSizetcOtcktcFtcFcg

cSizetcOtcktcFtcFcg

AYAY

cNumTerm

tAXAXR

AYAY

cNumTerm

tAXAXT

VHS

AYAY

cNumTerm

tAXAXE

AYAY

cNumTerm

tAXAXW

cNumTerm

tYYAYAYV

cNumTerm

tXXAXAXH

2][][][

2][][]][[

2]][[]][[]][[

2]][[]][[]][[

cSizecSizeceSiz

cSizecSizetceSiz

tcOtcOtcO

tcOtcOtcO

YX

YX

YX

YX

erCoveredAftoreCoveredBef

F DDcg ][

][][][ cgcgcG FXX Gain of taking an orientation:

Page 20: PLACEMENT USING DON’T CARE WIRES

PLACER CELL ASPECT RATIO

][

1

][

1

]][[][]][[

]][[

]][[][]][[

]][[][

cNT

tYY

AY

AY

cNT

tXX

AX

AXF

tcΔOcΔPtcF

tcF

tcΔOcΔPtcF

tcFcgain

][

1

][

1

]][[1'

2

'

]][[

]][[

]][[1'

2

'

]][[

]][[][

cNT

tY

AY

AY

cNT

tX

AX

AXF

tcOh

hhh

tcF

tcF

tcOw

www

tcF

tcFcgain

'' hwhwA

][

1

][

1

]][[21

]][[]][[

]][[21

]][[]][[

'

'cNT

t

X

AX

AX

cNT

t

X

AY

AY

wtcO

tcFtcF

htcO

tcFtcF

h

w

othershw

awha

ahwa

hwhwa

hwMM

MM

'/'

'/'/1

'/'

'/',0'/'

'/'

new width/height ratio:

Page 21: PLACEMENT USING DON’T CARE WIRES

PLACER ORIENTATION vs ASPECT RATION

ORIENTATION ASPECT RATIO

discrete continuous

find a better one find the best

easy to compute more run time

for both hard/soft cell only for soft cell

better in earlier stage better in later stage

Page 22: PLACEMENT USING DON’T CARE WIRES

PLACER PAD POSITIONING

A

B

C

D

A

B

C

D

1][

1][

][][][

][][

][tBR

tBLbPP

F bfBRfBinSize

tMRLBLf

BinSize

tMBLtF

BMb

bbBMbb

PbPbP

bPbPbDBinSizebf 2

][][

][][][][

Attract force

one dimensional density fieldand filling force

Page 23: PLACEMENT USING DON’T CARE WIRES

PLACER WIRE CONGESTION ESTIMATION 1

LBinSize

wsNd TS

1

2][

Area paid for connections to starin terms of contribution to density field.

w

BinSize

L

Page 24: PLACEMENT USING DON’T CARE WIRES

PLACER WIRE CONGESTION ESTIMATION 2

]][[)#,max(#]][[ ecKOWWwecKO C

Area paid for the connections to the terminalsin terms of keepout distance of cell edges.

#W-,#W+ : the no. of wires go two opposite directions. w : wire pitche=left,bottom,right,top cell edge; KOC : the constant keepout distance

Page 25: PLACEMENT USING DON’T CARE WIRES

PLACER WIRE CONGESTION ESTIMATION 3

1/4 1/4 1/41/3 1/3 1/2

1/3 1/4 1/41/2 1/4 1/3

1/2 1/3 1/4 1/4 1/4

1/4 1/4 1/31/4 1/2

T

S

1/4 0 1/41/3 1/3 1/2

1/3 1/4 1/31/2 1/4 1/3

1/2 1/3 1/4 1/3 1/4

1/3 1/4 1/31/4 1/2

T

S

1/4 1/4 1/41/3 1/3 1/2

1/3 1/4 1/41/2 1/4 1/3

1/2 1/3 1/4 1/4 1/4

1/4 1/4 1/31/4 1/2

T

S

LBinSize

wbybxpbybxd RR

1]][[]][[

Rbybxdbybxd RR

1]][[]][[

No obstruction Obstruction, not fully blocked Obstruction, fully blocked

Area paid for the wiring between star and terminalin terms of contribution to density field.

Page 26: PLACEMENT USING DON’T CARE WIRES

PLACEMENT FLOWInitialize_and_ZeroSize_Cells();SetCellsSizeZero();loop Stage1IterationNumber { ComputeAttractiveForces_and_Move_Stars(); ComputeAttractiveForces_and_Move_Cells(); AWC( );AWC( ); DetermineChipBoundary(); ComputeAttractiveAndFillingForce_and_Slide_Pads();}explode();

loop Stage2IterationNumber { IncreaseCellSize(); ComputeAttractiveForces_and_Move_Stars(); ComputeAttractiveForces_Cells(); ComputeKeepOutDistance_for_Cells(); ComputeBinDensity(); ComputeFillingForces_Cells(); MoveWithLimit_Cells(); ComputeOrientationGain_and_ChooseOrientation_for_Cells(); AWC( );AWC( ); DetermineChipBoundary(); ComputeAttractiveAndFillingForce_and_Slide_Pads();}

while (exist bin, density > densityThreshold) { ComputeAttractiveForces_and_Move_Stars(); ComputeAttractiveForces_Cells(); ComputeKeepOutDistance_for_Cells(); ComputeBinDensity(); ComputeFillingForces_Cells(); MoveWithLimit_Cells(); ComputeSoftCellAspectRatio(); DetermineChipBoundary(); ComputeAttractiveAndFillingForce_and_Slide_Pads();}CleanUp();

STAGE I STAGE II

CELLAREA RATIO

1

0

CHIPDENSITY

STAGE IIIEXPLODEINITIALIZE CLEAN UP

1

2

3

Resynthesis( );UpdateCellInformation( ); resynthesis

Page 27: PLACEMENT USING DON’T CARE WIRES

EXPERIMENT

Regular MaximumPLAs In Pins Alt Pins (%) Alts Alt Pins (%) Alts

alu2-5 18 233 32 13.7 28.44 37 15.9 37.43apex6-5 37 553 21 3.8 16.10 27 4.9 81.56apex7-4 12 157 9 5.7 22.22 12 7.6 38.75apex7-5 11 146 5 3.4 14.40 6 4.1 55.83count-4 6 67 4 6.0 12.75 4 6.0 30.25count-5 6 68 3 4.4 21.67 3 4.4 35.00term1-4 15 186 23 12.4 19.61 29 15.6 37.03term1-5 12 170 11 6.5 32.55 15 8.8 44.00ttt2-4 7 73 7 9.6 14.00 7 9.6 15.29ttt2-5 8 85 9 10.6 15.22 10 11.8 18.30x4-5 24 269 19 7.1 34.05 28 10.4 32.64

Characterization of Examples

number of pins with alternatesthe percentage of such pins among all pins

average alternate number of these pins

break the acyclic constrain

Page 28: PLACEMENT USING DON’T CARE WIRES

EXPERIMENTAL RESULTS

0

2

4

6

8

10

12

14Im

pro

vem

ent

in T

otal

Wir

elen

gth

(%

)

alu2

-5

apex

6-5

apex

7-4

apex

7-5

coun

t-4

coun

t-5

term

1-4

term

1-5

ttt2

-4

ttt2

-5

x4-5

regular re-synthesis max

Average improvement: regular 5.1%, re-synthesis 3.9% max 5.4%

Page 29: PLACEMENT USING DON’T CARE WIRES

EXPERIMENTAL RESULTS

0

2

4

6

8

10

12

14

16

18Im

pro

vem

ent

in T

otal

Are

a (%

)

alu2

_50

apex

6_50

apex

7_40

apex

7_50

coun

t_40

coun

t_50

term

1_40

term

1_50

ttt2

_40

ttt2

_50

x4_5

0

4i2o1i1o

Average improvement: 4i2o 7.0%, 1i1o 8.2%

Page 30: PLACEMENT USING DON’T CARE WIRES

CONCLUSION

• Synthesis-interactive placer. AWC.• Improvement in terms of total wire length and

area.• Macro-cell placement algorithm, handling cell

orientation, cell aspect ratio and pin(pad) position. Also with wiring estimation.