pre-layout estimation of individual wire lengths
DESCRIPTION
Pre-Layout Estimation of Individual Wire Lengths. Srinivas Bodapati (Univ. of Illinois) Farid N. Najm (Univ. of Toronto) [email protected]. Introduction. Interconnect represents an increasingly significant part of total circuit delay Longer interconnect is more significant - PowerPoint PPT PresentationTRANSCRIPT
University of TorontoUniversity of Toronto
Pre-Layout Estimation of Individual Wire Lengths
Srinivas Bodapati (Univ. of Illinois)
Farid N. Najm (Univ. of Toronto)
SLIP 2000 Bodapati & Najm 2
Introduction
Interconnect represents an increasingly significant part of total circuit delay Longer interconnect is more significant
Interconnect is accurately known only after place/route This leads to timing closure problems Logic design is now coupled with physical design
Interconnect must be considered during: Floorplanning, synthesis, timing verification
We need to be able to predict the length of individual wires before layout, say during technology mapping
Traditional wire load models give only average load
SLIP 2000 Bodapati & Najm 3
Wire Load Models not Enough
(Source: Kapadia & Horowitz, DAC-99)
SLIP 2000 Bodapati & Najm 4
Previous Work
Previous work in this area: Pedram and Preas, ICCD-89
Average wire length for given pin-count Heineken and Maly, CICC-96
Wire-length distribution Hamada, Cheng, and Chau, TCAD 8/96
Average wire length for given pin-count Others …
Previous work has focused on aggregate metrics (average, distribution)
Given the spread in wire-length values, individual wire length estimation is required
SLIP 2000 Bodapati & Najm 5
Alternative
Traditional wireload models are failing: They only predict average net behavior They only predict wire capacitance, not length or
resistance Resistive shielding is important in DSM
We are developing wire length predictors (for individual wires or nets) that work at the netlist level, pre-layout
A black-box model is built using linear regression on a number of variables: Base-length, expressed a function of the pin-count of a net Various congestion metrics, expressed as functions of a
number of local and global primitive variables Technique verified using Cadence’s Silicon
Ensemble
SLIP 2000 Bodapati & Najm 6
Proposed Model Structure
General features of the model: Short wires (less than 70 um) are excluded, due to noise Mid-range wires are estimated via a regression model, built by
a one-time up-front characterization process Long wires (more than 7 pins) are handled via bounding box
method
SLIP 2000 Bodapati & Najm 7
Basic Parameters - Local
Local parameters capture significant attributes of individual nets and of the net neighborhood
The number of pins on a net (denoted Pnet) is known to affect net length:
0
200
400
600
800
1000
1200
1400
0 5 10 15 20 25 30 35 40
Number of Pins on a Net, Pnet
Ext
ract
ed W
ire
Len
gth
(u
m)
We use Pnet as a key local parameter
Other local parameters are defined based on the notion of a neighborhood
(data from the characterization set, table 4.1)
SLIP 2000 Bodapati & Najm 8
Neighborhood - First Level
The first level neighborhood (denoted Nh1(i) ) of a given net i is defined as: The set of all other nets connected to cells to
which this net is also connected
In this figure, Nh1(10) = { 6, 7, 9, 11, 8, 12, 13 }
SLIP 2000 Bodapati & Najm 9
Neighborhood - Second Level
The second level neighborhood (denoted Nh2(i) ) of a given net i is defined as: The union of all first level neighborhoods of
nets that are in the first level neighborhood of this net
In this figure, Nh2(10) = { 1, 2, 5, 11, 9, 14, 3, 4, 12, 13, 8, 15, 16 }
SLIP 2000 Bodapati & Najm 10
Neighborhood
The neighborhood of a net is defined as the union of its first and second level neighborhoods
The neighborhood of net 10 is shown:
With this, define other local parameters (k = 2, 3, 4,
5, 6) : Nknet is number of nets in the neighborhood that have k
pins
SLIP 2000 Bodapati & Najm 11
Basic Parameters - Global
Global parameters capture significant global attributes of the design: Number of cells in the design, Nc
For k = 2, 3, 4, 5, 6, number of k-pin nets in the design, Nkagg
This is also the number of gates with k-pin nets at their output
Average cell width in this design, Wavg
Other global parameters are specified as parameters to be used by the layout engine: Aspect ratio, R Row utilization factor, U
In our work, R = 1 and U = 85% were kept constant
SLIP 2000 Bodapati & Najm 12
Intermediate Variables
Intermediate variables are defined based on the basic parameters, and include: Base length, Lnbase
Congestion metrics, Pkcon, k = 2, 3, 4, 5, 6, and N2oth , N3oth
Base length is defined based on Pnet , as the average of: The net length if all cells on the net are placed in vertical
stack The net length if all cells on the net are placed in
horizontal row Thus:
where Hcell is the height of a cell (in our case 12.60 um)
SLIP 2000 Bodapati & Najm 13
Base Length is Important
0
100
200
300
400
500
600
700
800
900
1000
0 50 100 150 200 250 300
Lnbase (um)
Ext
ract
ed W
ire
Len
gth
(u
m)
(data from the characterization set, table 4.1, excluding short wires)
SLIP 2000 Bodapati & Najm 14
Low Pin-Count Nets Placed First
An observed key feature of Silicon Ensemble is that low pin-count nets (2, 3 pins) are placed first
Since these represent a large fraction of the total, this approach leads to a smaller overall net length
Consequences of this: 2 or 3 pin nets are placed very close together, because
very little else has been placed by then, hence limited relative placements
low pin-count nets are spread out on the layout surface irrespective of their impact on higher pin-count nets
low pin-count nets become the main obstacles to routing higher pin-count nets - they cause congestion
This motivates our definition of congestion metrics
SLIP 2000 Bodapati & Najm 15
Congestion Metrics
A high pin-count net would be long if: It has a large number of low pin-count nets in its
neighborhood These low pin-count nets are spread out over a large layout
area Focusing on 2-pin nets in the neighborhood, we
capture the above with the following 2-pin congestion metric:
The term on the right is a measure of the number of possible ways and locations of placing a 2-pin net
Likewise, we define P3con , P4con , P5con , and P6con
SLIP 2000 Bodapati & Najm 16
Net Length v.s. P2con
0
100
200
300
400
500
600
700
800
900
1000
0 50 100 150 200 250 300 350 400 450 500
P2con
Ext
ract
ed W
ire
Len
gth
(u
m)
(data from the characterization set, table 4.1, excluding short wires)
SLIP 2000 Bodapati & Najm 17
One more Congestion Metric
The above metrics capture congestion and spread due to low pin-count nets that belong to the neighborhood
Other low pin-count nets, that do not belong to the neighborhood, can also impact net length, if: A large number of them are placed in the same general
layout area that the net neighborhood will occupy These nets can become obstacles … they are in the way
For 2-pin nets, we capture this with the following:
Likewise, we define N3oth as the last congestion metric
SLIP 2000 Bodapati & Najm 18
Net Length v.s. N2oth
0
100
200
300
400
500
600
700
800
900
1000
0 20 40 60 80 100 120 140
N2oth
Ext
ract
ed W
ire
Len
gth
(u
m)
(data from the characterization set, table 4.1, excluding short wires)
SLIP 2000 Bodapati & Najm 19
The Polynomial Model
With all the above variables, we express net length as:
where f(.) is a polynomial template (quadratic or cubic is enough)
The polynomial coefficients are computed by linear regression, based on a set of benchmark circuits We call these the characterization circuits (see next slide)
The technique was then tested on a different set of circuits We call these the test circuits (shown later on)
Before showing the results, we will discuss the special case treatment for very short and very long wires
SLIP 2000 Bodapati & Najm 20
The Characterization Circuits
Circuit # Inputs # Outputs # Gates # Netsrandom8 8 1 158 280s1494 14 21 674 690s510 25 13 248 275s832 23 18 302 327
c1355 41 32 434 477s1196 31 24 559 592c6288 32 32 2274 2309c1908 33 25 411 446s820o 23 15 181 206s641o 52 28 116 170s298o 17 12 71 90
(ISCAS and MCNC benchmark circuits)
SLIP 2000 Bodapati & Najm 21
Special Case: Short Wires
Length of short wires (less than about 70 um) was found to be very sensitive to various insignificant parameters: Cell names, net names, order in which cells are
listed
0
10
20
30
40
50
60
70
0 10 20 30 40 50 60 70
Extracted Wire Length (um)
Ext
ract
ed W
ire
Leng
th (u
m)
The circuit is alu2o (368 gates, 380 nets)
All that was varied in this case was the cell names in the netlist
SLIP 2000 Bodapati & Najm 22
Special Case: Short Wires
This is probably due to the heuristic nature of the tools
This does not represent a problem with the P&R tool Total net length is typically used as an objective function Multiple layout solutions can have similar total net length
For purposes of individual net length estimation, these variations represent “noise,” which can be a problem The noise is there for longer wires as well, but is not as bad
(as we’ll see later); luckily, we are less concerned about short wires
Consequences: Estimation of short wires is practically impossible Individual wire length estimation cannot be done beyond a
certain accuracy level; this “noise floor” depends on the tool
SLIP 2000 Bodapati & Najm 23
Special Case: Long Wires
For nets with more than 7 pins, special case treatment was found to be required
Since these nets are routed “last”, then: Their placement options become restricted, and Their large neighborhoods are spread out
To handle these nets, we use a method based on the commonly used concept of a bounding box Box area is estimated from intermediate variables Box height is computed assuming each cell in
different row Use either result from Caldwell et al. or half-
perimeter as the estimate of net length
SLIP 2000 Bodapati & Najm 24
Experimental Results
Implementation: ISCAS, MCNC circuits were optimized and mapped
using SIS Place & route was done with Cadence’ Silicon
Ensemble Library:
102 cells 1.40 um (metal pitch) 4 metal layers cell height is 12.60 um core site width is 1.40 um
Characterization was done using the characterization circuits (shown previously)
Testing was done with the test circuits (see next slide)
SLIP 2000 Bodapati & Najm 25
The Test Circuits
Circuit # Inputs # Outputs # Gates # Netsalu2o 10 4 368 380
s1238o 31 22 331 364apex2o 135 85 775 912frg2o 142 109 451 595x3o 135 89 792 929
random10 10 1 487 499c1355 41 32 434 477c2670 157 64 425 579c5315 178 123 1009 1264s1494 14 21 674 690
(ISCAS and MCNC benchmark circuits)
SLIP 2000 Bodapati & Najm 26
Results and Noise
0
100
200
300
400
500
600
700
0 100 200 300 400 500 600 700
Estimated Wire Length (um)
Ext
ract
ed W
ire
Len
gth
(u
m)
alu2o0
100
200
300
400
500
600
700
0 100 200 300 400 500 600 700
Extracted Wire Length (um)
Ext
ract
ed W
ire
Len
gth
(u
m)
alu2o noise
0
100
200
300
400
500
600
700
0 100 200 300 400 500 600 700
Estimated Wire Length (um)
Ext
ract
ed W
ire
Len
gth
(u
m)
s1238o0
100
200
300
400
500
600
700
0 100 200 300 400 500 600 700
Extracted Wire Length (um)
Ext
ract
ed W
ire
Len
gth
(u
m)
s1238o noise
SLIP 2000 Bodapati & Najm 27
Results and Noise
0
100
200
300
400
500
600
700
800
900
0 100 200 300 400 500 600 700 800 900
Estimated Wire Length (um)
Ext
ract
ed W
ire
Len
gth
(u
m)
apex6o0
100
200
300
400
500
600
700
800
900
0 100 200 300 400 500 600 700 800 900
Extracted Wire Length (um)
Ext
ract
ed W
ire
Len
gth
(u
m)
apex6o noise
0
100
200
300
400
500
600
700
0 100 200 300 400 500 600 700
Estimated Wire Length (um)
Ext
ract
ed W
ire
Len
gth
(u
m)
frg2o0
100
200
300
400
500
600
700
0 100 200 300 400 500 600 700
Extracted Wire Length (um)
Ext
ract
ed W
ire
Len
gth
(u
m)
frg2o noise
SLIP 2000 Bodapati & Najm 28
Results and Noise
0
100
200
300
400
500
600
700
800
900
0 100 200 300 400 500 600 700 800 900
Estimated Wire Length (um)
Ext
ract
ed W
ire
Len
gth
(u
m)
x3o0
100
200
300
400
500
600
700
800
900
0 100 200 300 400 500 600 700 800 900
Extracted Wire Length (um)
Ext
ract
ed W
ire
Len
gth
(u
m)
x3o noise
0
100
200
300
400
500
600
700
800
0 100 200 300 400 500 600 700 800
Estimated Wire Length (um)
Extr
acte
d W
ire L
en
gth
(u
m)
0
100
200
300
400
500
600
700
800
0 100 200 300 400 500 600 700 800
Extracted Wire Length (um)
Extr
acte
d W
ire L
en
gth
(u
m)
random10 random10 noise
SLIP 2000 Bodapati & Najm 29
Long Wires - Results
0
200
400
600
800
1000
1200
1400
0 200 400 600 800 1000 1200 1400
Estimated Wire Length (um)
Ext
ract
ed W
ire
Len
gth
(u
m)
(data from all the test circuits)
SLIP 2000 Bodapati & Najm 30
Long Wires - Noise
0
200
400
600
800
1000
1200
1400
0 200 400 600 800 1000 1200 1400
Extracted Wire Length (um)
Ext
ract
ed W
ire
Len
gth
(u
m)
(data from all the test circuits)
SLIP 2000 Bodapati & Najm 31
Total Average Error
0
5
10
15
20
25
30
35
40
45
50
alu2o s1238o apex6o frg2o x3o random10 long wires
Ave
rag
e E
rro
r (%
)Estimation Error Noise Error
(long wires data is from all the test circuits)
SLIP 2000 Bodapati & Najm 32
Summary & Conclusion
Problem: Interconnect can no longer be ignored Wire load models are no longer good enough Need prediction of individual wire lengths before layout
Proposed solution: Black box model of net length based on various metrics
that are extracted from the netlist - regression on polynomial template
Short wires excluded - due to noise Long wires handled as special case - bounding box
approach Unavoidable noise is due to heuristics in P&R
tools Individual net length estimation is possible,
within the limits due to this noise