32
A-Priori Wirelength and Interconnect Estimation Based on Circuit Characteristics Shankar Balachandran Dinesh Bhatia Center for Integrated Circuits and Systems University of Texas at Dallas [email protected] [email protected]

A-Priori Wirelength and Interconnect Estimation Based on

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A-Priori Wirelength and Interconnect Estimation Based on

A-Priori Wirelength and Interconnect Estimation Based on Circuit

Characteristics

Shankar Balachandran Dinesh Bhatia

Center for Integrated Circuits and Systems

University of Texas at Dallas

[email protected]@utdallas.edu

Page 2: A-Priori Wirelength and Interconnect Estimation Based on

Outline

� Introduction

� Motivation and Prior Work

� Definitions

� Wirelength Prediction

� Routing Demand Prediction

� Conclusion

Page 3: A-Priori Wirelength and Interconnect Estimation Based on

Introduction

� Interconnect Prediction• breaks repetitive design convergence

loop• helps in performing early feasibility

studies

� A-Priori Prediction• is done before placement stage• is used to provide congestion map,

wirelength metrics• can be used for architecture evaluation

Page 4: A-Priori Wirelength and Interconnect Estimation Based on

Scope of This Work

� A-Priori wirelength and interconnect prediction for island-style FPGAs

� Bounding box prediction for all wires• Identifying important circuit characteristics

which constrain placement• Assumes that wirelength is minimized during

placement

� Routing demand estimation• Channel Width calculation

� No prior characterization of placement/router

Page 5: A-Priori Wirelength and Interconnect Estimation Based on

Prior Work

� Rent’s Rule [TVLSI 2000, Bakoglu]

• Interconnect prediction builds models for architecture, circuit and placement

• Can calculate average/total wirelength, congestion etc.

� Sechen [ICCAD 87]

• Average wirelength of optimized placements

• For all possible bounding boxes, enumerate all possible positions for sources and sinks to calculate average wirelength of the whole netlist

� Hamada et al. [DAC 92]

• Break down nets into cliques and perform neighborhood analysis on them

• Placement is considered a stochastic process

• Wirelength distribution is calculated

� Bodapati et al. [SLIP 00]

• Bounding box estimates using structural analysis• Needs calibration of placement/router

Page 6: A-Priori Wirelength and Interconnect Estimation Based on

Motivation

� Average wirelength is not sufficient• Rent’s rule, Sechen and Hamada et al.

report only these figures

� Individual wirelength is useful• Logic synthesis, floorplanners

� Congestion metrics should be quantifiable• Very important for FPGAs• Channel Width requirements for routers

• To avoid the chicken and egg problem

Page 7: A-Priori Wirelength and Interconnect Estimation Based on

Island Style FPGA

}

W = Track Width

Tracks

CLBs

Connection Block

Switch Block

Page 8: A-Priori Wirelength and Interconnect Estimation Based on

W

W

Circuit

(Techmapped)

Wirelength

Estimation

VPR

Placement

FPGA

Architecture

Compare

Results

PlacedCircuit

BBoxEstimates

Routing Demand

Estimation

VPR

Detailed Router

Estimation Quality

vprW

Methodology

Page 9: A-Priori Wirelength and Interconnect Estimation Based on

Definitions [CIRC - TCAD 98, TVLSI 02]

� Combinational level

of a node is :

( )c x

( ) max( ( ’) | ’ ( )) 1c x c x x fanin x= ∈ +

max( ( ))cmax c x=

A

B

C

D

E

F

G

1

2

2

3

3

4

5

� Sequential level

of a node is :

0 ; is a PI-node

( ) ( ’) 1; is a FF-node with input ’

min( ( ’) | ’ ( )) ; otherwise

x

s x s x x x

s x x fanin x

= + ∈

( )s x

max( ( ));smax s x=5cmax =

A

B

C

D

E

F

G

0

0

01

1

1

0

1smax =

� Shape : A vector•

• For sequential circuits, the combinational shape vector in each level are concatenated back to back

0[ ] ; = number of nodes in level cmax iShape i c c c i= L

Shape[]={1,2,2,1,1}Shape[]={1,2,1}{2,1}

Page 10: A-Priori Wirelength and Interconnect Estimation Based on

is the path-set from to xy

P x y

is the length of path ( ) pl p

Definitions(2)

� Reconvergence

• Has multiple paths from to

• is the origin of reconvergence

• is the destination of reconvergence

• Always contained within one sequential level

� Number of reconvergences

� Length of reconvergence

xyRx

yx

y

Number of paths from to xyRN x y=

1( ) ( ) ( )xy

xy xyxy

p P

RO x RI y l pRN∈

= = ∑

A

B

C

D

E

F

G

RBE : RN = 2

1( ) 2l p B C E= → → =2( ) 2l p B D E= → → =

( ) ( ) 2BE BERO B RI E= =

RAG : RN = 2

1( ( ) ) 3l p A BE G= → → =

2( ) 2l p A F G= → → =

( ) ( ) 2.5AG AGRO A RI G= =

Page 11: A-Priori Wirelength and Interconnect Estimation Based on

Overview of Our Methodology

ReconvergenceAnalysis

Bounding Box Estimation

Track Width Estimation

Reconvergence Weights

Bounding Box Estimates

Track Width Estimates

Page 12: A-Priori Wirelength and Interconnect Estimation Based on

Wirelength Estimation

� Wirelength of a circuit depends on• Structural properties of the circuit• Placement of the circuit

� Nets from Input pads usually feed more nodes than the other nodes• Hence, classify the nets as logic nets and IO-

nets and treat them separately

� Wirelength of an individual net N will depend on• Number of terminals – tN

• Interaction with other nets

Page 13: A-Priori Wirelength and Interconnect Estimation Based on

Phase 1 - Minimum Span for Logic Nets

� Assume a net N is tightly placed. Wirelength is optimal when• Source is placed in the center• All sinks are tightly packed around the source

� Minimum span L is entirely dependent only on tN

4 8 12 4 NL t+ + + + ⋅ ≥L

1 2 1

2

NtL

+ ⋅ +=

Source

Sinks

L=1 N=4

L=2 N=12

L=3 N=24

Page 14: A-Priori Wirelength and Interconnect Estimation Based on

Phase 1 - Minimum Span for IO-Nets

� Input pads are placed along the periphery

� IO-Nets have many sinks usually, and the location of the Input pads cannot be guessed

� Assume the Input pad is in the corner of the FPGA• Worst-case calculation of wirelength

� Tight placement of sinks around the pad

2 3 4 NL t+ + + + ≥L

2 9 4 1 2NL t= ⋅ + −Source

Sinks

L=1 N=2

L=2 N=5

L=3 N=9

Page 15: A-Priori Wirelength and Interconnect Estimation Based on

Phase 2 – Dilation of Nets

� Tight placement is always not possible• Push and Pull from other nets are ignored

� Net N has no incident reconvergences => no dilation

� N has incident reconvergences => other nets pull the cells away => dilation

� Net dilation is based on reconvergences on its immediate neighborhood : source, sinks, fanin

� For any node that is an origin of any reconveregnce Rx*, let the out-

weight be

the average length of all out-bound reconvergences

� For all node that is a destination of any reconvergence R*y

, let the in-weight be

the average length of all in-bound reconvergences

*

*

( ) x

x

RORO x

RN= ∑

*

*

( ) y

y

RIRI y

RN= ∑

Page 16: A-Priori Wirelength and Interconnect Estimation Based on

Dilation Factor

� Raw weight of a node is

� Flip-Flops have many incident reconvergences,

hence an adjustment w.r.to LUT-size

� Dilation on a net N with vN as its source is

� Similar to flip-flops, IO-Nets have large weights,

hence an empirical value for IO-Nets

x ’( ) ( ) ( )RW x RI x RO x= +

log ’( ); if is a FF-node( )

’( ) ; otherwisek RW x x

RW xRW x

=

k

fanin( ) fanout( )

’( ) ( ) ( ) ( )N N

N Nx v y v

N RW x RW y RW v t∈ ∈

= + +

∑ ∑R

; if is a IO-Net2( )

’( ) ; otherwise

NN

N

=

3R

R

Page 17: A-Priori Wirelength and Interconnect Estimation Based on

Phase 3 – Uniform Distribution

� Let p be the position in which Shape

vector has the maximum value

� The nodes in this level are so many in

number that they are expected to be

uniformly distributed in the layout

• The nodes in this level are not connected to each other

• They are however strongly connected to the other nodes

� If a node has more than one such cell, the

net will dilate more

Page 18: A-Priori Wirelength and Interconnect Estimation Based on

Spread Due To Uniform Distribution

� SP = Set of nodes in the peak level

� = Minimum required FPGA size

� Construct a hypothetical grid which has only one cell from SP

� The hypothetical grid size is related to the FPGA dimension as

� If a net N has some nodes in SP then the span must respect the uniform distribution assumption

� The uniformity factor is calculated as

N

| ( ) |NU SP fanout v G= ∩ ⋅

GSP

= N

Page 19: A-Priori Wirelength and Interconnect Estimation Based on

Bounding Box Span of a Net� The bounding box span of the net N depends

on• L – the minimum span of the net• – the dilation of the net due to reconvergences• – the uniformity factor

� The horizontal span of the net N is

� The vertical span of the net is same as HSpan

� The total span of the net is

(N)R

U

max( , ) ; if (N) < 1 ( )

max(L (N),U) ; if (N) > 1

L UHSpan N

= ×

R

R R

( ) ( ) ( ) 2 ( )Span N HSpan N VSpan N HSpan N= + = ⋅

Page 20: A-Priori Wirelength and Interconnect Estimation Based on

Results for Wirelength Estimation

46.1342.61--12.4%11.6%Avg.

--219423845--Totals

46.0958.293613329-14.34-0.68spla

58.856.11228152213.244.66seq

50.5737.824515955-4.84-32.42s38417

38.1620.869418370-5.15s298

45.9365.015244051-14.713.44pdc

55.6954.1122711706.774.49misex3

-3.4610.9431367-4.0711.08dsip

47.48-21.428169934.37-21.45bigkey

66.5853.15262161629.10-19.68apex2

48.4848.452231299-2.242.95alu4

I/O Error

w/o RN(%)

Total Error

w/o RN (%)

Nets

Err > N/4

#Nets

Err < N/4

I/O Nets

Error (%)

Total

Error (%)Circuit

Page 21: A-Priori Wirelength and Interconnect Estimation Based on

Individual Wirelengths3

2.5

2

Span Ratio Vs Terminal SizeRatio of Nets Vs Terminal Size

0

0.5

1

1.5

2

2.5

3

0 100 200 300 400 500 600 700 800 900 1000

0

0.5

1

1.5

0 100 200 300 400 500 600 700 800 900Terminal Size

1000

Circuit : dsip

00.2

0.40.6

0.81

1.21.4

1.61.8

00.2

0.40.6

0.81

1.21.4

1.61.8

Terminal Size0 20 40 60 80 100 120 140 160 180 20020 40 60 80 100 120 140 160 180 200

Span Ratio Vs Terminal SizeRatio of Nets Vs Terminal Size

Circuit : misex3

Page 22: A-Priori Wirelength and Interconnect Estimation Based on

Error in Span Vs Number of Nets

0

0.2

0.4

0.6

0.8

1

1.2

<2

alu4

s298

s38417

dsip

bigkey

<4 <8 <N/2 <N<N/4 <3N/4

#Acc

urat

e N

ets

/ #T

otal

Net

s

Error in Span

Page 23: A-Priori Wirelength and Interconnect Estimation Based on

Routing Demand Estimation

� We use RISA to calculate number of

routing elements needed• An empirical technique based on wirelength of

nets with various terminal sizes• The routing demand is based on two factors

• - an empirical factor dependent on tN

• Bounding Box Sizes

� The actual routing demand for a net N is

calculated as

q

1 1;

( ) ( )N Nh vD q D q

HSpan N VSpan N= × = ×

Page 24: A-Priori Wirelength and Interconnect Estimation Based on

Definitions

� = Number of Logic Blocks

� = Number of I/O blocks

� If the circuit is placed in the smallest

possible device, its width (also height) is

given as

� = Total Number of Routing Elements

Needed

max( 4, )nIO=N= C

C

nIO

N Nh v

N

TD D D= +∑

TD

Page 25: A-Priori Wirelength and Interconnect Estimation Based on

Channel Width Estimation forPad Unconstrained Circuits

� Pad-Unconstrained Circuits•• TD routing elements are uniformly distributed

across the device• Channel width W is calculated as

=N= C

TD TDW = =

×C N N

N=

Page 26: A-Priori Wirelength and Interconnect Estimation Based on

Channel Width Estimation forPad Constrained Circuits

� Pad-Constrained Circuits•• Assume that all the logic blocks are placed in

the center – consistent with modern placers• However, TD routing elements should be

distributed across the whole device• Channel width W is calculated as

4nIO=N=

TD TDW = × =

×C

C N C N

N=C=

Page 27: A-Priori Wirelength and Interconnect Estimation Based on

Experimentation - Other Methods Compared

� RISA [ICCAD 94, DAC 2002]

• Post-placement technique• Add up demands for different sites in

the layout and find the maximum channel width

� Yang et al. [ISPD 2001]

• Rentian Method• Extended for FPGAs in [8]• Recursive partitioning of circuit and

layout• Worst-case congestion analysis on the

boundaries

Page 28: A-Priori Wirelength and Interconnect Estimation Based on

Results for Channel Width Estimation

6.1%

102.29

11.593

11.826

10.544

8.27

11.991

11.252

6.452

5.7

12.981

11.322

W

-

19.38

3.148

0.208

8.712

1.06

5.034

0.156

0.298

0.385

0.234

0.139

T

28.1%

139.63

17.663

14.53

13.192

9.963

20.418

13.649

9.699

12.105

14.911

13.506

WRISA

-

0.324

0.06

0.019

0.035

0.010

0.103

0.015

0.019

0.027

0.022

0.012

TRISA

37.1%

149.455

35.149

13.468

14.963

14.15

19.067

11.682

4.176

4.761

21.322

10.717

WRENT

--Error

59.86109Total

9.4215spla

2.0712seq

21.438s38417

2.338s298

14.6116pdc

1.3711misex3

1.977dsip

2.69bigkey

2.4912apex2

1.5411alu4

TRENTWVPRCircuit

Page 29: A-Priori Wirelength and Interconnect Estimation Based on

Summary

� Identified some important circuit characteristics which

dictate placement

• Push and Pull from reconvergences stretch wires• Reconvergences capture more than the local

neighborhood of cells• 30% more accuracy with reconvergences factored

in

� Bounding box prediction is accurate within 11.6% of

post-placement lengths

� Channel widths are predicted within 6% of post-route

results

Page 30: A-Priori Wirelength and Interconnect Estimation Based on
Page 31: A-Priori Wirelength and Interconnect Estimation Based on

Illustration of Bounding Box Calculation

Phase 1

Sinks are tightly placed around the

source node

Phase 2

Node A has high reconvergenceweight. Pulled

away from the net

C

D

A

BB

A

D

Phase 3

Node D and Node C are in peak

level and hence should spread out

Page 32: A-Priori Wirelength and Interconnect Estimation Based on

Overview of Our Methodology

ReconvergenceAnalysis

� Perform reconvergence analysis within different sequential levels

� Assign weights to nodes based on reconvergences

Bounding Box Estimation

For every net

� Calculate the minimum possible bounding box

� Find dilation factor using reconvergence weights

� Uniformly distribute peak nodes

� Calculate the actual span using these 3 factors

Track Width Estimation

� Calculate the number of routing elements required using RISA for every net

� Calculate the total number of routing elements

� Distribute this routing demand evenly in the layout to obtain maximum channel width