Title: Managing Interconnect Resources Embedded SLIP Tutorial
1Managing Interconnect ResourcesEmbedded SLIP
Tutorial
2Overview
2
- Performance model
- Netlists and signatures
- Partitioning and placement
- Rent exponents
- What do you want to model today?
3Performance modelRISC/CISC
3
Instructions per second (M)IPS
Lower CPI ? more complex CPU ? internal
parallelism, branch
prediction, cache CISC CPI
? 3, RISC CPIlt1
10 reduction in CPI ? 20-40 increase in circuit
count
Larger circuits have longer cycle times
4Performance model Logic
4
Pipelining
CL
CL
CL
5Performance model Electrical
5
Material, geometry, placement, routing, metal
layer dependent
Reasonable assumption for logic depth gt 10
RintL1
CintL1
Cg
RintLav/(tpn-1)
Rg
Rg
RintL2
CintL2
Cg
(tpn-1) x CintLav
RintL3
CintL3
Cg
(tpn-1) X Cg
Material, geometry, placement, routing, metal
layer dependent
6Performance model Elmore delay
6
Distributed elements
RintLav/(tpn -1)
Exact solution to problem in S-domain
Rg
But no known inverse Laplace Transform back to
time domain
First derivative
(tpn-1) x CintLav
?0-50
Voltage
(tpn -1) X Cg
Lumped elements
Time
?0-50 (tpn -1)RgCintLav (tpn -1) RgCg
0.5RintCintL2av RintCgLav
7Performance model Electrical optimization
7
Cycle time (logic depth) x ?0-50
0.5RintCintL2max
Lav
3
10
Benchmark netlist
2
10
Lmax
Lmax
Number
1
10
0
10
0
1
2
10
10
10
Length
8Performance model Interconnect optimization
8
Basic cycle time models provide insight into the
complex interactions which determine cycle
time. Modelling process can also be used to
optimise power dissipation in the interconnect
9Performance model Predictive capability
9
- How do we know if benchmark is good?
- Is geometry optimization sensitive to netlist
signature? - What if layout tools change?
- What if we wish to analyse performance of a
netlist that does not yet exist?
10Netlists and signaturesformats
10
Node list P1 N1 P2 N4 P3 N5 C0 N1 N2 C1 N1 N3 C2
N2 N3 N4 C3 N2 N3 N5
Net list N1 P1 C0 C1 N2 C0 C2 C3 N3 C1 C2 C3 N4
C2 P2 N5 P3C3
Net 2 has 3 terminals per net (tpn)
Cell 3 has 3 nets per cell (npc)
11Netlists and signaturesterminals per net (tpn)
11
12Netlists and signaturesNets per cell (npc)
12
ppone, 25-Feb-2000, ltnpcgt3.6115
ibm01, 25-Feb-2000, ltnpcgt4.0237
250
4000
3500
200
3000
2500
150
Number of nets
Number of nets
2000
100
1500
1000
50
500
0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Nets per cell (npc)
Nets per cell (npc)
13Netlists and signaturesTerminal counting
13
Example netlist 29-Feb-2000
6
5
4
Number of terminals
3
2
1
0
1
2
3
4
5
6
7
Number of cells
14Netlists and signaturesRents rule
14
If an additional ?C cells are added, what is the
increase in terminals ?T? In the absence of any
other information we might guess that
But this is an overestimate since many of these
?T terminals may already connect into larger red
structure and so do not contribute to the
total. We introduce a factor ? (0 lt ? lt1) which
indicates how self connected the netlist is
C
T
Or, if ?C, ?T are small compared with C and T
Which may be solved to yield
Statistically homogenous system
Where ltnpcgt is the average number of nets per
cell, and is generated as a constant of
integration
15Netlists and signaturesRent exponents
15
ibm01, 28-Feb-2000, lt?gt 0.85
5
10
Number of terminals
Number of cells
16Netlists and signaturesSynthetic netlists
16
- RMC (Random Mapped Circuit
- Darnauer and Dai
- Top-down recursive partitioning
- Allocation based on Rents rule
- CIRC and GEN
- Hutton, Rose, Grossman, and Corneil
- CIRC is an parameter profiler used as input for
GEN - Sequential circuits generated by gluing
combinational circuits - Not Rent-based
- GNL (Generate NetList)
- Stroobandt, Depreitere, and van Campenhout
- Bottom-up clustering approach
- allocation based on Rents rule
- Sequential circuits possible
- Signature invariant mutants
- Brgles
- Generated my mutation of real circuits
- mutation maintains wiring signature invariance
- Rents rule observed
- PartGen
- Pistorius, Legai, and Monoux
- Two-level hierarchical netlist generator
- first level selects from 4 standard circuits
- second level generates controller logic
- Random transformations
- Iwama, Hino, Kurokawa, and Sawada
- Starts with fixed input NAND gates
- Uses set of 12 transformations to generate any
k-NAND functionally equivalent circuit
17Netlists and signaturesAutomatic netlist
generation-GNL
17
- Number of logic blocks and number of
inputs/outputs specified by user - Logic blocks are paired and (pseudo)-random
connections made between blocks as determined by
Rents rule. - Constant ratio of internal to external
connections at each level
Generates a guaranteed Rent exponent and a
realistic tpn distribution
18Netlists and signaturesparameter independence
18
Recent paper shows lttpngt, ltnpcgt and lt?gt are not
independent
25
19Netlists and signaturesSummary
19
- lttpngt characterizes net fan-out
- ltnpcgt characterizes cell fan-out
- lt?gt is the Rent exponent whose meaning is open
for discussion. - These parameters may not be independent
- What happens when we embed the netlist into a
two-dimensional surface?
20Partitioning and placementSample calculation
20
ppone
ibm01
Partition-based placement Lav 4.5
Partition-based placement Lav 9.8
Minimum length placement Lav 5.5
Minimum length placement Lav 6.2
21Partitioning and placementEstimation of length
distribution function N(l)
21
-
-
C
B
C
C
TA?C
-
-
TAB
TBC
TB
TABC
B
B
B
C
C
B
B
A
B
B
C
C
Assumption net cannot connect A,B, and C
B
B
B
C
C
B
C
C
C
22Partitioning and placementConservation of
terminals
22
We now convert from the number of terminals to
the number of nets using lttpngt
Assumptions all nets have lttpngt terminals per
net all cells have ltnpcgt
nets per cell all terminals
in net lie in region A or C
23Partitioning and placementEmbedding process
(infinite 2D plane)
23
For cells placed in infinite 2D plane
24Partitioning and placementReality check
24
(1) All cells have ltnpcgt nets per cell (2) All
nets have lttpngt terminals per net (3) Net cannot
connect A,B, and C (4) All terminals of net lie
in region A or C
(2) is only consistent with (3) and (4) if lttpngt
2, then nA?C n(l) and represents the number
of 2-terminal nets of length l associated with a
single cell
For lttpngt gt 2, n(l) is internally inconsistent
25Partitioning and placementProbability function
(infinite 2D plane)
25
We note
And so we can write
Where r(l) is the probability that a cell has a
2-terminal net of length l.
26Partitioning and placementApproximate form for
r(l) (infinite 2D plane)
26
By expanding individual terms in r(l) as binomial
series we observe the underlying form
r?(l)
Where K is determined by the requirement that
r(l)
And so we may write
Riemann zeta function
27Partitioning and placementSite densities and
occupancies (infinite 2D plane)
27
In this context r(l) is interpreted as the
probability that a cell has a net of length l. We
factor it into two parts
where 4l is the number of available wire sites
per cell of length l and q(l) is the expectation
number of nets occupying that site. Since q(l)
can never be greater than 1, it may also be
interpreted as an occupation probability
28Partitioning and placementPlanar model A
28
Finite system, CtotL2, no edges, approximate
form for q?(l)
Assume q?(l) retains functional form from
infinite plane but now use site density function
for finite cyclic system and appropriate
normalization
29Partitioning and placementPlanar model B
29
L
Finite system, CtotL2, includes edge effects,
use q(l)
Assume q(l) retains functional form from infinite
plane but now use site density function Db(l) and
appropriate normalization
30Partitioning and placementPlanar model comparison
30
Ctot 1024 lttpngt 2 ltnpcgt 4 lt?gt 0.66
Model A
Model A Lav 4.53 Model B Lav 2.27
Model B
31Partitioning and placementHierarchical model C
31
L
h1
h2
L
h3
At level h there are 4(H-h) equivalent partitions
of side Lh2h
32Partitioning and placementRelationship between
Model B and C
32
Db(l)
Dc(l,h)
33Partitioning and placementIntra-layer model C
33
As before, within each level
where
Net distribution for system is given by sum over
hierarchies
Only remaining problem is to estimate number of
nets in each level, Nhtot
34Partitioning and placementInter-layer model C
34
Number of nets in each layer may be determined by
another application of Rents rule. Consider
single partition at level h
One group of 4h cells generate
nets
nets
Four groups of 4h-1 cells generate
Total number of nets in level h partition is
Since there are 4H-h equivalent partitions
35Partitioning and placementHierarchical model D
35
Essentially same as Model C but with no
intra-layer optimization. Then site occupancy
probability is independent of length and equal to
a constant, set q(l)K, which is determined by
normalization.
As before, within each level
where
Net distribution for system is given by sum over
hierarchies
36Partitioning and placementModel D average wire
length
36
Simpler mathematical form for Model D enables
rare analytical expressions
37Partitioning and placementHierarchical model
comparison
37
Ctot 1024 lttpngt 2 ltnpcgt 4 lt?gt 0.66
Model D
Model C Lav 2.05 Model D Lav 5.14
Model C
38Partitioning and placementPlanar and
hierarchical model comparison
38
Model A
Model D
Model B
Model C
Models B (planar) and C (hierarchical ) are
sometimes equivalent
39Rent exponentsTopology versus Geometry
39
The first use of the Rent exponent was to
estimate the distribution of m-pin nets
Topological Rent exponent, now written as pT
Topological Rent exponent inappropriate. Define
geometrical Rent exponent pG . Measure of
placement optimization, not an intrinsic netlist
property
But how do we estimate the geometrical Rent
exponent?
40Rent exponentsWiring cell analysis
40
Let us consider a simple two-level circuit,
optimized for placement
With reference to Nhtot from inter-layer model C
we note that
or
also
For the above example N1tot11, N2tot5 and lttpngt
2.0. Therefore pG 0.431 ltnpcgt122.0
41Rent exponentsDilation of wiring cell
41
Two level system
H level system
? is constant if pG is constant
42Rent exponentsMonte Carlo sampling
42
Therefore
and so
System defined if we know ? and ltnpcgt1
For the example wiring cell ?0.455 ltnpcgt11.375.
For a circuit of size Ctot106 (H9.966)
Known a priori
pG0.431 ltnpcgt 2.52
43Rent exponentsSampling applet
43
44Rent exponentsDilational filter
44
In calculating the Rent exponent we are only
interested in details which are dilationally
invariant.
q1
Let probability that a single cell is connected
to another cell at lowest level be q1
Probability of there being a majority of nets
within group of four cells is
Probability of connection between groups of four
cells at level 2 is
45Rent exponentsNon-linear functionality
45
? and ltnpcgt expressed parametrically in terms of
q1
46Rent exponentsTheory versus experiment
46
Majority rule Renormalization group
MBC algorithm 1024 cell netsists
MBC algorithm Monte Carlo Sampling
47What do you want to model today?Cycle time
47
- Layer assignment
- Optimal repeater insertion
- Optimal power dissipation
- Effects of placement
- Effects of wiring signature
48What do you want to model today?Wiring Signatures
48
What are sufficient parameters to characterize
netlists
lttpngt, ltnpcgt, and pT are not independent
49What do you want to model today?Universal
placement model
49
50What do you want to model today?Rent exponents
50
51What do you want to model today?Heterogeneous
systems
51
Object oriented approach to system-on-a-chip
integration
Extremely difficult to predict interconnect
resources required to implement global wiring
between inhomogeneous system blocks
Global nets require different modeling techniques