Optics and the CMOS Interconnection Problem A Systems and

Efficient Representation of
Interconnection Length Distributions
Using Generating Polynomials
D. Stroobandt (Ghent University)
H. Van Marck (Flanders Language Valley)
Supported by an IUAP research program on optical computing of the
Belgian Government and the Fund for Scientific Research, Flanders
April 8, 2000
SLIP 2000
--1--
Outline
• Enumerating interconnection length
distributions
• Advantages of generating polynomials
• Construction of generating polynomials
• Extraction of the distributions
• Examples
• Conclusions
April 8, 2000
SLIP 2000
--2--
Enumerating Interconnection Length
Distributions
• Distributions contain two parts:
site density function and probability distribution
all possibilities
requires enumeration
April 8, 2000
probability of occurrence
shorter wires more probable
SLIP 2000
--3--
Enumerating Interconnection Length
Distributions (cont.)
• Simple Manhattan grids: not so difficult
– just start counting
– more clever: use convolution
• But what with...?
– anisotropic grids
– partial grids
April 8, 2000
SLIP 2000
--4--
Generating Polynomials
• Site function (discrete distribution f(l))
describes, for each length l, the number of
pairs between all cells of a set A and a set B,
a distance l apart (enumeration problem)
• Two ways of reducing calculation effort:
– using generating polynomials
– using symmetry in the topology of the architecture
• Generating polynomial: moment-generating
polynomial function of f(l) (Z-transform)
lmax

V ( x)   f (l ) x l
l 0
April 8, 2000
SLIP 2000
--5--
Advantages of Generating Polynomials
• Efficient representation
– allows easy switching to path-based enumeration
V ( x)   x l ( p )
l(p)=8
p
– compact representation
as rational function
n
– example
A=B
n 1 n 1
V ( x)   x
i j
i 0 j 0
V ( x) 
2x
n 1
p
 nx  2 x  n
( x  1) 2
April 8, 2000
2
n

f (l )  2(n  l )
0

SLIP 2000
--6--
(l  0)
(0  l  n )
otherwise
Advantages (cont.)
• Easy to find relevant properties
– total number of paths
n
lmax
 f (l )  V (1)
A=B
l 0
– average length (also higher order moments)
l max
 lf (l )
l 0
l max

 dV ( x) 1 

 
dx V ( x)  x 1
f (l ) 
l 0
• Easy construction of complex polynomials
April 8, 2000
SLIP 2000
--7--
Construction of Polynomials
• Composition (adding and subtracting
polynomials)
n
A
n
A
B
B
|||
B
2n
A
n 1
n X
B
April 8, 2000
n
__
||
A
SLIP 2000
1  x n   2 xi
i 1
--8--
Construction of Polynomials (cont.)
• Convolution (multiplication of polynomials)
– composing paths from “base” paths
n
A
B
n
n
*
||
n
A
C

x( x  1)
x 1 
i

 x  x 
2
( x  1)
x 1 
 i 0
n
n
2
n 1
n
C D
April 8, 2000
n
n
*
SLIP 2000
2
n
D
B
--9--
Extraction of Distributions
• Construction of polynomials much easier
than construction of distributions but… how
to extract distributions from polynomials?
• Much simpler than general Z-transform
• Theorem
n i n  l  1

 l O( x i 1 )
xn
 x 
  
i
( x  1) l 0  i  1 
( x  1)i
• Quotient term important, remainder vanishes
 n  l  1
1 i 1

 
(n  l  j )

 i  1  (i  1)! j 1
• Note: summation bound to be chosen
between n-1 and n-i+1 without effect on result
April 8, 2000
SLIP 2000
--10--
Extraction of Distributions (cont.)
n i n  l  1

 l O( x i 1 )
xn
 x 
  
i
( x  1) l 0  i  1 
( x  1)i
• Simple substitution of terms by summation of
combinatorial functions (with few factors)

V ( x) 
k
j 0
ajx
bj
b j i
 b j  l  1 l
 V ( x)   a j  
 x
i 1 
j 0
l 0 
k
( x  1) i
 b j  l  1

f (l )   a j 
j 0
 i  1  0l b j i
k
• The different ranges of the distribution
naturally follow from this!
April 8, 2000
SLIP 2000
--11--
Examples
• Manhattan grid
n
– convolution of x, y parts
2 0
n
x
– subtract
– divide by 2
A=B
2 x 2 n 2  2nx n3  4 x n 2  2nx n1  O( x3 )
V ( x) 
( x  1) 4
– extraction = substituting
 2 n  2  l  1
 n  3  l  1


f (l )  2
 2n
4

1
4

1

 0l  2 n  2  2

 0  l  n  3 3
 n  2  l  1
 n  1  l  1


 4
 2n
4

1
4

1

 0l  n  2  2

 0l  n 11
April 8, 2000
SLIP 2000
A=B
 l ( 6 n 63nl l 1)
 ( 2 n l 1)( 2 nl )( 2 n l 1)
f (l )  
3
0

2
2
--12--
(0  l  n)
( n  l  2n)
otherwise
Examples (cont.)
• Complicated architectures
k
C
B
k
B
n
n
||
A
April 8, 2000
2 X
SLIP 2000
--13--
Examples (cont.)
C
E
B
n
n
C
||
C
k
k
+
n
F
April 8, 2000
SLIP 2000
--14--
Examples (cont.)
C
k
E
||
n
n
k
C
+
n
*
n
x
k
k
*
*
F
n
April 8, 2000
SLIP 2000
--15--
Examples (cont.)
C
k
E
n
+
||
C
n
k
*
x
k+1
1
F
April 8, 2000
SLIP 2000
--16--
Examples (cont.)
• Resulting generating polynomial:
( x n  1) 2 x k 2n1
n2
n 1
n
V ( x)  2
(
x

nx

4
x

nx
 3 x)
4
( x  1)
• Extraction by simple substitution and
calculation of the combinatorial functions:
0
(l  k  2)(l  k  1)(l  k )
 2
 3 (n  k  l  1)3n(n  k  l  1)  5(n  k  l )( n  k  l  2) 
  (l  k  2)(l  k  1)(l  k )
f (l )  
2(3n  k  l  1)n(3n  k  l  1)  (3n  k  l )(3n  k  l  2) 

  13 (4n  k  l )( 4n  k  l  1)( 4n  k  l  2)
 1 (4n  k  l )( 4n  k  l  1)( 4n  k  l  2)
3
0
April 8, 2000
SLIP 2000
(0  l  k  1)
(k  l  n  k  1)
(n  k  l  2n  k  1)
(2n  k  l  3n  k  1)
(3n  k  l  4n  k  1)
otherwise
--17--
Conclusions
• Generating polynomials make enumeration
easier
– more efficient representation (1 equation, not 5)
– easy to obtain characteristic parameters
– construction facilitated by using symmetry
(composition, convolution easy with polynomials)
– extraction by substitutions of terms, can be
automated by symbolic calculator tools!
• Same technique can be used for calculating
cell-to-I/O-pad lengths
• Enumeration viable for complex architectures
April 8, 2000
SLIP 2000
--18--